我已经写了这行命令,但它不起作用
cat fich?.txt < hi, adding message for several files
我有以下文件
fich1.txt fich2.txt fich3.txt fich4.txt fich5.txt fich6.txt
答案 0 :(得分:2)
for f in fich?.txt; do
cat message.txt >>$f
done
这会将文件message.txt
的内容添加(附加)到与shell globbing模式fich?.txt
匹配的所有文件中。如果您想更严格并且只匹配您提到的特定文件,请使用模式fich[1-6].txt
。
要在每个文件的开头添加内容,请执行以下操作:
for f in fich?.txt; do
tmpfile=$( mktemp XXXXX )
cat message.txt $f >$tmpfile
mv $tmpfile $f
done
这里没有发现任何错误,所以它不是万无一失或超级安全。
答案 1 :(得分:0)
不同的方法 - 在文件的开头插入新内容
for f in fich*.txt; do
sed --in-place '1 ihi, adding message for several files' "$f";
done