Как найти первое появление дублирования и преобразовать это в текст - PullRequest
0 голосов
/ 05 октября 2018

Мой файл сценария имеет следующее содержимое:

grep -i apple basket.*
grep -i apple basket.*
grep -i lion zoo.*
grep -i lion zoo.*

Вместо этого я хотел бы иметь следующее содержимое:

echo "Finding apple in basket.*"
grep -i apple basket.*
echo "Finding lion in zoo.*"
grep -i lion zoo.*

По сути, я хотел бы найти дублирование в моемфайл сценария, перехватите первое вхождение дублирования и преобразуйте только это первое вхождение в текст.

Возможно ли это, и если да, то как мне этого добиться?

1 Ответ

0 голосов
/ 05 октября 2018

С GNU sed:

sed -E 's/grep -i //; s/(.*) (.*)/echo "Finding \1 in \2"/; N' file

или

sed -E 's/grep -i (.*) (.*)/echo "Finding \1 in \2"/; N' file

N: добавить следующую строку ввода в пространство образца

Выход:

echo "Finding apple in basket.*"
grep -i apple basket.*
echo "Finding lion in zoo.*"
grep -i lion zoo.*
...