Usando o ls -l com um pipe, como posso fazer com que ele exiba o 8º arquivo da lista sem os detalhes do arquivo

Usando o ls -l com um pipe, como posso fazer com que ele exiba o 8º arquivo da lista sem os detalhes do arquivo

Estou procurando exibir o oitavo nome do arquivo em um diretório usando ls -l e pipe, por exemplo, ls -l | wc -1 me daria a contagem, mas o que eu quero retornar é o oitavo nome do arquivo na lista de diretórios, seja ele qual for. olhei grep e curingas, mas ainda não vejo qual comando me daria o resultado que estou procurando.

Obrigado

Responder1

tentar

ls -l | head -n 9 | tail -n 1

se quiser apenas o nome pode usar cutno final

ls -l | head -n 9 | tail -n 1 | tr -s ' ' | cut -d' ' -f8

tré substituir multiplicar espaços e tabulações por um espaço

Responder2

Outra maneira é assim.

ls -l | sed -n '9p'

Se você deseja apenas o nome do arquivo ou diretório, use-o.

ls -l | sed -n '9p' | awk '{print $9}'

jcubic tem certeza de que era isso que você queria?

ls -l | head -n 9 | tail -n 1 | tr -s ' ' | cut -d' ' -f8

Eu acho que ele iria querer o nome do arquivo ou diretório assim.

ls -l | head -n 9 | tail -n 1 | tr -s ' ' | cut -d' ' -f9

Responder3

ls | awk 'NR==8'

Responder4

Só não use-l

é | cabeça -8 | cauda -1

Você obtém o nome do arquivo e lsordena os arquivos da mesma forma que ls -l.

informação relacionada