Shell script добавить текст в каждый файл?

У меня есть папка, полная текстовых файлов. Мне нужно добавить один и тот же блок текста к каждому из них (и, конечно, перезаписать исходный файл).

Мне было интересно, что для этого будет правильный синтаксис оболочки Bash. Я бы использовал кошку?

Я сделал несколько пакетных скриптов, но я не эксперт Bash. Любые предложения оценили.

Ответ 1

Используйте перенаправление добавления.

for f in *.txt
do
  cat footer >> "$f"
done

Ответ 2

Если вам нужно сделать это с помощью script, вы можете использовать перенаправление эха и добавление, чтобы получить дополнительный текст в файлы.

FILES=pathto/*
for f in $FILES ; do
    echo "#extra text" >> $f
done

Ответ 3

sed -i.bak "$ a $(<file_block_of_text)" *.txt