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

在linux中为多个文件添加相同的消息,linux,shell,cat,Linux,Shell,Cat,我写了这个命令行,但它不工作 cat fich?.txt < hi, adding message for several files cat fich?.txt

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

cat fich?.txt < hi, adding message for several files
cat fich?.txt
我有以下文件

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

这将把文件
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

您正在创建或修改这些文件吗?您很可能没有一个名为
hi、
的文件可供shell重定向输入,也没有名为
的文件可供添加
消息
用于
多个
文件可供
cat
读取。我怀疑你会收到一条“bash:hi,:没有这样的文件或目录”之类的消息;而
cat
将永远不会启动。你到底想干什么?
for f in fich*.txt; do 
    sed --in-place '1 ihi, adding message for several files' "$f"; 
done