ls paginação em MontaVista com BusyBox

3

Estou logado em um telefone IP executando o MontaVista com um binário BusyBox muito despojado (por despojado, quero dizer o OEM removeu quase toda a sua funcionalidade, exceto o básico como cat , ls etc) .

Estou fazendo um ls -l em um diretório e existem milhares de arquivos. Eu preciso ser capaz de pausar a lista de arquivos no final de cada página de resultados.

Normalmente, eu faria isso com ls -l|more ou mesmo ls -l|less , mas é claro que more e less não estão presentes neste telefone.

Existem outras formas de baixo nível de tornar ls paginate? Minha única outra opção é gravar a saída em um arquivo e, em seguida, tftp desligar o servidor e abri-lo em um computador adequado, mas este é um método muito rotativo (e lento) de fazê-lo.

    
por Mark Henderson 15.02.2011 / 02:44

1 resposta

4

Se você está acessando o dispositivo através de um terminal, você pode usar o GNU Screen para se conectar; você pode então usar a rolagem da tela para ver a saída.

Se o sistema tiver o vi instalado, você pode tentar enviar o comando para um arquivo e lê-lo com o vi.

Se isso não for suficiente, você pode fazer um script bash para mostrar o valor de uma tela e pausar.

for line in $(ls -l); do
  echo "$line"
  i=$((i+1))
  [ "$i" = 50 ] && read && i=0
done

Isto imprime 50 linhas e espera que você pressione enter antes de imprimir as próximas 50.

    
por 15.02.2011 / 03:30