我要做的是從解析列表中創建一個csv文件。解析列表文件(awk/bash)
[input.txt]
This is a list of all gadgets.
Version: 11
Created by: jayFour
1 Toy no ordered
2 Box no ordered
3 Spade yes in_stock
4 Nail yes in_stock
5 Chair no ordered
6 Table yes in_stock
7 Apple no ordered
9 Phone yes in_stock
# generated 2014
現在,我創建了一個腳本,應該做一個 'AWK',創造了我的CSV文件是這樣的:
[output.csv]
| ID | Item | Status | Stock |
| 3 | Spade | yes | in_stock |
| 4 | Nail | yes | in_stock |
| 6 | Table | yes | in_stock |
| 9 | Phone | yes | in_stock |
「|」代表表格邊界。
腳本:
#!/bin/bash
ifiles=`ls input.txt`
for ifile in $ifiles
do
echo "ID;Item;Status;Stock\r" > output.csv
id=`awk '/yes/' $ifiles | awk {'print $1'}`
itm=`awk '/yes/' $ifiles | awk {'print $2'}`
stat=`awk '/yes/' $ifiles | awk {'print $3'}`
stck=`awk '/yes/' $ifiles | awk {'print $4'}`
echo "$id;$itm;$stat;$stck\r" >> output.csv
done
你可以想像,沒有工作這種方式。我在我的CSV(也許通過線缺陷造成的讀入/解析我輸入文件中的行內得到了與斷裂問題
好 - 如何解決:)
你在哪裏使用變量「ifile」? - 未使用 – Jdamian 2014-09-10 14:31:50
變量「ifiles」僅包含「input.txt」。你想要什麼? – Jdamian 2014-09-10 14:34:06
我縮短了我的腳本。我使用「ifile」來生成輸出文件名。不在這裏,但沒關係,我猜。 – jayFour 2014-09-10 14:36:21