Как добавить / (вставить строку) в файл с произвольными номерами строк к нескольким файлам в каталоге? - PullRequest
1 голос
/ 04 июня 2010

Добавление может быть выполнено с помощью команды tee.

cat file | tee -a >> *

Есть ли способ сделать prepend / вставку? Спасибо.

Ответы [ 2 ]

2 голосов
/ 04 июня 2010

Использование sed может помочь

пример:

sed -i.bak '3 r tmp1.txt' settings.xml 

добавит содержимое tmp1.txt после строки 3 в settings.xml (и создаст файл резервной копии с расширением .bak)

0 голосов
/ 04 августа 2011

Просто краткий пример: скажем, закомментируйте определенные / определенные / произвольные строки C:

$ echo -e "1\n2\n3\n4\n5\n6\n" | sed "3s,^,/* ,;5s,$, */,"
1
2
/* 3
4
5 */
6

Примечание:

  • single sed следует формату "${linenum}s/${search}/${replace}/"
  • тогда две команды могут быть разделены точкой с запятой ';'
  • с использованием запятой ',' в качестве разделителя, для облегчения чтения s///
  • Каретка '^' соответствует началу строки; доллар '$' соответствует концу строки; s/// заменит только этих (мета?) "символов"

Конечно, тогда это следует изменить с помощью переключателя -i на sed, чтобы в конечном итоге заменить содержимое файла.

Ура!

РЕДАКТИРОВАТЬ: Refs:

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