在linux中为几个文件添加相同的消息

时间:2015-05-27 17:05:22

标签: linux shell cat

我已经写了这行命令,但它不起作用

cat fich?.txt < hi, adding message for several files

我有以下文件

fich1.txt fich2.txt fich3.txt fich4.txt fich5.txt fich6.txt

2 个答案:

答案 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