我有一个充满文本文件的文件夹。我需要为每个文本附加相同的文本块(当然还要覆盖原始文件)。
我想知道正确的Bash shell语法是什么。我会用猫吗?
我做了一些批处理脚本,但我不是Bash专家。任何建议表示赞赏。
答案 0 :(得分:34)
使用追加重定向。
for f in *.txt
do
cat footer >> "$f"
done
答案 1 :(得分:7)
如果您需要通过脚本执行此操作,可以使用echo并附加重定向以将额外的文本添加到文件中。
FILES=pathto/*
for f in $FILES ; do
echo "#extra text" >> $f
done
答案 2 :(得分:1)
sed -i.bak "$ a $(<file_block_of_text)" *.txt
答案 3 :(得分:0)
答案 4 :(得分:-1)
非常适合我的一个
#!/bin/sh
FILES="./files/*"
for f in $FILES
do
echo '0000000' | cat - $f > temp && mv temp $f
done