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

adding the same message for several files in linux

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

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

我有以下文件

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

for f in fich?.txt; do
  cat message.txt >>$f
done

这会将文件 message.txt 的内容添加(追加)到所有匹配 shell 通配模式 fich?.txt 的文件中。如果您想更严格并且只匹配您提到的特定文件,请使用模式 fich[1-6].txt.

要在每个文件的开头添加内容,请执行以下操作:

for f in fich?.txt; do
  tmpfile=$( mktemp XXXXX )
  cat message.txt $f >$tmpfile
  mv $tmpfile $f
done

这里没有捕获错误,所以它不是万无一失或超级安全的。

不同的方法 - 在文件开头插入新内容

for f in fich*.txt; do 
    sed --in-place '1 ihi, adding message for several files' "$f"; 
done