Como executar um comando em vários arquivos e redirecionar a saída para um arquivo diferente, dependendo do nome do arquivo de entrada

0

Estou tentando converter um lote de arquivos latex usando o catdvi.

O comando que eu uso para um único arquivo é:

catdvi -e 1 -U 1.dvi | sed -re "s/\[U\+2022\]/*/g" | sed -re "s/([^^[:space:]])\s+/ /g" > 1.txt

No entanto, quero executar o mesmo comando em todos os arquivos de 1.dvi para 30.dvi. Quando eu fiz:

for f in *.dvi ; do catdvi -e 1 -U $f | sed -re "s/\[U\+2022\]/*/g" | sed -re "s/([^^[:space:]])\s+/ /g" > "${f%.dvi}.txt"; done;

Ocorre um erro ao esperar 0 ou 1 argumentos, obteve 10, etc.

Qual alteração eu preciso fazer no comando?

    
por deshmukh 20.07.2012 / 06:03

1 resposta

1

A resposta a uma pergunta semelhante será aplicada também aqui. Então, aqui está o link:

Comando em lote que requer redirecionamento de saída

    
por deshmukh 23.07.2012 / 13:02