Csv 如果字段结尾与AWK中的字符串匹配,则打印行
我有一个csv文件,如果某个特定字段以特定字符串结尾,我将尝试使用awk打印行。例如,我有以下CSV文件:Csv 如果字段结尾与AWK中的字符串匹配,则打印行,csv,awk,Csv,Awk,我有一个csv文件,如果某个特定字段以特定字符串结尾,我将尝试使用awk打印行。例如,我有以下CSV文件: col1,col2,col3 1,abcd,.abcd_efg 2,efgh,.abcd 3,ijkl,.abcd_mno 4,mnop,.abcd 5,qrst,.abcd_uvw 这就是我追求的结果: 2,efgh,.abcd 4,mnop,.abcd 但是我得到了一个不同的结果。这是我正在使用的awk命令: cat file.csv | awk -F"," '{if ($3 ~
col1,col2,col3
1,abcd,.abcd_efg
2,efgh,.abcd
3,ijkl,.abcd_mno
4,mnop,.abcd
5,qrst,.abcd_uvw
这就是我追求的结果:
2,efgh,.abcd
4,mnop,.abcd
但是我得到了一个不同的结果。这是我正在使用的awk命令:
cat file.csv | awk -F"," '{if ($3 ~ ".abcd" ) print $0}'
这就是我得到的结果:
1,abcd,.abcd_efg
2,efgh,.abcd
3,ijkl,.abcd_mno
4,mnop,.abcd
5,qrst,.abcd_uvw
我尝试了以下事件,但未返回匹配的事件,因此无法运行:
cat file.csv | awk -F"," '{if ($3 ~ ".abcd$" ) print $0}'
有什么线索吗?我是否使用了错误的表达式来得到这个结果
编辑:这是我在尝试Kent的解决方案时尝试的另一个命令,但无效:
cat file.csv | awk -F"," '$3 ~ "[.]abcd"'
您可以修改
awk
命令,如下所示:
$ cat file.csv | awk '$3 ~ /\.abcd$/ {print $0}'
2 efgh .abcd
4 mnop .abcd
简要说明
:如果$3~/.bao$/
与regex$3
匹配,则打印
$0
awk
命令更改为:
cat file.csv | awk -F, '$3 ~ /\.abcd$/ {print $0}'
您可以修改
awk
命令,如下所示:
$ cat file.csv | awk '$3 ~ /\.abcd$/ {print $0}'
2 efgh .abcd
4 mnop .abcd
简要说明
:如果$3~/.bao$/
与regex$3
匹配,则打印
$0
awk
命令更改为:
cat file.csv | awk -F, '$3 ~ /\.abcd$/ {print $0}'
- 首先,
中的cat文件| awk…
是无用的,只是cat
awk。。。文件
- 您的输入文本没有单个逗号,为什么要设置
FS=“,”
- 如果要进行精确的字符串比较,请使用
而不是$3==“which”
$3~/regex/
awk '$3 == ".abcd"' file
- 如果你真的喜欢正则表达式,并且想用正则表达式匹配的方式来实现:
awk '$3 ~ "[.]abcd$"' file
- 首先,
中的cat文件| awk…
是无用的,只是cat
awk。。。文件
- 您的输入文本没有单个逗号,为什么要设置
FS=“,”
- 如果要进行精确的字符串比较,请使用
而不是$3==“which”
$3~/regex/
awk '$3 == ".abcd"' file
- 如果你真的喜欢正则表达式,并且想用正则表达式匹配的方式来实现:
awk '$3 ~ "[.]abcd$"' file
取决于您需要什么。代码。(点)表示任何字符谢谢。我将其修改为
\。
@CWLiu:您不需要{print$0}
出现。这是照顾你的解决方案,但该文件是一个csv文件,我忘了在我的问题中添加逗号。我添加了它们。我尝试过这个解决方案,但对我来说就是不起作用。解析csv文件时,这是否有效?@Dr.Bake我已经为您修改的问题添加了答案。。(点)
表示任何字符谢谢。我将其修改为\。
@CWLiu:您不需要{print$0}
出现。这是照顾你的解决方案,但该文件是一个csv文件,我忘了在我的问题中添加逗号。我添加了它们。我尝试过这个解决方案,但对我来说就是不起作用。当解析csv文件时,这是否有效?@Dr.Bake我已经为您修改的问题添加了答案。该文件是csv文件,有逗号,但我忘了包含它们。我刚刚编辑了我的问题并添加了它们。顺便说一句,我只是尝试了你的解决方案,但没有成功。我设置了FS=“,”并尝试使用正则表达式,但没有成功。可能是因为我正在搜索字段末尾的特定字符串?@Dr.Bake我刚刚尝试了您的解决方案,…
您尝试的不是我的解决方案。你读过我的答案吗?这个文件是csv文件,有逗号,但我忘了包括它们。我刚刚编辑了我的问题并添加了它们。顺便说一句,我只是尝试了你的解决方案,但没有成功。我设置了FS=“,”并尝试使用正则表达式,但没有成功。可能是因为我正在搜索字段末尾的特定字符串?@Dr.Bake我刚刚尝试了您的解决方案,…
您尝试的不是我的解决方案。你看过我的答案了吗?