Já experimentou backticks?
'echo !10 | sed 's/_e.pdf/_f.pdf/g''
Embora não possa deixar de sentir que você deveria estar usando make
.
Eu tenho um monte de arquivos pdf que são unidos com uma linha de comando muito longa em um diretório. Alguns estão em inglês e outros em francês, diferenciados por _e.pdf
e _f.pdf
.
Como eles estão unidos em uma ordem específica, a linha de comando não pode ser reduzida, mas eu gostaria de modificá-la e re-executá-la, simplesmente substituindo _e
por _f
. Como posso usar sed
(ou outro) para isso?
Digamos que o comando seja
pdfjoin file1_e.pdf file2_e.pdf file3_e.pdf
e na história é o comando 10.
Eu tenho chegado até
echo !10 | sed 's/_e.pdf/_f.pdf/g'
que ecoa o comando que quero executar. Mas eu realmente quero rodar isso, não apenas exibir o comando.
A propósito, o GNU sed tem um truque mais interessante para executar comandos:
echo !10 | sed 's/_e.pdf/_f.pdf/ge'
Tags command-line bash sed unix