Вы можете сделать это с помощью 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
Пояснение:
$_
, а затем обработайте его регулярным выражением. Вот тот же 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
Чтобы узнать, какие модули ядра загружены, используйте команду 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
— это количество использований модуля ядра.