добавление текста ко всем файлам, начинающимся со строки - PullRequest
1 голос
/ 02 июня 2010

Как добавить строку ко всем файлам в каталоге, которая начинается с определенной строки?

Я пытался,

cat mysig >> F*

Но вместо добавления содержимого mysig во все файлы, начинающиеся с F, он создает файл с именем "F *". Очевидно, что подстановочный знак не работает. Есть альтернативы? Заранее спасибо.

Edit: Также, как мне удалить этот вновь созданный файл "F *"? Использование

rm F*

удалит все файлы, начинающиеся с буквы F, которые мне не нужны.

Ответы [ 2 ]

4 голосов
/ 02 июня 2010

Оболочка не может сделать это напрямую, поскольку из исходной программы будет идти только один поток (в данном случае cat).

Вам нужна вспомогательная программа, такая как tee . Попробуйте это:

$ cat mysig | tee -a F*
2 голосов
/ 02 июня 2010
for f in F*
do
  echo "string" >> $f
done

* - специальный символ - его нужно заключить в кавычки

rm 'F*'
...