Как добавить необходимый текст в начало или конец строки

Иногда необходимо дописать в файл информацию во все строки или только в определенные. Это шпаргалка поможет.

Если необходимо добавить какой-то текст или символ в начало каждой строки файла (file) воспользуйтесь следующими командами:

# sed 's/^/ДОБАВЛЯЕМЫЙ ТЕКCТ/' file

или

# awk '{print "ДОБАВЛЯЕМЫЙ ТЕКCТ"$0}' file

Если необходимо добавить какой-то текст или символ в конец каждой строки файла (file) воспользуйтесь следующими командами:

# sed 's/$/ДОБАВЛЯЕМЫЙ ТЕКCТ/' file

или

# awk '{print $0"ДОБАВЛЯЕМЫЙ ТЕКCТ"}' file

Если необходимо добавить информацию в начало и конец каждой строки файла (file) воспользуйтесь следующими командами:

# sed 's/.*/ТЕКСТ НАЧАЛА СТРОКИ&ТЕКCТ КОНЦА СТРОКИ/' file

или

# awk '{print "ТЕКСТ НАЧАЛА СТРОКИ"$0"ТЕКCТ КОНЦА СТРОКИ"}' file

Если необходимо добавить текст в конец строк файла имеющих в тексте, например, «deb».

# grep -F "deb" file | sed -ie 's/$/& ДОБАВЛЯЕМЫЙ ТЕКCТ/g'

Если надо добавить текст в строки файла, начинающиеся с deb, с помощью sed :

# sed -ie 's/^deb.*$/& ДОБАВЛЯЕМЫЙ ТЕКCТ/g' file

Можно сделать с использованием awk :

# awk '/^deb/{print $0, "ДОБАВЛЯЕМЫЙ ТЕКCТ"}' file > newfile && mv newfile file

Если вы хотите использовать скрипт с вызовом переменной, то синтаксис может быть немного другим:

var="deb"
grep -F "$var" file | sed -ie 's/$/& ДОБАВЛЯЕМЫЙ ТЕКCТ/g'
sed -ie "s/^$var.*$/& ДОБАВЛЯЕМЫЙ ТЕКCТ/g" file
awk '/^'$var'/{print $0,"ДОБАВЛЯЕМЫЙ ТЕКCТ"}' file > newfile && mv newfile file