
次のCSVがあります
1.2kbps,link1,description
1.2mbps,link2,description
見つけて交換したい
a)1列に000があり、kbpsがあるポイント
b) gawk または awk を使用して列 1 に 000000 ポイントと mbps を使用する場合、出力は次のようになります。
12000,link1,description
12000000,link2,description
私はGawkを好みますが、awkの例を使用して使用できます。
ありがとう
答え1
これにより問題が解決します。
awk -F, '
BEGIN{OFS=FS}
/kbps/{gsub("kbps","",$1);$1=$1*1000};
/mbps/{gsub("mbps","",$1);$1=$1*1000000}
1' file.csv
答え2
これを試してみてください(GNU Awk 3.1.7でテスト済み):
awk '{sub(/\./,"");sub(/kbps/,"000");sub(/mbps/,"000000")}1' foo.csv