Добавить текст в файл - PullRequest
       1

Добавить текст в файл

4 голосов
/ 01 марта 2011

Я использовал команду awk для поиска определенной строки в файле и хотел бы добавить это во второй файл. Может ли кто-нибудь помочь мне в этом отношении?

Ответы [ 4 ]

11 голосов
/ 01 марта 2011

Короткий ответ: ты не можешь. Вам понадобится временный файл.

echo "Prepended Line" > tmpfile && cat origfile >> tmpfile && mv tmpfile origfile

Edit:

sed -i 's/\(line you want\)/Prefix \1/g' origfile
0 голосов
/ 02 февраля 2015

Различные способы добавления строки:

(echo 'line to prepend';cat file)|sponge file
sed -i '1iline to prepend' file # GNU
sed -i '' $'1i\\\nline to prepend\n' file # BSD
printf %s\\n 0a 'line to prepend' . w|ed -s file
perl -pi -e 'print"line to prepend\n"if$.==1' file

Различные способы добавления файла:

cat file_to_prepend file|sponge file
{ rm file;cat file_to_prepend ->file; }<file
sed -i '1{h;s/.*/cat file_to_prepend/ep;g}' file # GNU
printf %s\\n '0r file_to_prepend' w|ed -s file
sed -i -e 1rfile_to_prepend -e '1{h;d}' -e '2{x;G}' file
0 голосов
/ 01 марта 2011
awk '{if(NR==1){print "text" $0}else{print }}' O/Pfile temp 
mv temp O/Pfile
0 голосов
/ 01 марта 2011

Я бы cat(1) строка в фиктивный файл, cat второй файл после него, а затем переписать второй файл с фиктивной.Посмотрите на команду sponge(1), которая позволяет вам делать «естественный» (но неверный) awk ... | cat - second-file > second-file

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...