Uma maneira seria usar find
para fazer a correspondência, embora talvez seja necessário alterar o padrão para corresponder à sintaxe find
em vez de grep
s, pois acho que eles não são idênticos.
find "$PWD" -maxdepth 1 -regex 'pattern'
deve mostrar o caminho completo e o -maxdepth
impedirá que ele entre nos subdiretórios. Se você quiser apenas usar globs em vez de regex, use a sintaxe -name 'glob'
e use o *
como faria com ls
.
Aqui está um exemplo de saída:
$ find "$PWD" -maxdepth 1 -regex '.*sh$'
/home/erenouf/tmp/scratch/t.sh
/home/erenouf/tmp/scratch/parseIW.sh
/home/erenouf/tmp/scratch/output.sh
desde que eu estava em ~/tmp/scratch
no momento e procurei por arquivos que terminaram em sh
Nesse caso, posso obter a mesma saída com
find "$PWD" -maxdepth 1 -name '*sh'
Para fazer com que pareça em subdiretórios, você pode apenas remover a parte -maxdepth 1
de cada comando