【发布时间】:2016-04-16 08:40:57
【问题描述】:
我的输入文件是 CSV
AED,E ,3.67295,20160105,20:10:00,UAE DIRHAM
ATS,E ,10.9814,20160105,20:10:00,AUSTRIAN SHILLINGS
AUD,A ,0.71525,20160105,20:10:00,AUSTRALIAN DOLLAR
我想读进去这样输出
EUR;1.127650;USD/EUR;EURO;Cash
JPY;124.335000;JPY/USD;JAPANESE YEN;Cash
GBP;1.538050;USD/GBP;BRITISH POUND;Cash
实际代码:
cat $FILE2 | while read a b c d e f
do
echo $a $c $a/USD $f Cash \
| awk -F, 'BEGIN { OFS =";" } {print $1, $2, $3, $4, $5}' >> my_ratesoutput.csv
输出:
Cash;;;;95 AED/USD UAE DIRHAM
Cash;;;;14 ATS/USD AUSTRIAN SHILLINGS
Cash;;;;25 AUD/USD AUSTRALIAN DOLLAR
Cash;;;;/USD BARBADOS DOLLAR
【问题讨论】:
-
您想要的输出与输入不匹配。
-
我希望你只是想做文本转换而不是金融货币转换......请检查你的输入和输出,它真的想要你有什么和你期望什么?
-
我只希望格式不匹配美元转换。3 个字符的货币代码";"美元价值";" 3字符货币代码"/USD"":"货币名称";""现金"。我希望文件的字段用分号分隔
-
我不明白应该如何将
AED,E ,3.67295,20160105,20:10:00,UAE DIRHAM转换为EUR;1.127650;USD/EUR;EURO;Cash。你什么时候想要xxx/EUR,什么时候想要EUR/xxx? -
试试
while IFS=, read a b c d e f; do ... done