hiipm 发表于 2006-2-9 13:31:06

shell编程难题求解

是我工作中遇到的一个问题,大体意思是我有一个文本文件,当某行纪录以某字符串(例如“abcde”)开头的行,我就将这行文字删除,并在这行所在位置插入另外的内容,请各位想想用什么办法解决?用AWK或SED能做吗?

zhy2111314 发表于 2006-2-9 14:07:56

可以的
用sed就可以了,就是 搜索以“adcde”开头的行,然后把这行替换就可以了,试试这个:

$cat file.txt|sed '/^abcde/s/.*/插入你要的内容/g'

hiipm 发表于 2006-2-9 14:53:55

:-D 感谢感谢

hiipm 发表于 2006-2-9 14:58:03

那我要是想将更改后的输出到一个文件怎么做呢?

hiipm 发表于 2006-2-9 15:03:04

输出的问题已经解决了,谢谢!

zhy2111314 发表于 2006-2-9 15:03:44

后面重定向就可以了

$cat file.txt|sed '/^abcde/s/.*/插入你要的内容/g' > filenew.txt

hiipm 发表于 2006-2-9 15:15:18

还有问题。。。我要在‘要插入的内容’处进行一些判断,要使用IF 。。ELSE,WHILE等语句,怎么才能在/。。。。/之间使用这些语句呢?望指教

zhy2111314 发表于 2006-2-12 18:00:42

awk可以
页: [1]
查看完整版本: shell编程难题求解