для извлечения только чисел из вывода

Решение:

Пример sources.list с веб-сайта Debian Ниже приведен пример файла sources.list для Debian 9/Stretch.

deb http://deb.debian.org/debian stretch main
deb-src http://deb.debian.org/debian stretch main

deb http://deb.debian.org/debian stretch-updates main
deb-src http://deb.debian.org/debian stretch-updates main

deb http://security.debian.org/debian-security/ stretch/updates main
deb-src http://security.debian.org/debian-security/ stretch/updates main

Если вам также нужны компоненты contrib и non -free, добавьте contrib non -free после main:

deb http://deb.debian.org/debian stretch main contrib non-free
deb-src http://deb.debian.org/debian stretch main contrib non-free

deb http://deb.debian.org/debian stretch-updates main contrib non-free
deb-src http://deb.debian.org/debian stretch-updates main contrib non-free

deb http://security.debian.org/debian-security/ stretch/updates main contrib non-free
deb-src http://security.debian.org/debian-security/ stretch/updates main contrib non-free

Вы можете использовать инструмент GNOME для редактирования файла sources.list. Доступ к нему через Меню → Система → Администрирование → Источники программного обеспечения.

gksu --desktop /usr/share/applications/software-properties.desktop /usr/bin/software-properties-gtk

0
12.04.2020, 22:34
1 ответ

В этом случае нет необходимости использовать -Eс grep, так как вы не используете расширенное регулярное выражение. Вы также расширяете шаблон подстановки на локальном компьютере, а не на удаленной системе, что может привести к неверным результатам.

Ваша команда должна быть переписана как

ssh dlpremote@172.19.37.188 'cat /proc/net/pf_ring/*eth0*' |
grep -F 'Tot Pkt Lost'

Здесь я использую -Fс grep, так как я сопоставляю строку, а не регулярное выражение. Я также цитирую команду, которую следует выполнить на удаленном хосте, чтобы шаблон подстановки расширялся там, а не локально.

Это должно дать вам тот же результат:

Tot Pkt Lost       : 1083761951

Чтобы получить из этого только цифры, просто передайте его черезgrep -E -o '[[:digit:]]+':

ssh dlpremote@172.19.37.188 'cat /proc/net/pf_ring/*eth0*' |
grep -F 'Tot Pkt Lost' |
grep -E -o '[[:digit:]]+'

Альтернативно, с помощьюsed:

ssh dlpremote@172.19.37.188 'cat /proc/net/pf_ring/*eth0*' |
sed -n 's/^Tot Pkt Lost.*: //p'

Это будет соответствовать строке Tot Pkt Lostв начале каждой строки и после нее. Он удалит совпадающую строку и напечатает оставшуюся часть строки. Все остальные данные отбрасываются.

1
19.03.2021, 02:29

Теги

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