我有一个 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