【发布时间】:2013-11-13 12:10:00
【问题描述】:
我想从文件中搜索一个词,而不是代表该搜索我想替换该文件中的一个词。 下面是文件中需要搜索和替换的内容(这是.csv文件)让文件名是test.csv-:
A,B,C,D,E
unix,123,crap,as,d
dpk,123,crap,as,d
shy,123,crap,as,d
ghn,123,crap,as,d
unnix,123,crap,as,d
下面是我正在使用的命令-:
grep -rl 'unix' test.csv | xargs sed -i 's/crap/linux/1'
这个命令的输出-:
A,B,C,D,E
unix,123,linux,as,d
dpk,123,linux,as,d
shy,123,linux,as,d
ghn,123,linux,as,d
unnix,123,linux,as,d
但我希望 sed 应该替换包含 unix 的行中的单词 crap 而不是整个文件。请在这方面提供帮助。 或者我还有其他方法可以做到这一点。 我想要的输出-:
A,B,C,D,E
unix,123,linux,as,d
dpk,123,crap,as,d
shy,123,crap,as,d
ghn,123,crap,as,d
unnix,123,crap,as,d
【问题讨论】:
-
unix必须在行首吗? -
我猜它不会对阿布产生任何影响
-
这很重要,因为如果我知道目标单词的位置,它可以简化将替换它的正则表达式。