find /sda /sdb /sdc -type f -printf '%f\n' | sort
Por exemplo:
$ tree sd[a-c]
sda
└── Alfa
└── File 1
sdb
└── Bravo
├── File 20
└── File 5
sdc
└── Delta
├── File 11
└── File 14
$ find sd[a-c] -type f -printf '%f\n' | sort
File 1
File 11
File 14
File 20
File 5
Note que isto é o que normalmente se entende por ordem alfabética, mais precisamente declarada como ordem lexicográfica. ( 5
o caractere não vem antes de 1
do caractere, então 5
a string não pode vir antes de 14
da string - 05
, no entanto, irá.)
Explicação:
find
é um programa para encontrar coisas.
-
-type f
indica que queremos arquivos regulares e não diretórios (ou outros arquivos especiais). - A saída usual de
find
é o caminho do arquivo, portanto obteríamossda/Alfa/File 1
, mas usando-printf '%f\n'
, informamosfind
para imprimir apenas o nome do arquivo.