Согласование нескольких шаблонов на одной строке

Я часто использую программу tty0tty , которая создает нулевой модем с использованием PTY. Теперь я хочу сделать его частью автоматизированного процесса.

Когда я начинаю tty0tty он печатает

 (/dev/pts/1) <=> (/dev/pts/2) 

Можно ли было бы разобрать результат и использовать совпадения в качестве параметров для другой программы? Чтобы автоматизировать следующие строки:

 linux$ tty0tty & (/dev/pts/X) <=> (/dev/pts/Y) linux$ someprogram /dev/pts/X & linux$ microcom /dev/pts/Y 

  • Ищете способ переместить четные строки в начало нечетных строк
  • Удалить первую строку файла
  • Лучший способ запустить серию из семи одинаковых команд в sed?
  • Подготовить x / к строке, где x - переменная на каждой строке
  • Работает ли ] для sed шаблонов на всех дистрибутивах Linux?
  • Как вставить первую строку одного файла в первую строку другого?
  • Легко получить конкретный столбец из вывода без sed или awk
  • Добавить строку суффикса в конец каждой строки?
  • One Solution collect form web for “Согласование нескольких шаблонов на одной строке”

    Вы можете использовать sed и замену процессов :

     read left right < <(tty0tty | head -n 1 | sed -e 's/[()<=>]//g' &) 

    После этого $left/dev/pts/X а right/dev/pts/Y

    Это немного обманывает – мы просто заменяем символы ( , ) , < , = , и > ничем, а затем полагаемся на разделение слова оболочки после этого.

    Мы tty0tty вывод tty0tty в head поэтому мы принимаем только первую (только) линию вывода и не блокируем навсегда. Оттуда он переходит в команду sed которая выполняет замену, а затем использует read bultin оболочки, чтобы привязать переменные оболочки left и right к первому и второму словам ввода, который мы ему даем. Мы получаем этот ввод из <(...) . <(...) запускается ... в подоболочке и связывает его вывод с трубой, с которой мы можем читать. Мы пропитываем эту трубу в первый, а затем получаем /dev/pts/X /dev/pts/Y и разделяем ее на два слова, которые мы хотели.

    После этого вы можете запустить someprogram $left и someprogram $left усмотрению.

    Interesting Posts

    Извлечение информации из имени файла и содержимого файла

    Различать ошибку и «успех» в scanimage-batch

    Почему cpuinfo_cur_freq и / proc / cpuinfo сообщают о разных номерах?

    Копирование содержимого удаленного файла в локальный буфер обмена через PuTTY

    Открытые программы без блокировки терминала через Putty

    Как изменить приоритет сетевых интерфейсов?

    Запуск двух интерфейсов на одной сетевой карте

    Как я могу создать android на моем debian при использовании eclipse? (проблема java-зависимостей)

    Разница между $ 1, $ {1} и $ "1" в awk

    Невозможно подключиться к проводной сети после спящего режима

    Почему для setgid () необходимы дополнительные ресурсы для дополнительных групп

    Захват ключевого ввода из устройства событий и его отображение (кнопка переключения сенсорной панели не отображается)

    Как перезапись работает для несмежных файлов?

    Кошка пишет текст с «$» внутри

    rsync через ssh из linux в windows sbs 2003 несоответствие протокола

    Linux и Unix - лучшая ОС в мире.