编辑要用分号分隔的输出文件,输入文件是CSV kornshell

时间:2016-01-11 21:44:38

标签: awk sed ksh aix

我的输入文件是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

1 个答案:

答案 0 :(得分:0)

export IFS=","
semico=';'
FILE=rates.csv
FILE2=rateswork.csv
echo $FILE
rm my_ratesoutput.csv
cp -p $FILE $FILE2

sed 1d $FILE2 > temp.csv

mv temp.csv $FILE2
echo "Currency;Spot Rate;Terms;Name;Curve" >>my_ratesoutput.csv

cat $FILE2 |while read a b c d e f
do
   echo $a$semico$c$semico$a/USD$semico$f$semicoCash >> my_ratesoutput.csv
done