Я пытаюсь использовать команду r (read, чтобы добавить содержимое data2 к данным. Я хочу добавить содержимое после строки, содержащей «два». Я хочу удалить строку, содержащую «два».
Но я врезался в кирпичную стену. Это похоже на ошибку, но, возможно, это просто моя собственная глупость.
Хорошо, эта команда работает.
% sed -r '/two/ r /tmp/data2' < /tmp/data
one
two
five
six
seven
three
four
Сед кажется немного финики про пространства .. Не понятно почему, но я буду жить с этим.
% sed -r '/two/ r /tmp/data2 ' < /tmp/data
one
two
three
four
Моя цель - запустить (d) delete после команды read, чтобы удалить исходную строку. Это насколько я понимаю.
% sed -r '/two/{ r /tmp/data2}' < /tmp/data
sed: -e expression #1, char 0: unmatched `{'
Я почти уверен, что '{' подбирается, это не самая длинная команда в мире.
Что я на самом деле хочу запустить ...
% sed -r '/two/{ r /tmp/data2; d }' < /tmp/data
Система Ubuntu 12. ГНУ САС.