Considere estes arquivos:
$ ls --quoting-style=c -1 *.*
"Another Potential Title.1989.prop.ext2"
"being there.2000.prop.ext3"
"Could Be A Title.2001.prop.ext1"
"Yet Another Potential Title.1989.prop.ext2"
Isso classifica no ano:
$ ls --quoting-style=c *.* | sort -t. -k2n
"Another Potential Title.1989.prop.ext2"
"Yet Another Potential Title.1989.prop.ext2"
"being there.2000.prop.ext3"
"Could Be A Title.2001.prop.ext1"
Para seus diretórios, uma abordagem semelhante funciona:
$ ls --quoting-style=c -d */ | sort -t'(' -k2n
"Charlie Fisher's (1989)/"
"Badger Bodger (2001)/"
Por causa da opção --quoting-style=c
, essa abordagem funcionará mesmo com nomes de arquivos com novas linhas ou outros caracteres difíceis. Se você tiver certeza de que seus nomes de arquivo não contêm novas linhas, você pode omitir essa opção.
Como funciona
sort
pode dividir as linhas de entrada nos campos. A opção -t
define o separador de campo. Para os arquivos, o separador de campos é um .
enquanto para diretórios um separador de campo de (
é usado. A opção -k
determina qual campo é classificado. Para ambos os casos acima, pedimos que sort
ordene numericamente no segundo campo.