Редактирование вывода команды как новая команда

Принятие Вашего компьютера обычно стабильно, проверьте на аппаратные проблемы, особенно с RAM (т.е. установка memtest86+ и выберите memtest при подсказке начальной загрузки), но также и с дисками (ошибки диска иногда разрушают код файловой системы; установка smartmontools и выполненный smartctl -a /dev/sda). Если проблема была постепенна, можно найти что-то в журналах ядра (/var/log/kern.log), но часто катастрофический отказ происходит слишком жестоко, чтобы что-либо было записано в журналы.

5
10.10.2012, 12:24
4 ответа

От zshbuiltins:

- z Нажатие аргументы на стопку буфера редактирования, разделенную пробелами.

Производить содержание xsel к Вашей командной строке:

print -z $(xsel -op)
4
27.01.2020, 20:34
  • 1
    Хорошо, лучше, чем print -s, работы над zsh –  simao 16.10.2012, 17:29

Можно получить добавленный к истории (по крайней мере, в ударе, я не уверен в zsh) путем выполнения следующего

history -s $(xsel -op)

Затем получите и отредактируйте его.

Я с тех пор нашел это

print -s $(xsel -op)

работы эквивалентно под zsh

4
27.01.2020, 20:34
  • 1
    это похоже на то, что я хочу, но не работает в zsh –  simao 10.10.2012, 13:16
  • 2
    я нашел Вас, может сделать то же под zsh с печатью-s $ (xsel-op) –  Julian 10.10.2012, 13:25
  • 3
    можно даже работать fc сразу после history -s $(xsel -op) или print -s $(xsel -op) если Вы хотите отредактировать команду в $EDITOR (vi, нано, безотносительно). –  cas 11.10.2012, 08:46

Вместо того, чтобы добавлять его к истории вручную, можно просто нажать удар shell-expand-line ключ (M-C-e):

   shell-expand-line (M-C-e)
          Expand the line as the shell does.  This performs alias and his‐
          tory expansion as well as all of the shell word expansions.  See
          HISTORY EXPANSION below for a description of history expansion.
3
27.01.2020, 20:34

Я не совсем уверен, что Вы пытаетесь сделать, но что-то вроде этого должно работать:

`xsel -op | sed 'do something'`

Обратные галочки заставят Bash выполняться, в этом случае, независимо от того, что сохраняется в X основной буфер выбора, который Вы только что отредактировали использование sed. Например:

echo "find . -name foo" | xsel -p
`xsel -op | sed 's/foo/bar/`

Вышеупомянутые команды вызовут find быть выполненным, ища файлы или папки, названные "панелью".

0
27.01.2020, 20:34
  • 1
    Едва ли, что я хотел бы, я хочу отредактировать его в терминале, не с sed –  simao 10.10.2012, 13:17

Теги

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