Числовые диапазоны плохо подходят для регулярных выражений, так как они требуют, чтобы такие выражения, как
gsed '/192\.200\.1\([6-8][0-9]\|9[01]\)\./s/$/ --- APIv2 SYSTEMS/'
, соответствовали между 160 и 191, поэтому в идеале вам нужно напишите код, который мог бы генерировать выражение, так как вероятность человеческой ошибки при написании или изменении его вручную будет чрезвычайно высока.Лучшим решением может быть то, что понимает IP-адреса и поддерживает нотацию CIDR, например модуль Perl NetAddr :: IP , а затем проанализировать IP-адреса и проверить, находятся ли они -> в пределах
некоторого диапазона, проанализированного из другого места.
Для неинтерактивной работы это можно сделать с помощью dmsetup deps
, в котором перечислены зависимости блочного устройства. По умолчанию он будет возвращать номера устройств major: minor, но вы можете предоставить дополнительные параметры для вывода имени:
dmsetup deps -o devname /dev/mapper/decrypted
Для того, чтобы сделать это в интерактивном режиме, лучше всего просто использовать lsblk
, который выводит красиво отформатированный график:
└─sda8 8:8 0 43.9G 0 part
└─sda8_crypt 253:2 0 43.9G 0 crypt
├─vgpersonal-home 253:3 0 83G 0 lvm