linux - 使用 ls 和 grep 而不是 find 搜索目录和子目录以查找与字符串匹配的文件并列出路径

标签 linux bash awk grep ls

我知道有一个很好的 Linux 程序叫做 find,它用作

find /home/user -name ".txt"

将打印所有扩展名为 .txt 的文件及其相对路径

如何使用 lsgrep 和可能的 awk 实现同样的效果?

我尝试使用递归方式列出目录及其子目录中的所有文件

ls -LR1

但不知道如何使用 grep 解析它。

如有任何建议,我们将不胜感激。

最佳答案

您可以使用 执行此操作和 :

shopt -s globstar # required if not enabled with bash4
printf '%s\n' **/*.txt

但是不要相信任何人用 ls + awk 找到解决方案,这不是稳健地实现这个的好方法

关于linux - 使用 ls 和 grep 而不是 find 搜索目录和子目录以查找与字符串匹配的文件并列出路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40006076/

相关文章:

c - 在 linux 中保存 session 或进程状态

linux - unix下,如何使用参数去除法去掉一个字符及其前后的空格

regex - 使用 sed 删除从第 n 列开始到下一个非空白区域的所有空白区域

bash - 如何检查是否在 Bash 中设置了变量

regex - 使用 sed 或 awk 从字符串中删除前导和尾随数字,同时保留 2 个数字

regex - Linux - 在路径中的每个斜杠后查找与正则表达式匹配的结果

c++ SIGABRT在多线程应用程序的结构析构函数中

linux - diff 的奇怪行为 |搜索引擎优化 | sed

c - undefined reference usb_init()

linux - 如何测量 CPU 使用率