( sed -e '/foo/d' -e '/bar/d' data.in; cat <<END
foo
bar
END
) >data.out
Удалите ненужные строки с помощью sed
, затем просто добавьте нужные конечные строки с помощью cat
и выведите в новый файл.
В качестве альтернативы можно использовать printf
вместо cat
:
( sed -e '/foo/d' -e '/bar/d' data.in; printf 'foo\nbar\n' ) >data.out
Или, в два этапа,
sed -e '/foo/d' -e '/bar/d' data.in >data.out
printf 'foo\nbar\n' >>data.out
Это дает преимущество в виде ясности и простоты обслуживания.