2017-06-20 61 views
0

這是我的file.txt文件的內容:Bash腳本回聲似乎刪除我的新行?

header 
a 
b 
c 

我不知道是怎麼回事。此命令不會打印新行。

echo -e $(tail -n +2 file.txt) 

此打印:

a b c 

但是,如果你把它寫到文件,你會清楚地看到新的生產線:

tail -n +2 file.txt >> new_file.txt 

的test.txt

a 
b 
c 

怎麼辦我強制回顯打印新行?我不認爲我可以在這裏使用printf而不做某種循環。

+2

你爲什麼在這裏使用'echo'。只需使用'tail -n +2 file' – anubhava

+2

如果您必須使用'echo',那麼引用它:'echo「$(tail -n +2 file)」'或'printf「%s \ n」「 -n +2文件)「' – anubhava

+0

哦,對,我仍然在學習bash腳本,並被告知echo是用於打印的東西。但是,爲什麼echo不會打印新行呢? – Dobob

回答

1

報價中的Echo語句爲您的輸出提供換行符終止行。這裏是代碼

echo -e "$(tail -n +2 file.txt)" 
+0

爲什麼會這樣做,而不是'tail -n +2 file.txt',而沒有'echo 「現在呢? –