我正在尝试以下
grep 178 * | sed 's/178/179/g'
Results:
ifcfg-bond0:IPADDR=10.30.10.179
ifcfg-bond1:IPADDR=10.30.8.179
rule-bond0:from 10.30.10.179 table sip
但是,当我尝试将-i选项传递给sed以永久更改时,我得到以下内容。
grep 178 * | sed -i 's/178/179/g'
sed: no input files
有什么想法吗?
答案 0 :(得分:5)
这就是我开始工作的方式! :)
grep -rl 178 ../network/ | xargs sed -i 's/178/179/g'
答案 1 :(得分:2)
如何避免使用
的叉子/管道 sed -i 's/178/179/g' *
不包含178的文件不会受到影响。
你问题中的原文无法正常工作,因为-i
替换了文件,但是你通过stdin管道数据(就地替换就没有意义了) )。