Dúvida com comando find

1. Dúvida com comando find

Nilo Pestana
nilopestana

(usa Debian)

Enviado em 17/07/2016 - 14:23h

Tenho alguns diretórios com vários arquivos pdf separados. Quero juntar estes arquivos em um único pdf em cada diretório. Estou tentando o seguinte:
find . -name Aula\* -exec pdftk {}/\* cat output {}/Resumo.pdf \; 

Porém esta dando ero no coringa "\*" com o erro, por exemplo:
Error: Failed to open PDF file: ./Aula 43 e 44/* 

Alguém sabe como posso resolver isso?


  


2. Re: Dúvida com comando find

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 17/07/2016 - 17:48h

nilopestana escreveu:

Tenho alguns diretórios com vários arquivos pdf separados. Quero juntar estes arquivos em um único pdf em cada diretório. Estou tentando o seguinte:
find . -name Aula\* -exec pdftk {}/\* cat output {}/Resumo.pdf \; 

Porém esta dando ero no coringa "\*" com o erro, por exemplo:
Error: Failed to open PDF file: ./Aula 43 e 44/* 

Alguém sabe como posso resolver isso?


Boa tarde Nilo.
Não escape o "*".
Tem espaço no nome dos arquivos?
Caso positivo, recomendo "tratar" o espaço....
Att.:
Marcelo Oliver



3. Re: Dúvida com comando find

Nilo Pestana
nilopestana

(usa Debian)

Enviado em 18/07/2016 - 11:41h

Boa tarde Marcelo Oliver! Os arquivos não tem espaço. Na verdade eles são as paginas de pdf que eu dei um burst com o pdftk e separei em diretórios, com o nome da aula. Por exemplo: no diretório "Aula 1 e 2" tem "pg_0001.pdf", "pg_0002.pdf", "pg_0003.pdf" e "pg_0004.pdf"; no diretório "Aula 3 a 5" tem "pg_0005.pdf", "pg_0006.pdf" e "pg_0007.pdf". E tem até a aula 60. Isto é apenas no diretório "Biologia 1". Tenho 18 diretórios com as 60 aulas hahaha. Por enquanto estou fazendo no braço, entrando em cada diretório e mandando um "pdftk * cat output Resumo.pdf", mas acho que deve ter um jeito melhor. Queria saber este jeito =)

Outra coisa: eu postei minha dúvida no lugar certo? É a primeira vez faço uma pergunta no forum...


4. Re: Dúvida com comando find

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 18/07/2016 - 12:51h

nilopestana escreveu:

Boa tarde Marcelo Oliver!
Os arquivos não tem espaço. Na verdade eles são as paginas de pdf que eu dei um burst com o pdftk e separei em diretórios, com o nome da aula.
Por exemplo:diretório "Aula 1 e 2" tem "pg_0001.pdf", "pg_0002.pdf", "pg_0003.pdf" e "pg_0004.pdf"; no diretório "Aula 3 a 5" tem "pg_0005.pdf", "pg_0006.pdf" e "pg_0007.pdf". E tem até a aula 60. Isto é apenas no diretório "Biologia 1". Tenho 18 diretórios com as 60 aulas hahaha. Por enquanto estou fazendo no braço, entrando em cada diretório e mandando um "pdftk * cat output Resumo.pdf", mas acho que deve ter um jeito melhor. Queria saber este jeito =)

Outra coisa: eu postei minha dúvida no lugar certo? É a primeira vez faço uma pergunta no forum...


Boa tarde nilopestana.
Parece que os espaços estão no nome do DIRETóRIO, é isso?
Outro detalhe, muito importante....
Você esta buscando por "Aula\*" que é o nome do DIRETóRIO, qdo deveria buscar pelo nome do ARQUIVO PDF.
find -type f -iname "pg_*.pdf" 


DICA:
TIRA ESPAÇOS dos DIRETÓRIOS:
rename -n 's/ /_/g' * #TESTA, COM o ARGUMENTO "-n" 

rename 's/ /_/g' * #EXECUTA 

find -type d -iname "* *" 

./DIR 03
./DIR 01
./DIR 02
./AULA 01 E 02

rename -n 's/ /_/' * 

rename(DIR 01, DIR_01)
rename(DIR 02, DIR_02)
rename(DIR 03, DIR_03)
rename(AULA 01 E 02, AULA_01_E_02)
rename 's/ /_/' * 


find -type d -iname "*_*"
./AULA_01_E_02
./DIR_03
./DIR_01
./DIR_02

Para a PERGUNTA:
Outra coisa: eu postei minha dúvida no lugar certo? É a primeira vez faço uma pergunta no fórum...
Não tenho a RESPOSTA... Nunca fiz uma pergunta . . . :)

É Isso!!!
Se a RESPOSTA foi ÚTIL, marque a como a MELHOR!!! :)

att.:
marcelo





5. Dúvida com comando find

Edwal F. Paiva Filho
nicolo

(usa Ubuntu)

Enviado em 18/07/2016 - 14:02h

Para juntar ou separar PDFś use o pacote pdfsam (pdf Split And Merge) que é gráfico e não requer macumba de Command Line.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts