Найти и заменить форматированной строкой в perl
У меня есть файл, который выглядит так:
мой файл
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
Я знаю, что далеко не ушел, но я уже давно гуглю это и не могу понять, что мне нужно делать...
Любая помощь с благодарностью! Спасибо!!
2 ответа
perl -i -pe '$t=$1 and next if /Hello(\s+)World/; s/Hello\K/${t}World/' myFile
Вы должны указать, что строка заканчивается после "Hello":
perl -pi -e 's/Hello$/Hello World/' myFile