在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