从来就写行命令这一点,但它doesn't工作添加相同的消息几个文件在Linux
cat fich?.txt < hi, adding message for several files
从来就得到了以下文件
fich1.txt fich2 .TXT fich3.txt fich4.txt fich5.txt fich6.txt
从来就写行命令这一点,但它doesn't工作添加相同的消息几个文件在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
你创建文件或修改它们的开始,新的内容? – user2182349
我在修改它们 – mangulom
你很可能没有一个名为'hi,'的文件来重定向输入,也没有一个名为'adding','message','for','several'或'files'的文件为'猫'阅读。我怀疑你得到一个“bash:嗨,:没有这样的文件或目录”类型的消息给予该命令; '猫'永远不会开始。你真的想做什么? – twalberg