grep 全局匹配打印命令 in Linux
grep: global regular expression print
常用来查找包含特定字符串的文件所在行并显示,也可以配合管道符:| 来有条件的过滤显示终端输出内容。
安装
apt-get install grep
使用
查找当前目录下后缀有 file 文件中包含 test 字符串的文件,并打印出该字符串的行:
grep test file
查找当前目录下文件名包含 file 的所以文件:
grep test *file*
查找目录及其子目录中所有文件包含 test 字符串的文件,并打印出该字符串的行:
grep -r test /path
忽略字符串匹配大小写:-i
grep -i "test" file
字符串匹配完整 word,不匹配 word 内字符串:-w
grep -w "is" file
上面命令不会匹配:his this 等单词。
配合其他命令过滤结果
可以使用管道符:| 将其他命令的输出作为处理对象
例如:
ps aux | grep file.sh
输出当前进程中包含 file.sh 的行,即可查看 file.sh 当前执行信息。
配合 xargs
通过 xargs 命令可以使用 grep 过滤出来的数据作为参数传递给其他命令。
例如:
cat abc.txt | grep demo | xargs echo
以上命令中,最后的 echo 会使用前面 grep 过滤的数据,逐行作为 stdin 传递给 echo 输出。
标签:grep