0

多くの列を含むファイルがあり、11 列目と 9 列目を分割して新しい行に出力したいと考えています。

ram, gopal, shayam, raj, kamal, shekhar, uday, bhanu, 10,uat,20  
ram, gopal, shayam, raj, kamal, shekhar, uday, bhanu, 20,uat,60  
ram, gopal, shayam, raj, kamal, shekhar, uday, bhanu, 30,uat,90  

出力は次のようになります -

ram, gopal, shayam, raj, kamal, shekhar, uday, bhanu, 10,uat,20,2%  
ram, gopal, shayam, raj, kamal, shekhar, uday, bhanu, 20,uat,60,3%  
ram, gopal, shayam, raj, kamal, shekhar, uday, bhanu, 30,uat,90,3%  

致命的な 0 除算エラー:

$ awk -F, -vOFS=, '{print $0,($9==0?0:$11/$9)"%"}' /cygdrive/c/test/kpi/test.csv
awk: cmd. line:1: (FILENAME=/cygdrive/c/test/kpi/test.csv FNR=1) fatal: division by zero attempted
4

1 に答える 1

3

次のように実行できます。

$ awk -F, -vOFS=, '{print $0,$11/$9"%"}' file
ram, gopal, shayam, raj, kamal, shekhar, uday, bhanu, 10,uat,20,2%
ram, gopal, shayam, raj, kamal, shekhar, uday, bhanu, 20,uat,60,3%
ram, gopal, shayam, raj, kamal, shekhar, uday, bhanu, 30,uat,90,3%
于 2013-10-25T08:43:28.360 に答える