+ -
当前位置:首页 → 问答吧 → 正则表达式拆分文本问题

正则表达式拆分文本问题

时间:2011-06-27

来源:互联网

有一套习题集,MS Word文档,现保存为文本,想用regexp去区分单选,判断,和多选题目并分别存储于三个文件中。

2.(单选)1996年财政部为了规范企业会计电算化专门制定了(     )。
A 、《会计电算化管理办法》                B 、《会计电算化工作规范》   
C 、《商品化会计核算软件评审规则》        D 、《会计核算软件基本功能规范》
3.(判断)我国会计电算化的管理体制是:财政部管理全国的会计电算化工作,地方各级财政部门管理本行政区域的会计电算化工作。(    )
4.(判断)会计电算化注重会计信息的处理,会计信息化则注重会计信息的共享和深度利用,二者没有区别。(     )
5.(单选)国外把利用电子数据系统的会计,称为电子数据处理会计,简称(     )
A、DSS     B、 EDP     C、 ERP     D、 MIS
6.(多选)下列有关通用会计核算软件特点的说法中正确的有(        )。  
A、通用性强    B、功能全面    C、需要初始化处     D、软件质量高

.。。。。

作者: kelvin   发布时间: 2011-06-27

有人帮的上忙吗,答应了明天搞定,60几版呢,人肉分类会死的。

作者: kelvin   发布时间: 2011-06-28

回复 kelvin


    try:
  1. awk -F'[()]' /^[0-9]/{a=$2}{print >a".txt"}' urfile
复制代码
没有中文环境,试试行不?

作者: yinyuemi   发布时间: 2011-06-28

选项也要包在里面,你这句应该不行,我也没有环境,正则装Cygwin。
谢谢

作者: kelvin   发布时间: 2011-06-28



QUOTE:
选项也要包在里面,你这句应该不行,我也没有环境,正则装Cygwin。
谢谢
kelvin 发表于 2011-06-28 00:11




    你没测试吧?
  1. echo '1 abc
  2. dbe
  3. 2 deg
  4. de
  5. 3 ceg
  6. de' |awk '/[0-9]/{a=$1}{print >a".s"}'
  7. [sorcerer@sorcerer-blade1 t]$ head *.s
  8. ==> 1.s <==
  9. 1 abc
  10. dbe

  11. ==> 2.s <==
  12. 2 deg
  13. de

  14. ==> 3.s <==
  15. 3 ceg
  16. de
复制代码

作者: yinyuemi   发布时间: 2011-06-28

块装完了,好几年不写script了
该忘的忘了,不该忘的也忘了

作者: kelvin   发布时间: 2011-06-28

回复 yinyuemi

    学习了。如果还需要分出选项(单选、多选)冒昧修改下
  1. awk -F'[()]' '$2{a=$2}{print >a".txt"}' urfile
复制代码

作者: lionfun   发布时间: 2011-06-28



QUOTE:
回复  kelvin


    try:没有中文环境,试试行不?
yinyuemi 发表于 2011-06-28 00:03




    为啥printf  后面用<,而不是用》,追加呢

作者: qpengf   发布时间: 2011-06-28

awk '/[0-9]/{a=$1}{print <a".txt"}' aa.txt
语法错误 源行是 1。
出错上下文是
                /[0-9]/{a=$1}{print >>>  < <<< a".txt"}
awk: 语句不能被正确分析。
源行是 1。

我仿照上面脚本执行怎么报错呀

作者: qpengf   发布时间: 2011-06-28

回复 qpengf


    如果是输出结果到一个新的文件,用>和>>都行,如果是已经存在一个文件,才用>>追加

用nawk试试,或 {print $0 > a".txt"}

作者: yinyuemi   发布时间: 2011-06-28