Unix awk Совместите строку и выполняйте разграничение

Я предпочитаю использовать систему клавиш Compose, я только что проверил, и мне кажется, что у меня были Составить - / - ? Составить - ? - / ) настроен на вывод U + 2E2E в течение некоторого времени (? Отражается от /)

Мой .XCompose файл выглядит так:

#
# add in the original stuff (what's usually there)
include "%L"
#
# Compose key sequences
#
# generate PI char
<Multi_key> <p> <i>     : U03C0 # U03C0 PI
<Multi_key> <P> <I>     : U03C0 # U03C0 PI
#
<Multi_key> <i> <n> <f> : U221E # U221E infinity
<Multi_key> <I> <N> <F> : U221E # U221E infinity
#
<Multi_key> </> <?>     : U2E2E # U2E2E irony punctuation (reversed ?)
<Multi_key> <?> </>     : U2E2E # U2E2E irony punctuation (reversed ?)
#
<Multi_key> <3> <*>     : U2042 # U2042 asterism
#
#

Здесь я извлекаю правильный 'preset' Составляйте нажатия клавиш с помощью , включая строку "% L" , а затем добавляйте мои собственные настройки после этого ...

У меня есть Capslock , переназначенный на мой Составьте ключ , проверьте в диспетчере окон, как это сделать, или прочтите о команде setxkbmap . Но вот мой:

setxkbmap -model pc101 -layout us -option -option compose:caps -option shift:both_capslock

Устанавливает Capslock как Compose , также устанавливает Shift + Shift ( оба ) для переключения Capslock. (для тех редких случаев). Многие другие параметры -option , я удалил пару для краткости, в основном X Windows ZAP ( Ctrl - Alt - Backspace ) нажатий клавиш и Left-Win является Meta

0
04.01.2019, 16:43
3 ответа

Если вы ищете количество полученных пакетов:

ssh -qn xckvl002 "ping -w2 -c3 xcvtc012 | awk '/packets transmitted,/ {print \$4}'"

Поскольку вы используете двойные кавычки вокруг удаленной команды, внутренние одинарные кавычки теряют свое непосредственное значение кавычек, и, таким образом, такие символы, как $, по-прежнему необходимо экранировать. Это причина обратной косой черты в print \$4.

Обратите внимание, что реализации pingмогут иметь разные выходные данные. В моем случае, например, N packets receivedвместо Received = N. Вы можете позаботиться о том, чтобы шаблон поиска, заключенный в косую черту в моем примере awk, правильно определял строку сводки. Кроме того, если в вашем выводе имеется другое количество полей, разделенных пробелами -, вам, возможно, придется использовать число, отличное от 4, для переменной поля $4.

РЕДАКТИРОВАТЬ :Решение с использованием sedдля тех, кому интересно:

ssh -qn xckvl002 "ping -w2 -c3 xcvtc012 | sed -nr 's/.*([0-9]+)\s*received,.*/\1/p'"

1
28.01.2020, 02:18

Если у вас есть GNU grep:grep -oP '\d+(?= packets received)'

найти цифры, за которыми следуют "полученные пакеты"

2
28.01.2020, 02:18

Я использовал команду ниже:

# ping -c3 hostname|awk '/received/{print $0}'| awk -F "," '{print $2}'|sed -r "s/^\s+//g"| awk '{print $1}`

Вывод:

3
1
28.01.2020, 02:18

Теги

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