我有一个看起来像这样的文件:
MYFILE
Hello World
Hello World
Hello World
Hello
Hello
Hello World
Hello World
我想要做的是找到并替换文件中任何一行,其中只有单词“Hello”,字符串为“Hello World”,保持间距与文件中已有的相同(假设为10)字符宽度从H到W)。
到目前为止我所拥有的:
perl -pi -e 's/Hello/Hello World/' myFile
我知道我没有走远,但我已经谷歌搜索了很长一段时间,无法弄清楚我需要做什么..
非常感谢任何帮助!!谢谢!
答案 0 :(得分:3)
perl -i -pe '$t=$1 and next if /Hello(\s+)World/; s/Hello\K/${t}World/' myFile
答案 1 :(得分:1)
您必须指定字符串在“Hello”之后结束:
perl -pi -e 's/Hello$/Hello World/' myFile