Linux 命令查找文件模式的所有实例?

Linux 命令查找文件模式的所有实例?

我正在寻找一种方法来递归扫描目录并打印出以“.qfx”结尾的任何文件的所有实例。因此,对于给定的目录:

somedir/
    fizz.qfx
    buzz.qfx
    blah/
        foo.qfx
        widget.js
        meh/
            bar.qfx
            derp.gif

输出结果为:

somedir/fizz.qfx
somedir/buzz.qfx
somedir/blah/foo.qfx
somedir/blah/meh/bar.qfx

我在 Ubuntu 上,所以在 shell、python、perl 等方面没有任何偏好。迄今为止最好的尝试是:

find -name ".qfx" somedir

但出现以下错误:

find: paths must precede expression: .
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec][path...] [expression]

有什么想法吗?提前致谢!

答案1

它告诉你把目录放在-name表达式前面。此外,你需要一个*来匹配所有文件:

find somedir -name "*.qfx" 

答案2

find /u02/fullbackup -name *.bck -print
find: paths must precede expression: arc_381465332_OSOS_20160219_2879_1.bck
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]

解决方案:

find /u02/fullbackup -name '*.bck' -print

/u02/fullbackup/dbf_381465332_OSOS_20160219_2872_1.bck
/u02/fullbackup/arc_381465332_OSOS_20160219_2882_1.bck
/u02/fullbackup/arc_381465332_OSOS_20160219_2892_1.bck
/u02/fullbackup/arc_381465332_OSOS_20160219_2894_1.bck
/u02/fullbackup/arc_381465332_OSOS_20160219_2891_1.bck
/u02/fullbackup/arc_381465332_OSOS_20160219_2885_1.bck
/u02/fullbackup/dbf_381465332_OSOS_20160219_2871_1.bck
/u02/fullbackup/arc_381465332_OSOS_20160219_2888_1.bck

答案3

如果你使用zshshell 的话,你也可以使用ls **/*.qfx,这非常有用。

相关内容