找到目录中的一个文件


2

我有很大的文件集。当我使用命令查找时,我确定此集合中只有一个文件。为了使我的所有find命令更快,我想在找到一个文件之前运行find命令。我不需要等待更多文件。也许一些bash脚本有休息....

知道怎么做吗?

linux  ubuntu  find 

Answers:


5

使用GNU,find您可以使用该-quit选项。

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

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

谢谢。它运作良好。

0

尝试阅读手册(man find):

-放弃

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


0

你可以使用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 - 意味着如果需要多行写入10q(10行),只需要一行生成的查找行

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


这个答案不是很有用。也许你至少可以说几句话来解释你的真正含义以及它如何回答这个问题?
mvp 2013年

更新简短的解释
Dmitry Zagorulkin 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.