Intereting Posts
Добавить содержимое heredocument в файл, только если этот контент еще не существует в этом файле Могу ли я сделать вторую мышь / клавиатуру (виртуальную) для использования xdotool? Я пытаюсь открыть порт 19132 на моем сервере Ubuntu, но не работает 'nc', используя ~ 100% CPU при передаче файла FIFO В настоящий момент перестановка не поддерживается. Вы должны объединить объем, а затем снова установить его Неожиданное падение запросов Apache Подавление "sudo: извините, для запуска sudo требуется пароль" 2 Аутентификация фактора в SSH с использованием открытого ключа и PAM Извлечь строки, которые имеют конкретное окончание, и использовать их для извлечения из другого файла Как проверить или проверить встроенное ядро? SARG без каких-либо записей Как удалить звуковую дорожку носителя, который я импортирую в проект Pitivi? Автоматическое извлечение zip-файлов, таких как osx Что такое Wayland? bash + как хранить скрипты оболочки

vi: как использовать строку в качестве команды?

cat a.txt echo hi echo hu echo ha 

Q: как я могу выполнить, например: вторая строка в файле .txt, когда она открывается с помощью vi?

поэтому «vi a.txt» -> then SOMEMAGICCOMMAND ->, тогда «echo hu» выполняется как команда. Как?

Выполняет текущую строку и фиксирует вывод в файле, заменяющем строку

 :. !sh 

Выполняет строки с 2 по 4 и фиксирует вывод в файле, заменяющем эти строки

 :2,4 !sh 

Выполняет весь файл и фиксирует вывод в файле, заменяя все строки

 :% !sh 

То же, что и выше, но не записывая вывод в файл, просто распечатывая его

 :.w !sh :2,4w !sh :%w !sh 

Предполагая, что вы используете vim

Я знаю, что если вы выберете строку, содержащую текст ( Shift + V ), а затем дайте команду:

 :!sh 

Он выполнит выбранную строку и заменит ее результатами.

пример

Вы можете увидеть, что происходит в демо ниже.

демонстрационная страница