我可以制作自己的自定义 grep 搜索工具吗?

-4 command-line nvidia grep

我试图在我的机器上找到特定的设备。所以我输入了lspci。这给了我一大堆物品清单。太大,无法经常查看我的设备是否仍然连接。所以我跑了:

lspci | grep nvidia
Run Code Online (Sandbox Code Playgroud)

这没有返回任何内容。所以我尝试了“Nvidia”,但什么也没得到,最后我尝试了“NVIDIA”,就在那时我得到了成功。

Grep 看起来是一个很棒的工具,但它有一些明显的局限性。是否可以编写我自己的搜索类型函数来完成此任务并包含字符串中的所有情况?

如果是这样,有人能指出我学习如何做到这一点的正确方向吗?即使是一些我可以阅读的有关该主题的文献,那就太好了。

即使我需要一个月的时间,我也很想学习如何开发具有该功能的自己的工具。

谢谢。

van*_*ium 6

man grep将为您提供有关如何使用 grep 的信息。该-i选项将执行您正在寻找的操作:忽略大小写。因此,一个命令

lspci | grep -i nvidia
Run Code Online (Sandbox Code Playgroud)

就会找回 NVIDIA。

如果你想制作自己的工具,一个简单的方法是定义一个别名:

alias 'grep=grep -i'
Run Code Online (Sandbox Code Playgroud)

这个定制的grep命令将-i在您每次运行时暗示该选项grep。定义别名后,您的原始命令将按照您想要的方式工作。无需进一步编程您自己的工具。

该别名定义仅对当前会话有效。要永久启用该选项,请~/.bashrc使用文本编辑器打开文件,然后在已有的定义-i中添加该选项:alias

alias grep='grep -i --color=auto'
Run Code Online (Sandbox Code Playgroud)