博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

greendays

   greendays.cublog.cn
关于作者  


我的分类  




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



您对本贴的看法:鲜花[0] 臭蛋[0]
ly5066113   帅哥 (Tim)
法师


CU奥运火炬传递手2008
CU编号: 465018
注册:2006-9-13
最后登录: 2009-04-30
帖子:5080
精华:0

可用积分:24088 (巨富豪门)
信誉积分:120
专家积分:567 (本版:516)
空间积分:0
推广积分:132

来自:长春
状态:...在线...

[个人空间] [短信] [博客]


2楼 发表于 2009-4-27 16:58 
回复 #1 mjykyo 的帖子

grep -o '.*clean' tmp.txt



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

记住该记住的,忘记该忘记的。改变能改变的,接受不能改变的。
mjykyo
新手




CU编号: 456583
注册:2006-8-21
最后登录: 2009-04-28
帖子:5
精华:0

可用积分:8 (白手起家)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


3楼 发表于 2009-4-27 17:06 


QUOTE:
原帖由 ly5066113 于 2009-4-27 16:58 发表
grep -o '.*clean' tmp.txt

我执行了下,报错。看来我这边grep没有o这个参数啊
zjtesta-aibps%grep -o '.*clean' tmp1.txt
grep: illegal option -- o
usage: grep [-E|-F] [-c|-l|-q] [-bhinsvx] -e pattern_list...
        [-f pattern_file...] [file...]
usage: grep [-E|-F] [-c|-l|-q] [-bhinsvx] [-e pattern_list...]
        -f pattern_file... [file...]
usage: grep [-E|-F] [-c|-l|-q] [-bhinsvx] pattern [file...]



您对本贴的看法:鲜花[0] 臭蛋[0]
ly5066113   帅哥 (Tim)
法师


CU奥运火炬传递手2008
CU编号: 465018
注册:2006-9-13
最后登录: 2009-04-30
帖子:5080
精华:0

可用积分:24088 (巨富豪门)
信誉积分:120
专家积分:567 (本版:516)
空间积分:0
推广积分:132

来自:长春
状态:...在线...

[个人空间] [短信] [博客]


4楼 发表于 2009-4-27 17:12 
回复 #3 mjykyo 的帖子

sed 's/\(.*clean\).*/\1/' urfile
awk -F 'clean' '{print $1""FS}' urfile

方法太多,选择一个你能用的吧。



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

记住该记住的,忘记该忘记的。改变能改变的,接受不能改变的。
mjykyo
新手




CU编号: 456583
注册:2006-8-21
最后登录: 2009-04-28
帖子:5
精华:0

可用积分:8 (白手起家)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


5楼 发表于 2009-4-27 17:20 


QUOTE:
原帖由 ly5066113 于 2009-4-27 17:12 发表
sed 's/\(.*clean\).*/\1/' urfile
awk -F 'clean' '{print $1""FS}' urfile

方法太多,选择一个你能用的吧。

嗯可以用了 3q



您对本贴的看法:鲜花[0] 臭蛋[0]

 发表于: 2009-04-30,修改于: 2009-04-30 14:18 已浏览617次,有评论0条 推荐 投诉

  网友评论

  发表评论



Copyright © 2001-2010 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们
页面生成时间:0.02054

京ICP证041476号