2012-11-12 40 views
0

作爲我的需求的一部分,我需要在unix中爲現有文件添加標題。對於我用編的文本編輯器從這個討論了在編輯文本編輯器中將字符串作爲變量使用unix

How can I add a line to a file in a shell script?

這是我用

printf '0a\n%s\n.\nw\n',$header, | ed "./runtime/"$outputFileName 

我從另一個文件,該文件是

"header 1","header 2","header 3" 
獲得$頭的值的代碼

執行腳本後,當我檢查輸出文件的第一行文件時,只包含這一行

1","header 

如何讓整行添加到輸出文件中?請幫忙。提前致謝。

PS:我正在使用Sun Solaris

回答

3

請務必正確使用printf。 (1)引頭(2)由空間

echo '"header 1","header 2","header 3"' > test.txt 
header="$(cat header.txt)" 
printf '0a\n%s\n.\nw\n' "$header" 

導致

0a 
"header 1","header 2","header 3" 
. 
w 
+0

通過從「printf的改變獨立參數 '0A \ n%s的\ n \ NW \ N',$頭, 「to」printf'0a \ n%s \ n。\ nw \ n'「$ header」「代碼正常工作。感謝您的輸入 :) – mvg