diz-lhe para colocar o diretório antes da expressão -name
. Além disso, você precisa de um *
para corresponder a todos os arquivos:
find somedir -name "*.qfx"
Estou procurando uma maneira de verificar um diretório recursivamente e imprimir todas as instâncias de qualquer arquivo que termine ".qfx". Assim, para um determinado diretório:
somedir/
fizz.qfx
buzz.qfx
blah/
foo.qfx
widget.js
meh/
bar.qfx
derp.gif
A saída seria:
somedir/fizz.qfx
somedir/buzz.qfx
somedir/blah/foo.qfx
somedir/blah/meh/bar.qfx
Eu estou no Ubuntu, então não há preferência em shell, python, perl, etc. A melhor tentativa até agora é:
find -name ".qfx" somedir
Mas recebendo o seguinte erro:
find: paths must precede expression: .
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec][path...] [expression]
Alguma ideia? Obrigado antecipadamente!
No caso de você usar zsh
como shell, você também pode usar ls **/*.qfx
, o que é bastante útil.
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]
solução:
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
Tags grep find linux filesystems