我希望能夠在文件夾中的每個文本文件的開頭添加一個字符串。我如何在Linux上使用bash來做到這一點?如何將字符串添加到bash文件夾中每個文件的開頭?
回答
這將做到這一點。如果你對每個文件做同樣的文字,你可以使它更有效率......
for f in *; do
echo "whatever" > tmpfile
cat $f >> tmpfile
mv tmpfile $f
done
這應該是個訣竅。
FOLDER='path/to/your/folder'
TEXT='Text to prepend'
cd $FOLDER
for i in `ls -1 $FOLDER`; do
CONTENTS=`cat $i`
echo $TEXT > $i # use echo -n if you want the append to be on the same line
echo $CONTENTS >> $i
done
我不會推薦這樣做,如果你的文件非常大雖然。
這是一個無用的'ls'例子。使用shell擴展。 – ghostdog74 2011-04-27 00:04:24
你可以做到這一點還有:
for f in *; do
cat <(echo "someline") $f > tempfile
mv tempfile $f
done
這不是從第一後太大的不同,但確實表明如何看待「回聲」語句作爲文件的輸出,而無需創建一個temporay文件存儲該值。
你可以做到這一點使用在1單命令以及
for f in *; do
sed -i.bak '1i\
foo-bar
' ${f}
done
你可以做這樣的sed沒有環和cat
sed -i '1i whatever' *
,如果你想備份您的文件,請使用-i.bak
或使用awk
awk 'FNR==1{$0="whatever\n"$0;}{print $0>FILENAME}' *
你的sed comman似乎只在第一個文件 – Raffael 2014-12-18 17:15:42
的前面加上字符串,對我來說就像是一個魅力 – 2015-09-24 09:19:07
您可以使用ed命令沒有臨時文件做,如果你喜歡:
for file in *; do
(test ! -f "${file}" || test ! -w "${file}") && continue # sort out non-files and non-writable files
if test -s "${file}" && ! grep -Iqs '.*' "${file}"; then continue; fi # sort out binary files
printf '\n%s\n\n' "FILE: ${file}"
# cf. http://wiki.bash-hackers.org/howto/edit-ed
printf '%s\n' H 0a "foobar" . ',p' q | ed -s "${file}" # dry run (just prints to stdout)
#printf '%s\n' H 0a "foobar" . wq | ed -s "${file}" # in-place file edit without any backup
done | less
這是我所制定了最簡單的。
sed -i '1s/^/Text
加入當時的新file\n/' /file/to/change
- 1. 如何在文件中每行的開頭添加一個字符串
- 2. 如何將行添加到文件夾內的每個文件?
- 3. 如何將文本添加到文件夾中所有文件的開頭?
- 4. 如何將符號添加到文件夾中的每個文件名?
- 5. 如何將字符串添加到PowerShell中每個固定行文本文件塊的開頭?
- 6. 如何將文件添加到開頭?
- 7. 將連續數字添加到文件夾中文件名的開頭
- 8. 添加字符串到文件的開頭和另一個字符串到一個文件
- 9. Powershell - 在文本文件的開頭添加文本字符串
- 10. Bash編程 - 如何將字符串添加到文本文件中
- 11. 找到一個文件夾內的字符串開頭的文件
- 12. 將文件夾中的所有文件路徑添加到字符串數組
- 13. 刪除python文件中每個字符串開頭的空格?
- 14. 如何將字符串添加到bash中文件行的末尾
- 15. 如何將多個文本文件中的字符串添加到數組中
- 16. 在生成的文件的開頭添加字符串
- 17. 如何將java類添加到jar文件中的文件夾
- 18. 如何將文件添加到XCode中的資源文件夾?
- 19. C編程;在文件的開頭添加字符串
- 20. 將文本追加到文件中每行的開頭
- 21. 如何使用Qt將包含多個庫和多個頭文件夾的文件夾添加到項目中?
- 22. 將字符串添加到C中的文本文件
- 23. PHP - 遍歷文件夾,打開每個文件的docx和替換字符串
- 24. VB.NET中添加字符串的開頭和一個文本框的每一行
- 25. 用DW打開將文件夾/文件添加到.svn文件夾
- 26. 將文本附加到以字符串開頭的所有文件
- 27. 將字符串追加到文件中
- 28. 如何添加一個字符串到.txt文件的結尾?
- 29. 如何將文件添加到SVN的現有文件夾?
- 30. 將特定文本/字符串寫入指定文件夾中存在的每個文件的文本文件
+1 ..更好的解決方案比我:) – Cfreak 2011-04-26 21:33:31
兩個'$ F'應該是' 「$ F」'。也可以做一些錯誤檢查。此外,它還會更改原始文件的權限和所有權。 – ikegami 2011-04-26 21:38:41