这是filename.csv文件的示例
"Sort Order","Common Name","Formal Name","Type","Sub Type"
"1","Afghanistan","Islamic State of Afghanistan","Independent State"
"2","Albania","Republic of Albania","Independent State"
"3","Algeria","People's Democratic Republic of Algeria","Independent State"
"4","Andorra","Principality of Andorra","Independent State"
"5","Angola","Republic of Angola","Independent State"
那么用通用名搜索angola的grep命令是什么,并按照以下方式打印:
"5","Angola","Republic of Angola","Independent State"
我知道我们可以使用:
grep '"Algeria"' filename.csv
然而,如果我更具体,该怎么办?假设阿尔及利亚可能存在于其他专栏中,但我们只需在Common Name列中打印一个。
我试过
grep '"Common Name | Algeria"' filename.csv
似乎不起作用。
答案 0 :(得分:2)
您可以尝试使用以下grep命令打印第二列中包含字符串Angola
的行。
grep -E '^"[^"]*","Angola"' file
这可以通过awk轻松完成,
awk -F, '$2=="\"Angola\""' file
答案 1 :(得分:1)
尝试awk
awk -F"," '$2~/Algeria/' file
答案 2 :(得分:0)
使用cut
命令,
grep Algeria filename.csv|cut -f2 -d','|awk -F '[""]' '{print $2}'
输出:
Algeria
以下是我在grep
添加的所有命令的说明,并放弃了您在其中使用的一些不必要的引号。
cut
命令:
-f它将根据分隔符提取第二列
-d它将选择分隔符,即:,
awk
命令:
它将在两个""
(块引号)之间提取值并打印出来。