Используйте sed для изменения и выполнения предыдущей команды


1

У меня есть куча PDF-файлов, которые объединены в очень длинную командную строку в каталоге. Некоторые на английском языке, а некоторые на французском _e.pdf а также _f.pdf,

Поскольку они объединены в определенном порядке, командная строка не может быть сокращена, но я хотел бы изменить и повторно выполнить ее, просто заменив _e от _f, Как я могу использовать sed (или другое) для этого?

Допустим, команда

pdfjoin file1_e.pdf file2_e.pdf file3_e.pdf 

и в истории это команда 10.

Я дошел до

echo !10 | sed 's/_e.pdf/_f.pdf/g'

который повторяет команду, которую я хочу выполнить. Но на самом деле я хочу запустить это, а не просто отобразить команду.

Ответы:


5

Вы пробовали спины?

`echo !10 | sed 's/_e.pdf/_f.pdf/g'`

Хотя я не могу не чувствовать, что вы должны использовать make,


0

Кстати, в GNU sed есть более интересная хитрость для выполнения команд:

echo !10 | sed 's/_e.pdf/_f.pdf/ge'
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.