我有一個文本文件/tmp/some.txt
下面值如何根據shell腳本中的行創建CSV文件?
JOHN YES 6 6 2345762
SHAUN NO 6 6 2345748
我想創建以下格式的csv文件(即基於行。不是基於列)。
JOHN,YES,6,6,2345762
SHAUN,NO,6,6,2345748
我想下面的代碼
for i in `wc -l /tmp/some.txt | awk '{print $1}'`
do
awk 'NR==$i' /tmp/some.txt | awk '{print $1","$2","$3","$4","$5}' >> /tmp/some.csv
done
這裏wc -l /tmp/some.txt | awk '{print $1}'
將獲得價值2(在文本文件中即2行)。 ,並且對於每一行awk 'NR==$i' /tmp/some.txt | awk '{print $1","$2","$3","$4","$5}'
將打印5個字段到some.csv
文件,文件以逗號分隔。
當我分別執行每個命令它將工作。但是當我把它作爲一個shell腳本時,我得到空some.csv
文件。
爲什麼你不只是更換的空間所有塊與一個逗號? – fedorqui