從來就寫行命令這一點,但它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