Procure por nomes de arquivo de um determinado tamanho no Unix

2

Como faço para pesquisar todos os arquivos de um determinado comprimento em um diretório, no UNIX? Por exemplo, como eu procuro por todos os arquivos cujos nomes são de comprimento 5 no diretório / blah?

Eu olhei tudo e não consigo encontrar nada.

James Mertz
fonte

Respostas:

10

Qualquer coisa errada com

ls /blah/?????

Como em

$ ls blah/*
blah/apple  blah/bananas  blah/pears  blah/pie

$ ls blah/?????
blah/apple  blah/pears
RedGrittyBrick
fonte
+1 ?é um curinga subestimado.
Glenn Jackman
5
find /blah -maxdepth 1 -iname '?????' -xtype f
Dan D.
fonte
Isso me diz que ambos maxdepth e iname são opções ruins.
Qual versão do find? o meu foi encontrado no gnu findutils-4.4.0.
Dan D.
Não precisa ser iname(insensível a maiúsculas e minúsculas) se tudo que você está combinando é curinga ... Caso contrário, exatamente o que eu estava procurando.
Lucas
0

Você pode usar isto:

ls | awk '{if (length($1)==10) print $1}'
Gaff
fonte
3
Unix suportava espaços em nomes de arquivos desde pelo menos os anos 80.
Grawity