2010-11-28 37 views
0

我想在文件的第一行文本之前插入換行符。目前唯一的解決方案是:在第一行之前插入換行符

sed -e '1 i 
') 

我不喜歡在我的shell腳本中有一個實際的換行符。使用標準(GNU)UNIX實用程序可以以其他方式解決這個問題嗎?

回答

2

A $之前單引號字符串將導致bash解釋其中的轉義序列。

sed -e '1 i'$'\n' 
+0

完美,這是工作。我不知道如何使用$這種方式,我可以肯定地說,這在其他情況下也會派上用場。謝謝 – kentfort 2010-11-28 22:59:01

3

這裏有沒有具體的殼需求的純sed的解決方案:

sed -e '1 s|^|\n|' 

編輯:

請注意,必須有此輸入(和其他任何的至少一行使用行地址)工作。

3

對於多種:

echo | cat - file 
+0

這太合乎邏輯了,'echo |貓 - 文件>文件,破壞了一切。我希望圍繞這個問題有一個微不足道的,通用的方法。 – Sorpigal 2010-11-29 17:48:26

1

您可以使用AWK:

$ awk 'FNR==1{print ""} 1' file 

將與任意數量的文件的工作。