我需要在目錄中的第二行插入帶有特定文本的行(因此將文件中其他行向下移動)數百個文件。任何有關如何完成的快速Unix技巧?如何在Unix的多個文件的特定行插入一行?
6
A
回答
13
sed -i -e '2iYour line here' /dir/*
注意sed -i
語義由Unix版本有所不同,所以請檢查您的man sed
。這是爲GNU風格寫的。
1
,這是一AWK
使用而非sed
,
for i in $(<list_of_files)
do
awk '{if (FNR!=2) print $0;
else { print "new line"; print $0}}' $i > ${i}.tmp;
mv ${i}.tmp $i;
done
0
ls | xargs --replace=foo perl -i -ne 'print; print "second line text\n" unless $x++;' foo
+0
我投票*永遠不會推薦沒有備份的`perl -i`:`perl -i.bak`。這很簡單,一旦你確定你沒有修改錯誤,你可以輕鬆地刪除備份。 – Telemachus 2009-08-05 22:51:56
2
perl -pi -we'print "extra line\n" if $. == 3; close ARGV if eof' files
的close(ARGV)
是必要在每個文件的開頭重新啓動行計數器$.
;默認情況下,它會跨文件計算行數。
+1
難道你不覺得值得使用`-i.bak`來保護你免受錯誤消除大量數據嗎? (想象一下,你忘了`-p`。) – Telemachus 2009-08-05 22:50:52
相關問題
- 1. 如何在unix中的特定行之後插入文本行到文件中
- 2. 在發生Unix後插入一個特定的行
- 3. 如何在文件的特定行之後插入文本
- 4. 將行插入到多個文件中的特定位置
- 5. 如何在特定行之前將文件內容插入另一個文件
- 6. 如何使用Vim或Perl在文件的特定行上插入一行?
- 7. 在使用sed的特定行之前插入多行文本
- 8. 如何在2個特定模式匹配後編輯一個Unix文件插入幾行
- 9. UNIX替換文件中的特定行
- 10. 如何在Unix中打印文件中的特定行?
- 11. 如何在使用Jquery的特定行之後插入多個錶行?
- 12. 如何添加一行在多個文件中UNIX
- 13. 如何從unix中的文件中刪除特定的行?
- 14. 如何改變一個特定的詞在特定行的文本文件
- 15. Bourne Shell:如何在文件的給定行號處插入一些文本行
- 16. 如何在UIpickerView的特定行中插入圖像和文本?
- 17. 甲骨文)插入與一個固定值的多個行
- 18. 從特定行中的文件(YML)中插入行
- 19. 從特定行開始在文件中插入行
- 20. 如何在跨多行的模式之後插入一行文件
- 21. 如何在特定的行從文件
- 22. 在「output.txt」文件中在每行末尾插入多個數字爲60的特定文本行
- 23. 如何將數據插入特定的行號(或第一個空行)?
- 24. 如何在另一個文件之間插入幾行文字
- 25. unix sed,在同一個文件的特定行和列中替換字段
- 26. vim,在特定行插入行號
- 27. 如何將文本中的文本插入到另一個文本文件的特定列/行中?
- 28. 寫一個宏,將一個特定的行復制到插入的行數中
- 29. vim如何粘貼多行插入到另一個多行?
- 30. 基於特定行中的值獲取多行輸入文件
哇......差點讓我想學習sed。謝謝一堆! – Learning 2009-08-05 12:54:36