2014-11-04 102 views
0

我想使用bash script將標題添加到ascii文件。沒有使臨時文本文件做到這一點的最短途徑是什麼?將標題添加到ASCII目錄

+0

提示:使用'sed' – anubhava 2014-11-04 10:52:41

+0

@anubhava我知道'sed'可以使用,但我不知道如何命令行應該是。 – Dalek 2014-11-04 10:53:59

回答

4

你可以試試這個方法

sed '1 i\Header' FileName 

例子:

seq 5 | sed '1 i\\tHeader' 

輸出:

Header 
1 
2 
3 
4 
5 
+1

值得一提的是,這不適用於所有版本的sed。在某些版本中,您需要在'i \'後添加一個換行符。這是[POSIX定義的行爲](http://pubs.opengroup.org/onlinepubs/9699919799/utilities/sed.html),因此應該可以在任何地方使用。 – 2014-11-04 11:08:22

+0

所以在GNU sed上使用'--posix'並添加一個新行 – NeronLeVelu 2014-11-04 11:38:34

1

可以使用BEGIN塊awk將打印一些輸出之前該文件被處理:

awk 'BEGIN{print "header text"}1' input.txt > output.txt 

換行符將被追加到標題字符串之後。如果這是不希望的,你可以用printf代替。最後的1是一個簡寫,這意味着文件中的所有行都被打印出來。

爲了覆蓋原文件,你可以只使用一個臨時文件:

awk 'BEGIN{print "header text"}1' input.txt > tmp && mv tmp input.txt