Unix:如何搜索出现在 csv 列中的单词
Unix: How can I search for a word that appears in a column in a csv
我有一个包含两列的 csv 数据集,如下所示
Andrew, hello I'm from Germany
Andy, I'm from Cambodia
Arthur, I come from Hong Kong
Alec, I'm of african descent
Richard,I'm chinese
Tess, I'm Tess, i also come from Cambodia
如果我想在此 csv 的第二列中搜索关键字 'cambodia' 和 return 类似
的内容
Andy, I'm from Cambodia
Tess, I'm Tess, i also come from Cambodia
我试过 $ cut -d ',' -f1,2 file | grep -i “\bcambodia\b”
但是这段代码也搜索了第一列,我不想要,我只想搜索第二列,我想在输出中保留第一列
您可以考虑 awk
使用逗号作为分隔符
$ awk -F, '/Cambodia/ && !~ /Cambodia/' input_file
Andy, I'm from Cambodia
Tess, I'm Tess, i also come from Cambodia
通过使用 ,
分隔符,您可以排除与字符串 !~ /Cambodia/
匹配的第 1 列,同时匹配将包含字符串
的所有其他列
我有一个包含两列的 csv 数据集,如下所示
Andrew, hello I'm from Germany
Andy, I'm from Cambodia
Arthur, I come from Hong Kong
Alec, I'm of african descent
Richard,I'm chinese
Tess, I'm Tess, i also come from Cambodia
如果我想在此 csv 的第二列中搜索关键字 'cambodia' 和 return 类似
的内容Andy, I'm from Cambodia
Tess, I'm Tess, i also come from Cambodia
我试过 $ cut -d ',' -f1,2 file | grep -i “\bcambodia\b” 但是这段代码也搜索了第一列,我不想要,我只想搜索第二列,我想在输出中保留第一列
您可以考虑 awk
使用逗号作为分隔符
$ awk -F, '/Cambodia/ && !~ /Cambodia/' input_file
Andy, I'm from Cambodia
Tess, I'm Tess, i also come from Cambodia
通过使用 ,
分隔符,您可以排除与字符串 !~ /Cambodia/
匹配的第 1 列,同时匹配将包含字符串