LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 648|回复: 5

求助大家一个棘手的问题

[复制链接]
发表于 2005-6-2 11:38:18 | 显示全部楼层 |阅读模式
又来麻烦大家了,真不好意思:)
我有一个文件,格式是:
LINE
XXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX
LINE
XXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXX
LINE
。。。
就是说文件以“LINE”为分隔,现在我想分别提取文件中的每段内容,请问有没有什么好的办法,用AWK?请大家帮助。另外我的编程环境不能使用PERL,所以请大家指教用SHELL的办法解决!
发表于 2005-6-2 13:00:10 | 显示全部楼层
把RS,ORS设定成LINE
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-2 14:40:45 | 显示全部楼层
能够讲详细一点么,有点不太懂,RS和ORS是什么意思?
回复 支持 反对

使用道具 举报

发表于 2005-6-2 16:33:10 | 显示全部楼层
:ask
回复 支持 反对

使用道具 举报

发表于 2005-6-2 16:33:22 | 显示全部楼层
:beat
回复 支持 反对

使用道具 举报

发表于 2005-6-2 16:33:34 | 显示全部楼层
呵呵,刚学
见笑了

[PHP]
#!/bin/sh
rm -f *.out
LINES=`cat test | wc -l`
LINES1=`cat test | sed -n '/LINE/='`
A=($LINES1)
LINES2=`cat test | sed -n '/LINE/=' | wc -l`
LINES3=${A[`expr $LINES2 - 1`]}
I=0
while [ $I -lt $LINES2 ]
  do
  j=`expr $I + 1`
  s=`expr ${A[$I]} + 1`
  e=`expr ${A[$j]} - 1`
  if [ $s -ne $LINES ]
  then
  echo `sed -n ''"$s"','"$e"'p' test` > $I.out
  fi
  I=$(( $I + 1 ))
done

[/PHP]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表