segunda-feira, 16 de junho de 2014

Shell command FIND + CUT + REV - Como recuperar o último campo usando o comando CUT !

O comando CUT possui argumentos como o -d (delemitador) e o -f que indica qual campo recuperar.

Por exemplo

/pasta/arquivo1.ini
/pasta/pasta2/arquivo2.ini

Para recuperar apenas os nomes dos arquivos teríamos que indicar o delimitador "/" e o número do campo no comando  CUT. Porém o número do campo iria varia pois no primeiro exemplo seria 2 e no segundo seria 3.

Como então recuperar o último campo?

Segue o comando:

find / -iname *.ini | rev | cut -d/ -f1 | rev

Recomando testarem da seguinte forma para entender o que o comando REV faz...

find / -iname *.ini | rev

find / -iname *.ini | rev | cut -d/ -f1

find / -iname *.ini | rev | cut -d/ -f1 | rev

Como eu queria apenas saber que nomes de arquivos .ini eu teria ainda adicionei um sort -u ao final  para trazer apenas nomes de arquivos distintos!

find / -iname *.ini | rev | cut -d/ -f1 | rev | sort -u

=)