Podemos encontrar a contagem de páginas de um arquivo no Unix / Linux?

3

Eu quero contar o número de páginas no arquivo /var/log/messages , para que eu possa usar o comando pr para começar a imprimir a partir da página que eu quero.

Por exemplo, suponha que o arquivo /var/log/messages contenha 300 páginas, então eu posso usar o seguinte para imprimir as últimas 5 páginas.

pr +295 /var/log/messages

Observação: o comando pr listará a contagem de páginas quando especificarmos um número de página que exceda o número de páginas disponíveis no arquivo, conforme mencionado abaixo.

pr +400 /var/log/messages
pr: starting page number 400 exceeds page count 313 

Dito isto, gostaria de saber se existe um comando específico para encontrar a contagem de páginas.

    
por Akheel Asadi 11.07.2014 / 07:42

2 respostas

2

pr tamanho da página padrão para o arquivo de texto é 56 . Então você pode fazer assim:

$ perl -MPOSIX=ceil -nle 'END{print ceil($./56)}' file

Se você quiser contar muitos arquivos, tente:

$ perl -MPOSIX=ceil -nle '
    if (eof) {
        print ceil($./56);
        close ARGV;
    }
' file1 file2 file3
    
por 11.07.2014 / 09:00
0

Eu criei um hack horrível para extrair essa informação da própria saída pr . Se você usar pr em um arquivo, por padrão, ele irá gerar em cada página um cabeçalho com o número da página do formulário

2014-07-04 11:40                   file.txt                    Page 1

Assim, você pode executar pr no arquivo, extrair o último cabeçalho da saída e, a partir desse cabeçalho, extrair o número da página.

Por exemplo, com um dos seguintes comandos:

pr file.txt | awk '/file.txt\s+Page/{ print $5; }' | tail -n1

ou

pr file.txt | awk '/file.txt/ && /Page/{ print $5; }' | tail -n1

Você obtém as informações desejadas.

Exemplo:

> pr grapher.cpp | awk '/file.txt .* Page/'
2014-07-04 11:40                   file.txt                    Page 1
2014-07-04 11:40                   file.txt                    Page 2

> pr file.txt | awk '/file.txt\s+Page/{ print $5; }' | tail -n1
2

Uma das vantagens deste método é que você pode ajustar o número de linhas e colunas através das opções pr e ainda obter o resultado correto. O único problema é que algumas opções removem o cabeçalho da saída ...

    
por 11.07.2014 / 08:58