Como listar arquivos em um pedido?

0

Estou fazendo um loop nos seguintes arquivos

J0139+5814.2015-02-15-55:52.lofar4.ar.pscr
J0139+5814.2015-02-15-15:46.lofar2.ar.pscr
J0139+5814.2015-02-15-15:46.lofar3.ar.pscr
J0139+5814.2015-02-15-15:47.lofar1.ar.pscr

Após o loop, quero listá-los em uma ordem como:

J0139+5814.2015-02-15-15:47.lofar1.ar.pscr
J0139+5814.2015-02-15-15:46.lofar2.ar.pscr
J0139+5814.2015-02-15-15:46.lofar3.ar.pscr
J0139+5814.2015-02-15-55:52.lofar4.ar.pscr

Depois de listá-los dessa maneira, poderei aplicar minhas condições neles.

Note que, eu só me preocupo com a parte lofar1, lofar2, lofar3 e lofar4 no nome do arquivo (a outra parte dos nomes dos arquivos pode não ser a mesma, mas não importa no meu caso, eu só preciso liste-os usando a parte lofar1,2,3,4). Depois de configurá-los em uma ordem, é isso.

    
por abubakr yagob 03.04.2018 / 02:14

2 respostas

3

ls | sort -t. -k3
  • -t. significa delimitar possíveis chaves de classificação por pontos finais (períodos americanos)

  • -k3 significa classificar pela terceira tecla 'campo', seu lofar *

por 03.04.2018 / 03:33
3
$ ls | sort -t. -k3
J0139+5814.2015-02-15-15:47.lofar1.ar.pscr
J0139+5814.2015-02-15-15:46.lofar2.ar.pscr
J0139+5814.2015-02-15-15:46.lofar3.ar.pscr
J0139+5814.2015-02-15-55:52.lofar4.ar.pscr

Explicação

  • ls | : canaliza a saída de ls para o comando sort .
  • sort -t. -k3 : classifica a saída de ls .
    • -t. : o delimitador ("separador de campo") é .
    • -k3 : estamos classificando do terceiro campo, que é lofar…
por 03.04.2018 / 03:33

Tags