我想從 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,所以不顯示。
uj5u.com熱心網友回復:
你可以使用這個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
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/512823.html
標籤:壳CSVawk
上一篇:`bash-`有什么作用?
下一篇:使用grep排除單詞
