需要使用pssh
替换多个主机上特定文件中的一行:
该文件位于a/b/c.txt
并且已加入
myPackage /version/21 install
我需要用
替换这一行myPackage /version/22 install
答案 0 :(得分:1)
使用流编辑器sed
。 -i
会将内容替换回文件:
$ cat test.txt
blah blah blah blah blah myPackage /version/21 install blah blah blah
blah blah myPackage /version/21 install
myPackage /version/21 install blah blah
myPackage /version/21 install
$ sed -i "s/21 install/22 install/" test.txt
$ cat test.txt
blah blah blah blah blah myPackage /version/22 install blah blah blah
blah blah myPackage /version/22 install
myPackage /version/22 install blah blah
myPackage /version/22 install
答案 1 :(得分:-1)
如果所有计算机上的文件都相同,则只需按下文件的更正副本即可。
类似的东西:
for h in $(<hosts); do
scp c-updated.txt $h:a/b/c.txt
done