Mac OS X 终端:使用 grep 搜索另一个命令的输出

Mac OS X 终端:使用 grep 搜索另一个命令的输出

我正在尝试获取 ls 命令的输出并在该列表中搜索正则表达式...实际上,它将在文件夹中的每个文件名中搜索正则表达式。我整理了一个简单的例子来说明我认为正确的方法,但显然不是:

$ ls ~/Desktop/testFolder | grep -rn “内容”

我知道,我可以为此编写一个脚本,将“ls”的输出通过管道传输到一个文本文件,然后 grep 该文件...但我问的是如何在没有多步骤过程或脚本的情况下执行此操作。

答案1

您的命令应该可以工作,尽管您不需要 grep 命令中的 -r 选项。当您尝试运行不符合预期的命令时会发生什么?

ls /path | grep string

以上对我有用。

您还可以尝试查看 find 命令:

find ~/Desktop/testFolder -iname '*contents*'

希望这会有所帮助并祝你好运!

答案2

您唯一的错误是设置-r了选项grep

答案3

你想要:ls ~/Desktop/testFolder/*contents*

相关内容