pdfgrep gera arquivo binario

1. pdfgrep gera arquivo binario

Marcelo Grandolpho Facioli
mgfacioli

(usa Ubuntu)

Enviado em 27/08/2020 - 22:31h

Olá, pessoal...

Estou lendo um livro Lisp no formato pdf e queria extrair somente as linhas de codigo para um arquivo .txt ou .lisp, para não ter que ficar digitando todos comandos no interpretador de comando. Todas linhas de código no Lisp começam e terminam com um parenteses, por exemplo, para somar 2 numeros: (+ 2 3).

Usei no terminal o comando
$ pdfgrep -n -e "\(" Lisp.pdf > Lisp.lisp
, sendo que o parametro -e é a expressão regular que busca todas linhas que começam com parenteses.

Funcionou beleza, consegui capturar todas as linhas de código, mas o interpretador do Lisp (emacs-slime) dá erro quando tento executá-las. Digitei no terminal
$ file -i Lisp.lisp
, já supondo que seria algum problema de codificação, ele retorna
Lisp.lisp: application/octet-stream; charset=binary
.
O seja, tá gerando um arquivo binário e o que eu preciso seria UTF-8 ou similar.

Alguem tem alguma idéia de como fazer isso?


  


2. Re: pdfgrep gera arquivo binario

Matheus
pylm

(usa Gentoo)

Enviado em 28/08/2020 - 09:37h


Tenta o pdftotext


pdftotext arquivo.pdf - | grep "\(" > codigo.lisp



3. Re: pdfgrep gera arquivo binario

Marcelo Grandolpho Facioli
mgfacioli

(usa Ubuntu)

Enviado em 29/08/2020 - 07:23h

pylm escreveu:


Tenta o pdftotext


pdftotext arquivo.pdf - | grep "\(" > codigo.lisp


Eu já tinha tentado esse comando, mas o resultado é o mesmo:

$ file -i onLispCodeNew.txt
onLispCodeNew.txt: application/octet-stream; charset=binary

Achei que talvez tivesse algum flag que estava me esquecendo, mas acho que não é esse o caso.


4. Re: pdfgrep gera arquivo binario

Matheus
pylm

(usa Gentoo)

Enviado em 29/08/2020 - 09:02h

Tenta usar o -a no grep, pra ele tratar arquivos binários como texto.


pdftotext arquivo.pdf - | grep -a "\(" > codigo.lisp



5. Re: pdfgrep gera arquivo binario

Marcelo Grandolpho Facioli
mgfacioli

(usa Ubuntu)

Enviado em 29/08/2020 - 09:16h

Não funcionou nem com flag -a nem com --binary-files

pdftotext onlisp.pdf - | grep --binary-files=text "(" > onLispCodeNew.txt

$ file -i onLispCodeNew.txt
onLispCodeNew.txt: application/octet-stream; charset=binary







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts