linux - Bash - 设置 grep -rl 只返回文件名,而不是完整路径

标签 linux bash shell terminal grep

<分区>

我正在运行 grep 以递归查找文件内容包含字符串的文件名。

grep -rl string-to-find $pwd

命令按预期返回结果,但带有文件名和路径:

var/log/httpd/access.log
var/log/httpd/access.log.1

如何设置它只返回文件名而不是完整路径?

我想返回结果:

access.log
access.log.1

最佳答案

grep 没有这样的标志。但是您可以将其输出通过管道传输到一个简单的 awk 以获得您想要的输出:

grep -rl string-to-find $pwd | awk -F/ '{ print $NF }'

-F/是设置字段分隔符为/print $NF 表示打印最后一个字段。

关于linux - Bash - 设置 grep -rl 只返回文件名,而不是完整路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42042087/

相关文章:

linux - 如何显示自系统上次在 linux 中重新启动以来运行次数最多的程序

linux - 共享对象文件的 rpath

php - HTML 到 MS Word 文档?

linux - 更改多个文件命令行

可访问互联网时用于通知的 Bash 脚本

linux - rm不能删除以 "--"开头的文件

linux - BASH:带方向键的子菜单

linux - 什么 linux shell 命令返回字符串的一部分?

linux - Bash 脚本 : Read a file and process it

linux - 强制为 shell 脚本中的每个命令运行 `tee`?