是否有一种惯用的方法来检测“查找”是否找到了任何匹配项?我目前正在使用
COUNT=`find ... | wc -l`
if [ "$COUNT" -gt 0 ]; then
Run Code Online (Sandbox Code Playgroud)
但这对我来说似乎有点间接。另外,我希望 find 一旦找到匹配项就停止搜索,这样就不会浪费时间和精力。我只需要知道是否有任何匹配的文件。
更新:我犯了在没有代码的情况下编写问题的错误:我wc -l
在不同的情况下使用,无论如何我需要知道找到的文件总数。在我只测试是否有任何匹配的情况下,我使用if [ -z $(find …) ]
.
Gil*_*il' 16
如果您知道您有 GNU find,请使用-quit
使其在第一次匹配后停止。
可移植地,将输出通过管道传输find
到head -n 1
. 这种方式find
将在几次匹配后(当它被填充head
的输入缓冲区时)死于管道破裂。
无论哪种方式,您都不需要wc
测试字符串是否为空,shell 可以自行完成。
if [ -n "$(find … | head -n 1)" ]; then …
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8469 次 |
最近记录: |