Как проверить, использует ли моя виртуальная машина сетевой драйвер vhost -для работы в сети

Вы можете сделать это с помощью Perl, проглотив файл и обработав его регулярным выражением:

$ perl -0777 -pe 's/^(\H+).*\h(\d+)\n(?:.*\h\2\n)*(?:.*\h(\H+)\h+\2$)/$1 $3 $2/mg' inp.file

Выход:

0.016 0.112 1
0.112 0.208 0

Пояснение:

  • Объедините весь файл в одну запись, $_, а затем обработайте его регулярным выражением.
  • По сути, регулярное выражение ищет блок текста, последние поля которого совпадают, и затем работает с ним.
  • Он просматривает блок через 3 части регулярного выражения :
    • a )Первая часть до первой новой строки блока.
    • b )(необязательная )вторая часть, 0 или более строк, последнее поле которой совпадает с полем первой части.
    • c )Третья часть, последнее поле которой совпадает с последним полем первой части. При этом записываем 2-е поле третьей порции.
    • d )Теперь мы заменяем весь блок первым полем первой части, за которым следует второе поле третьей части и последнее поле первой части.

Вот тот же Perlкод, показанный выше, но дополненный self -содержащий комментарии и отформатированный для ясности:

$ perl -0777 -pe '
   s{
      ^(\H+).*\h(\d+)\n   (?#:the first row.)
      (?:.*\h\2\n)*       (?#:0 or more rows, whose last field matches the 1st row"s last.)
      (?:.*\h(\H+)\h+\2$) (?#:the  last  row, whose last field matches the 1st row"s last.)
   }{
      my($first_row_first_col, $last_row_second_col, $common_index) = ($1, $3, $2);
      join " ", $first_row_first_col, $last_row_second_col, $common_index;
   }gemx;
' inp.file
0
11.06.2019, 10:46
1 ответ

Чтобы узнать, какие модули ядра загружены, используйте команду lsmod.

Вы можете использовать grepдля передачи вывода lsmodдля фильтрации чего-то более желательного.

напр.

# lsmod | grep net
vhost_net              24576  10
vhost                  45056  1 vhost_net
tap                    24576  1 vhost_net

Этот хост использует vhost _сетевой модуль ядра -У меня настроено 10 адаптеров, вывод ifconfigперечисляет 10 адаптеров vnet. 10 в выводе lsmod | grep— это количество использований модуля ядра.

1
28.01.2020, 02:40

Теги

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