You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用csvkit中的csvgrep实现多字符串同时搜索?

csvgrep多字符串匹配实现方案

csvgrep本身没有单独的多字符串匹配参数,但可以通过以下两种常用方案实现不同匹配需求:

方案1:使用正则参数-r实现逻辑或匹配(命中任意一个字符串即可)

csvgrep的-r参数支持传入正则表达式,要匹配多个字符串直接用正则的或语法|拼接即可,示例命令如下:

csvgrep -c 1 -r "test|test2" file.csv | csvlook | less -s

注意:如果字符串包含正则特殊字符(如.、*、|等),需要加反斜杠\转义。

方案2:多-m参数/多次管道实现逻辑与匹配(需同时命中所有字符串)

如果你的需求是指定列同时包含所有目标字符串,你尝试的多-m参数写法本身是有效的,csvgrep默认对多个-m条件取逻辑与:

csvgrep -c 1 -m "test" -m " test2" file.csv | csvlook | less -s

你也可以通过管道拼接多次csvgrep命令实现相同效果,更适合复杂多条件场景:

csvgrep -c 1 -m "test" file.csv | csvgrep -c 1 -m " test2" | csvlook | less -s

注意:你原命令中第二个匹配值test2前有空格,会严格匹配带前置空格的test2,如果不是有意设置可以去掉该空格。

内容的提问来源于stack exchange,提问作者Tony

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 07:00:01