Se você alterar seu shell para zsh, precisará de find com muito menos frequência, pois o zsh permite que você faça a maior parte do que o find pode fazer através da globulação. Para começar, **/ tem um significado especial: **/foo expande para arquivos chamados foo no diretório atual e seus subdiretórios recursivamente, ou seja, ele corresponde aos mesmos arquivos que find . -name foo . Então você pode editar todos os jogos com
vi **/*.properties
Desde o bash 4.0, se você colocar shopt -s globstar no seu ~/.bashrc , **/ se comportará da mesma maneira.
Em zsh, você tem muito mais possibilidades graças aos qualificadores glob (descritos muito próximo do final do zshexpn página man ). O princípio é restringir as partidas adicionando um ou mais qualificadores entre parênteses após a partida. Por exemplo, o qualificador . se restringe a arquivos regulares, enquanto / se restringe a diretórios. O qualificador [1] retém apenas a primeira correspondência; [1,4] retém as primeiras quatro correspondências; e assim por diante. Por exemplo, para editar o primeiro (na ordem lexicográfica do caminho completo), o arquivo regular corresponde a *.properties :
vi **/*.properties(.[1])
Se você preferir editar o arquivo de correspondência modificado mais recentemente, use o om qualifier para classificar as correspondências por horários de modificação (em ordem de aumento de idade):
vi **/*.properties(.om[1])