2016-02-11 44 views
0

我使用下面的代碼讀取文件:使用shell腳本讀取文件時,該行的格式已更改

displayLine(){ 
    echo $line 
} 

filename="SampleFile" 
while read line 
do 
    displayLine $line 
done < "$filename" 

,我使用的腳本後,得到該文件的格式是這樣的:

ID EVENT OK NOK 
101 ABC1123 ok nok 
101 ABC1223 ok  
101 ABC1323 ok nok 
101 ABC1423 ok nok 

但文件的實際格式是這樣的:

ID EVENT  OK  NOK 
101 ABC1123  ok  nok 
101 ABC1223  ok  
101 ABC1323  ok  nok 
101 ABC1423  ok  nok 

我的腳本以某種方式修剪多餘的小號詞之間的步伐。但是,我想要的文件的實際格式。

任何人都可以告訴我如何實現?

謝謝!

+0

你是如何查看文件的?如果你「貓」它會是什麼樣子? – dan08

+0

@ dan08它看起來和實際的文件完全一樣。我使用vi編輯器和cat命令查看了該文件。他們以正確的格式顯示文件。但是,當我使用上述腳本時,它將刪除單詞之間的多餘空格。 –

+3

您需要引用。 –

回答

1

試試這個在控制檯窗口:

echo 101 ABC1123  ok  nok 

您能得到什麼?

現在嘗試

echo "101 ABC1123  ok  nok" 

現在,嘗試回聲 「$線」 的腳本。