Tubulação para gráficosmagick -- pipe camp askubuntu Relacionado O problema

Piping into GraphicsMagick


0
vote

problema

português

Eu ainda estou aprendendo a linha de comando, e estou tendo problemas para ligar uma lista de arquivos em GraphicsMagick para conversão para PDF:

  find . -type f | sort | gm convert file.pdf    

Isso dá o erro: gm convert: Request did not return an image.

Posso fazer isso sem recorrer a métodos mais complicados?

english

I'm still learning the command line, and I'm having trouble piping a list of files into graphicsmagick for conversion to pdf:

find . -type f | sort | gm convert file.pdf 

This gives the error: gm convert: Request did not return an image.

Can I do this without resorting to more complicated methods?

  

Lista de respostas

2
 
vote
vote
Melhor resposta
 

Esta é uma pergunta antiga, mas achei procurando uma solução para o mesmo problema e nunca encontrei uma resposta completa. Eu vim com uma maneira simples (-ish) de fazer isso sozinho:

  1.29   

Não funciona se houver espaços ou novas linhas em qualquer um dos caminhos de arquivos originais, no entanto.

Este método tem que executar converter uma vez para cada arquivo de entrada. Leva muito (muito) mais longo, especialmente se houver um grande número de imagens originais, mas não será tropeçado por nomes de arquivos:

  0.900   
 

This is an old question, but I found it looking for a solution to the same problem and never really found a complete answer. I came up with a simple(-ish) way of doing it myself:

gm convert $(find . -type f -printf '%p\0' | sort -z | sed 's/\x00/ /g') file.pdf 

It won't work if there are spaces or new lines in any of the original files' paths, though.

This method has to execute convert once for every input file. It takes much (much much) longer, especially if there are a large number of original images, but it won't get tripped up by file names:

find . -type f -printf '%p\0' | sort -z | xargs -0 -I {} gm convert -adjoin file.pdf {} file.pdf 
 
 
0
 
vote

do manual ,

  convert [ options ... ] input_file output_file    

Então você precisa especificar seus arquivos ...

  for i in `find . -type f | sort` do   gm convert "$i" "$i".pdf done    
 

From the manual,

convert [ options ... ] input_file output_file 

So you need to specify your files...

for i in `find . -type f | sort` do   gm convert "$i" "$i".pdf done 
 
 
   
   

Perguntas relacionadas

123  Como a saída padrão do terminal de tubo (stdout) para a área de transferência?  ( How do i pipe terminal standard output stdout to the clipboard ) 
Por exemplo, Diga que eu quero Listar o conteúdo de uma pasta e colá-los diretamente em uma janela de bate-papo para um amigo ver. Eu percebo que poderi...

18  Como executo comandos FTP em uma linha?  ( How do i execute ftp commands on one line ) 
É isso que estou fazendo quando fizemos login em um ftp: ftp user:password@server ftp: user:password@server: Unknown host ftp> echo HELLO WORLD! ftp> quit ...

31  Mate processos Java  ( Kill java processes ) 
Estou trabalhando em um código computacionalmente pesado que - por enquanto - cai muito, mas ainda estou trabalhando nisso :) Quando ele trava, não consigo fe...

14  Como excluir todos os arquivos retornados pela localização  ( How to delete all files that are returned by locate ) 
No momento, é o que eu faço: Passo 1: locate fooBar /home/abc/fooBar /home/abc/Music/fooBar Etapa 2: Execute manualmente uma remoção, por copiando ...

1  Por que os trabalhos de substituição de comando e o gasoduto não [duplicado]  ( Why command substitiution works and pipeline not ) 
. Esta pergunta já tem respostas aqui : Por que o comando não é o comando "ls | arquivo "trabalho? ...

24  Como posso direcionar uma entrada de tubulação para o comando ls?  ( How can i direct a pipe input to ls command ) 
Quando eu digito algo como: find . -name *foo* | ls -lah Retorna o mesmo resultado como um comando simples ls , como se não tivesse entrada. No enta...

3  Como fechar um tubo nomeado (assim permitindo-o para gato)?  ( How to close a named pipe thereby enabling it for cat ) 
Eu preciso de ajuda para fechar um tubo nomeado. Eu criei um nome fifo nomeado por mkfifo myfifo , então alguns arquivos executáveis ​​C ++ escreveu / lidos ...

6  gzip não está funcionando após o pipeline  ( Gzip is not working after the pipeline ) 
Por algum motivo gzip não funciona. Isso me dá um arquivo vazio /usr/bin/mysqldump --opt -u root -ppassword database > database.sql | gzip > database.sql.g...

0  Como faço para refrescar o GT5 cada quantia x segundos?  ( How do i refresh gt5 every x amount of seconds ) 
Estou usando o Programa GUI Terminal GT5 , que é um "du -browser". Eu quero ter este programa refrescar automaticamente a cada 30 segundos, ou execute a cada...

1  Erro quando inicialização: não foi possível gravar bytes: tubo quebrado  ( Error when boot could not write bytes broken pipe ) 
Bom dia, Eu vejo que há várias perguntas sobre o mesmo tópico, mas parece que a causa é um pouco diferente. Eu tentei que resolva meu problema olhando e ten...




© 2022 pergunte.org All Rights Reserved. Casa de perguntas e respostas todos os direitos reservados


Licensed under cc by-sa 3.0 with attribution required.