Как я могу применить замену каре к своей энной в последний раз команде?

Почему Вы думаете, что 'часы' не будут работать?

$ cat periodic.sh
#!/bin/bash
echo $(date)
$ chmod +x periodic.sh

$ watch -n 5 ./periodic.sh
3
22.08.2010, 22:39
2 ответа

Вы не можете сделать этого с быстрой заменой непосредственно, потому что ^foo^bar сокращение от:

!!:s/foo/bar/

!! часть (который относится к последней команде) не является частью быстрого синтаксиса (это - то, что делает это быстрым), но можно использовать более длинный синтаксис непосредственно и затем изменить !! к чему Вы хотите:

!-4:s/foo/bar/

Я объяснил такое количество синтаксиса истории, как я знаю в этом сообщении; последний раздел включает :s модификатор

5
27.01.2020, 21:17
  • 1
    Это в значительной степени, что я после, хотя заголовок может предложить иначе (не знал о :s модификатор!). Огромное спасибо. –  Zaid 22.08.2010, 23:28
  • 2
    ... и !! самостоятельно просто сокращение от !-1. –  isomorphismes 03.01.2013, 21:01
  • 3
    @isomorphismes связанный ответ входит в это (и еще много) –  Michael Mrozek♦ 03.01.2013, 21:24

Вы могли записать долгую команду как функцию оболочки, которая берет имя файла в качестве параметра, и затем просто введите function filename когда Вам нужен он.

0
27.01.2020, 21:17
  • 1
    , я рассмотрел выполнение этого, но природа команды делает это более поддающимся оперативному редактированию. –  Zaid 22.08.2010, 23:06

Теги

Похожие вопросы