寻觅生命中的那一片浅草......

每日存档 九月 20th, 2009

shell删除文本中每行特定字符串到行尾

文本文件tmp.txt中含有一下内容
cd $AICBS22/vgroup/busivpmn/server/atmi/;gmake -f Makefile.test clean;gmake -f Makefile.test
cd $AICBS22/vgroup/busivpmn/server/atmi/test/source/;gmake -f Makefile clean;gmake -f Makefile
cd $AICBS22/vgroup/busivpmn/server/mgr/;gmake -f Makefile clean;gmake -f Makefile
cd $AICBS22/vgroup/busivpmn/server/mgr/;gmake -f Makefile.mml clean;gmake -f Makefile.mml
cd $AICBS22/vgroup/busivpmn/server/mgr/;gmake -f Makefile.res clean;gmake -f Makefile.res
cd $AICBS22/vgroup/busivpmn/server/pmgr/;gmake -f Makefile clean;gmake -f Makefile
cd $AICBS22/vgroup/busivpmn/server/pmgr/;gmake -f Makefile.intf clean;gmake -f Makefile.intf
cd $AICBS22/vgroup/busivpmn/server/releaseVpmnPhone/;gmake -f Makefile clean;gmake -f Makefile
cd $AICBS22/vgroup/busivpmn/server/svr/;gmake -f Makefile clean;gmake -f Makefile
cd $AICBS22/vgroup/busivpmn/server/svr/;gmake -f Makefile.svr1 clean;gmake -f Makefile.svr1
cd $AICBS22/vgroup/busivpmn/server/syncvnextprod/;gmake -f Makefile clean;gmake -f Makefile
cd $AICBS22/vgroup/busivpmn/server/vpmnAsyncNextProd/;gmake -f Makefile clean;gmake -f Makefile
请各位老大看看这么写个shell。可以将每行中字符串clean后面的内容都去掉。
最后结果变为
cd $AICBS22/vgroup/busivpmn/server/atmi/;gmake -f Makefile.test clean
。。。
省略
。。。
cd $AICBS22/vgroup/busivpmn/server/vpmnAsyncNextProd/;gmake -f Makefile clean

解决
1、
grep -o ‘.*clean’ tmp.txt
2、
sed ‘s/\(.*clean\).*/\1/’ urfile

3、
awk -F ‘clean’ ‘{print $1″”FS}’ urfile

来自:http://blog.chinaunix.net/u2/72759/showart_1915246.html

2009年九月
« 8月   10月 »
 123456
78910111213
14151617181920
21222324252627
282930