Вы забыли использовать -i
опцию редактирования места в -sed
. Поскольку sed — это stream editor
, он не будет вносить никаких изменений во ввод. Вам нужно явно приложить усилия, чтобы переместить выходной файл обратно во входной или использовать опцию -i, если она доступна:
#!/bin/bash
sed -i '' -e '/pattern/a\
add one line\
\\and one more' \
infile