shell - 如何在 Ubuntu 中使用 ripgrep 搜索 CSV 文件中的行
问题描述
我的主目录中有一个 csv 文件,如下所示
cat try.csv
val1,val2,val3,val4,val5,val6
10-Jul-19,12604876601113439,Self,abs,Tier-I,30088.5
09-Jul-19,12604876601112397,Self,abs,Tier-I,200590
08-Jul-19,12604876601111807,Self,abs,Tier-I,200590
05-Jul-19,12604876601109069,Self,abs,Tier-I,70206.5
29-May-19,12604876601085648,Self,cdf,Tier-I,70206.5
30-Apr-19,12604876601068094,Self,cdf,Tier-I,130383.5
15-Nov-18,12604876600900949,Self,xyz,Tier-I,71209.46
10-Oct-18,12604876600887501,Self,xyz,Tier-I,79233.06
我可以使用grep
命令来提取包含单词'abs'的行:
grep -w 'abs' try.csv
10-Jul-19,12604876601113439,Self,abs,Tier-I,30088.5
09-Jul-19,12604876601112397,Self,abs,Tier-I,200590
08-Jul-19,12604876601111807,Self,abs,Tier-I,200590
05-Jul-19,12604876601109069,Self,abs,Tier-I,70206.5
ripgrep
但是我在https://blog.burntsushi.net/ripgrep/中遇到过它声称具有类似的功能grep
但执行速度更快(我的实际 csv 文件非常大,大小为 30gb,所以我需要一些比 更快的方法grep
)
所以我安装ripgrep
并cargo install ripgrep
运行以下代码
ripgrep -w 'abs' try.csv
但我得到以下错误
Command 'ripgrep' not found, did you mean:
command 'sipgrep' from deb sipgrep
command 'zipgrep' from deb unzip
Try: apt install <deb name>
任何以正确方式使用 ripgrep 的指针都会有所帮助
解决方案
该程序被调用ripgrep
,但它被调用rg
。您需要做的就是:
rg -w 'abs' try.csv
推荐阅读
- java - 抛出 RecyclerView 后 layout_centerInParent 不起作用
- javascript - 如何在 JavaScript 中使用 Promise 在一段时间后打印日志
- javascript - 如何使用动画css3将div放入框中?
- django - Gunicorn ModuleNotFoundError:没有名为“django”的模块
- spring-integration - Spring集成服务激活器使用基于输入的bean名称
- laravel - 使用 Ajax 刷新 Laravel 图表
- c# - EF Core 中的合并冲突
- android - 使用 Google Maps Activity 创建项目时出现 Android Studio 错误
- javascript - 如何从 URL 加载 JSON 并在 HTML 页面上使用纯 javascript 显示?
- android - 如何从 decodeImage(File('assets/logo.png').readAsBytesSync()) 加载图像;飘飘然