1

我有一个看起来像这样的文件:

我的文件

Hello     World
Hello     World
Hello     World
Hello
Hello
Hello     World
Hello     World

我想要做的是用字符串“Hello World”查找并替换文件中只有单词“Hello”的任何行,保持间距与文件中已有的相同(假设10个字符宽度从H 到 W)。

到目前为止我所拥有的:

perl -pi -e 's/Hello/Hello World/' myFile

我知道我没有走远,但我已经在谷歌上搜索了很长一段时间,但不知道我需要做什么..

任何帮助是极大的赞赏!!谢谢!!

4

2 回答 2

3
perl -i -pe '$t=$1 and next if /Hello(\s+)World/; s/Hello\K/${t}World/' myFile
于 2013-12-04T12:29:21.140 回答
1

您必须指定字符串在“Hello”之后结束:

perl -pi -e 's/Hello$/Hello          World/' myFile
于 2013-12-04T12:28:46.527 回答