我有許多文本文件,需要在每個文件上放一個標題,具體取決於每個文件上的數據。使用awk在文本文件中添加標題
此awk命令完成任務:
awk 'NR==1{first=$1}{sum+=$1;}END{last=$1;print NR,last,"L";}' my_text.file
但這打印在屏幕上,我想把這個輸出在我的每個文件的標題,並保存使用相同的文件名修改。
這裏是我試過:
for i in *.txt
do
echo Processing ${i}
cat awk 'NR==1{first=$1}{sum+=$1;}END{last=$1;print NR,last,"L";}' "${i}" ${i} > $$.tmp && mv $$.tmp "${i}"
done
所以我想我不能用貓把它們作爲一個頭,還是我做錯了什麼?
預先感謝
漂亮相關:http://superuser.com/questions/246837/how-do-i-add-text-to-the-beginning-of-a-file-in-bash – fedorqui
這可能是簡單的使用' perl'帶'-i'標誌! –
試着用第四行替換:awk NR == 1 {first = $ 1} {sum + = $ 1;} END {last = $ 1; print NR,last,「L」;}'<「$ {i}」 '(whipe the'cat') –