Альтернатива Сед:
$ curl -s 'https://raw.githubusercontent.com/gevasiliou/PythonTests/master/test.xml' |tac |sed -n '/<building>/{s/<.[^>]*>//g;p;q}'
success
sed -e '1s/^/z(A) /' -e '1s/$/ OW HW1 HW2/' < input > output
1
— первая строка, s
— замена, ^
— начало -строки -, $
— конец -строки -.
awk 'NR==1{print "z(A) " $0 " OW HW1 HW2"; next}1'
или
awk 'NR==1{printf "z(A) %s OW HW1 HW2\n", $0; next}1'
или
awk 'NR==1{$0="z(A) " $0 " OW HW1 HW2"}1'
Если вы хотите сохранить тот же файл, попробуйте:
printf '%s' 'Z(A) ' "$(<infile)" 'OW HW1 HW2' >infile
Попробуйте это:
$ sed '1{s/^.*$/Z(A) & OW HW1 HW2/}' input > output
Вы также можете использовать редактор сценариев ed
!
printf '%s\n' '1s/^/z(A) /' '1s/$/ OW HW1 HW2/' 'wq' | ed -s filename
Это печатает следующие три команды, разделенные новой строкой -, для ed
, которых мы просим молча отредактировать данныйfilename
:
1s/^/z(A) /
--как и в ответах sed
, в строке 1 замените начало строки текстом z(A)
. 1s/$/ OW HW1 HW2/
--как и в ответах sed
, в строке 1 замените конец строки текстом OW HW1 HW2
. wq
--записать измененный файл обратно на диск и выйти