C. *_*sti 2 grep text-processing
我有一个文件,其中的单词以 ',' 分隔,每一行都有相同数量的单词,比如说 4。所以它们的形式是:
something1,something2,something3,something4
我想搜索包含在第 4 列中的行something4
,但是如果存在另一行是这样的,我该怎么做:
something1,something2,something3,1_something4
使用 grep 我会得到这两行,但我只想要第 4 个元素的行,something4
我该怎么办?
jes*_*e_b 10
您可以awk
为此使用:
awk -F, '$4 == "something4"' file.csv
Run Code Online (Sandbox Code Playgroud)
这应该为第 4 列正好是的任何行打印整行 something4
为了将变量传递给awk
您,您需要执行以下操作:
var1=$(echo "something,something4" | cut -f2 -d,)
awk -F, -vsearch="$var1" '$4 == search' file.csv
Run Code Online (Sandbox Code Playgroud)
Jef*_*ler 10
或者,由于只有 4 列,而您希望在最后一列中包含特定内容,
grep ',something4$' < input
Run Code Online (Sandbox Code Playgroud)
(发布以防您实际上对 grep 没问题;awk是一个很好的解决方案)。