如何从csv中获取多个单词



我想从CSV文件中获取多个单词并组合前向句子。Awk命令非常有用。但这不是期望。有什么办法解决这个问题吗?

command:
awk -F , '{                 #process to csv file
for(i=1;i<=NF;i++)          #process to every row
{if($i~/bbb|ccc/)           #if find bbb or ccc
{print $1","$2","$i}}       #print column1 and column2 and bbb and ccc
}'
CSV file content:
r1c1,r1c2,bbb,
r2c1,r2c2,bbb,ccc
r3c1,r3c2,xxx,yyy
↓
output:
r1c1,r1c2,bbb,
r2c1,r2c2,bbb
r2c1,r2c2,ccc
expectation:
r1c1,r1c2,bbb,
r2c1,r2c2,bbb,ccc

r1c1是row1和col1,r1c2是row1与col2。xxx,yyy不包含bbb或ccc,因此不会显示此信息。

您可以使用此awk:

awk -F, '{
s = $1 FS $2
for (i=3; i<=NF; ++i)
if ($i ~ /^(bbb|ccc)$/) {
s = s FS $i
ok = 1
}
if (ok) print s
ok = 0
}' file
r1c1,r1c2,bbb
r2c1,r2c2,bbb,ccc

相关内容

  • 没有找到相关文章

最新更新