在目录中找到一个文件

在目录中找到一个文件

我有大量的文件。当我使用 find 命令时,我确信此集合中只有一个文件。为了使所有 find 命令更快,我希望运行 find 命令直到它找到一个文件。我不需要等待更多文件。也许是一些带有 break 的 bash 脚本......

知道怎样做吗?

答案1

使用 GNUfind您可以使用该-quit选项。

例如,以下命令将打印找到的第一个 txt 文件然后退出。

find . -name "*.txt" -print -quit

答案2

尝试阅读手册(man find):

-辞职

立即退出。不会有任何子进程继续运行,但不会处理命令行上指定的其他路径。例如,find /tmp/foo /tmp/bar -print -quit 将仅打印 /tmp/foo。在 find 退出之前,将调用使用 -execdir ... {} + 构建的任何命令行。退出状态可能是零,也可能不是零,具体取决于是否已经发生错误。

答案3

您可以使用 sed 进行查找:

[za@pc-02 ~]$ find ./ -iname  '[0-9]' | sed 1q
./1
[za@pc-02 ~]$ find ./ -iname  '[0-9]'
./1
./3
./2
[za@apc-02 ~]$ ls
1  2  3  vim

sed 1q- 意味着你只需要一行,通过 find 生成,如果你需要多行,请写下这个10q(10 行)

[0-9]此正则表达式表示仅匹配范围内的一位数字0-9

相关内容