Eu tenho um problema ao colocar a saída das seguintes instruções (a instrução funciona) na variável:
pdftk file.pdf dump_data | grep NumberOfPages | awk '{print $2}'
quando eu faço por exemplo:
VARIABLE=$( pdftk file.pdf dump_data | grep NumberOfPages | awk '{print $2}' ) | echo $VARIABLE
não me mostra o valor da variável... Alguém pode me dizer o que estou fazendo de errado? Obrigado
Você deveria usar:
Em vez do último tubo.
Usar:
O problema é usar um pipe (
|
) que não funciona com echo.Você não precisa canalizar
grep
a saída paraawk
. O awk pode fazer o mesmo tipo de correspondência de padrão de expressão regular que o grep (e muito mais).Você precisa colocar aspas duplas nas variáveis ao usá-las. E substituições de comandos.
Como outros já apontaram, o caractere pipe não encerra instruções. Use uma nova linha ou
;
em vez disso.Juntando tudo:
BTW,
pdfinfo
do poppler-utils é outra boa ferramenta para obter um resumo dos metadados de um arquivo PDF (incluindo a contagem de páginas). Ele fornece apenas os metadados do arquivo (título, assunto, autor, palavras-chave, contagem de páginas, etc.) em um formato facilmente analisado, sem detalhes sobre cada página individual (portanto, é visivelmente mais rápido em arquivos PDF grandes).