@fokin_nikolay1989

Как вырезать слова из вывода?

Как можно вырезать из вывода
sshd -T | grep -i ‘^mac”
алгоритмы содержащие буквы
etm
И добавить в файл sshd_config
  • Вопрос задан
  • 259 просмотров
Решения вопроса 3
hint000
@hint000
у админа три руки
sshd -T | grep -i ‘^mac” | xargs -n1 echo | grep -v etm | xargs echo

Исходную строку разбили на много строк, по одному слову на строку, погрепали ненужное, снова собрали из отдельных слов одну строку.
Это ленивый (и не универсальный) вариант, если не хотите изучать sed или awk, как советует pfg21 (а он плохого не посоветует).
Ответ написан
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
у меня так сработало
sshd -T | grep -oiP '[a-z0-9-.]*etm@[a-z0-9-.]*'
Ответ написан
Комментировать
shambler81
@shambler81 Куратор тега Linux
sshd -T | grep -i mac | grep --perl-regexp --only-matching ".?mac-[^,]+etm[^,]+"



Вывод:
umac-64-etm@openssh.com
umac-128-etm@openssh.com
hmac-sha2-256-etm@openssh.com
hmac-sha2-512-etm@openssh.com
hmac-sha1-etm@openssh.com


тут сама регулярка
https://regex101.com/r/45gMoG/1
Единственное не совсем понял про
macs
по этому исключил его поскольку там разделитель пробел и не понятно что это такое
если нужен вывод с ним то вот так
sshd -T | grep -i mac | grep --perl-regexp --only-matching "[^,]*etm[^,]*"
macs umac-64-etm@openssh.com
umac-128-etm@openssh.com
hmac-sha2-256-etm@openssh.com
hmac-sha2-512-etm@openssh.com
hmac-sha1-etm@openssh.com
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@pfg21
ex-турист
если хочешь автоматизировать изучай sed awk perl и иже с ними.

если нужно разово - запиши в файл куданить в /run отредактируй и используй.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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