分页: 1 / 1
查找包含特定字符的文件,并删除该行。这个命令怎么写,找到了,不知道怎么删。[内详]
发表于 : 2009-01-20 23:54
由 sk1418
比如:
可以用find |xargs grep找到某目录下包含 “#ubuntu forum"的所有文件,下面我要从这些找到的文件中删除包含这个字串的行。查了一下 sed 可以删除行,但是保存不了文件。另外不知道怎么让FIND和SED一起用,哪位给提个醒,怎么整?谢谢了。
Re: 查找包含特定字符的文件,并删除该行。这个命令怎么写,找到了,不知道怎么删。[内详]
发表于 : 2009-01-21 6:43
由 roylez
sed -i -e '/<pattern>/d' <file>
-i 就是inplace的意思
Re: 查找包含特定字符的文件,并删除该行。这个命令怎么写,找到了,不知道怎么删。[内详]
发表于 : 2009-01-21 16:20
由 sk1418
谢谢roylez,昨天晚上我也找到了这个-i, 但是现在我不太知道如何把查到的文件传给sed 比如
find -type f | xargs grep "theStringIneed"
这样可以找到所有文件. 用sed -i "theStringIneed" 可以删除行,怎么把那些文件都传给SED呢?一行命令能解决么? 是不是find | xargs grep | 然后cut 出文件名再sed? 还是应该怎么着弄?
还请给指点一下。
谢谢。
Re: 查找包含特定字符的文件,并删除该行。这个命令怎么写,找到了,不知道怎么删。[内详]
发表于 : 2009-01-21 16:29
由 sk1418
刚才测试了一下,find,grep,cut, sed可以实现:
$ find -type f|xargs grep "theString I need"|cut -d: -f1 |xargs sed -i "/theStringIneed/d"
是不是有更好办法呢?觉得这个办法有点笨。请知道的朋友再指点一下在下。谢谢
Re: 查找包含特定字符的文件,并删除该行。这个命令怎么写,找到了,不知道怎么删。[内详]
发表于 : 2009-01-21 16:53
由 roylez
sk1418 写了:刚才测试了一下,find,grep,cut, sed可以实现:
$ find -type f|xargs grep "theString I need"|cut -d: -f1 |xargs sed -i "/theStringIneed/d"
是不是有更好办法呢?觉得这个办法有点笨。请知道的朋友再指点一下在下。谢谢
grep 可以 -r
grep -r . "theString I need"|cut -d: -f1 |uniq|xargs sed -i "/theStringIneed/d"
Re: 查找包含特定字符的文件,并删除该行。这个命令怎么写,找到了,不知道怎么删。[内详]
发表于 : 2009-01-21 17:04
由 sk1418
的确阿,如果按照文件类型来find,这个find是有点多余。看来find和grep搭配的时候应该提前动个脑筋哈。
不过没有find,这个 uniq就必要了。
谢谢你。
另外问句闲玩儿的,你的头像是朝鲜人民的领袖金正日么?
Re: 查找包含特定字符的文件,并删除该行。这个命令怎么写,找到了,不知道怎么删。[内详]
发表于 : 2009-01-21 19:10
由 roylez
对,大家都叫我“金主席”

Re: 查找包含特定字符的文件,并删除该行。这个命令怎么写,找到了,不知道怎么删。[内详]
发表于 : 2009-01-21 21:42
由 eexpress
for i in *; do sed -i xxxx; done
打倒金。居然得意了。
Re: 查找包含特定字符的文件,并删除该行。这个命令怎么写,找到了,不知道怎么删。[内详]
发表于 : 2009-01-22 4:39
由 sk1418
eexpress, 能说详细点么? 我觉得也能用循环,但是不知道咋整。
谢谢。