【发布时间】:2017-05-20 03:25:09
【问题描述】:
我想使用 awk 将 CSV 文件转换为仅包含原始列的子集的新 CSV 文件。而且我还想用下划线替换其中一列的空格。我试过这样:
gawk -F "," '
{
name=gsub(/ /,"_",$1);
label=$2;
print ","name","label","
}' ./in.csv >> ./out.csv
但是 gsub() 返回匹配出现的次数,而不是替换字符串。所以我得到这样的东西:
,1,label
代替:
,name_nospace,label
我如何像这样使用 awk gsub 仅替换一列的字符?
【问题讨论】:
-
一些样本数据和预期输出怎么样?