Вы можете заменить вместо chr
в начале третьего поля пустой строкой:
awk '{ sub(/^chr/,"",$3); print $2,$3,$5,$6 }' file
Итак... Я сам нашел решение.
Жаль, что решение нельзя обобщить, так как оно заключается в том, чтобы "узнать, как работают udev и rules.d".
Суть заключалась в том, чтобы узнать все возможные подробности об устройствах, используя команду (, как это было предложено в статье, которую я упоминал в своем вопросе):
udevadm info -a -p $(udevadm info -q path -n /dev/ttySC0)
затем определить, какие параметры можно использовать для однозначного поиска аппаратного описания этого устройства и создания правила для него в одном из файлов в /etc/udev/rules.d .
Я лично использовал это руководство, чтобы узнать все, что я знаю о udev и rules.d:
Подводя итог, вы должны использовать параметры, чтобы найти аппаратное обеспечение, а затем использовать либо ИМЯ, либо СИМВОЛИЧЕСКУЮ ССЫЛКУ, чтобы дать ему новое имя или просто псевдоним.
Наиболее часто используемые ключевые слова для поиска подходящего оборудования::
ACTION=="
KERNEL=="<значение>"-"Найти устройство с <значением> в поле KERNEL"
SUBSYSTEM=="
DRIVER=="
ATTR{
Вы также можете использовать множественное число для всех этих ключевых слов, кроме ДЕЙСТВИЯ (ЯДРА, ПОДСИСТЕМЫ, ДРАЙВЕРЫ, ATTRS ), если вы хотите проверить совпадение либо с устройством, либо со всеми его родительскими устройствами.
Очевидно, что вы можете использовать более одного параметра для одного правила, вам просто нужно разделить их запятой и пробелом.
После правильного обнаружения вашего устройства,последним разделом вашего правила должно быть наименование/символическая ссылка:
NAME="
SYMLINK+="
В качестве примера я буду использовать правила, которые мне пришлось создать:
KERNELS=="spi0.0", SUBSYSTEM=="tty", ATTR{line}=="0", DRIVERS=="sc16is7xx", ACTION=="add", SYMLINK+="plSerial"
KERNELS=="spi0.0", SUBSYSTEM=="tty", ATTR{line}=="2", DRIVERS=="sc16is7xx", ACTION=="add", SYMLINK+="plSerial"
KERNELS=="spi1.0", SUBSYSTEM=="tty", ATTR{line}=="0", DRIVERS=="sc16is7xx", ACTION=="add", SYMLINK+="mdSerial"
KERNELS=="spi1.0", SUBSYSTEM=="tty", ATTR{line}=="2", DRIVERS=="sc16is7xx", ACTION=="add", SYMLINK+="mdSerial"
Человеческими словами говорят:
«Если tty-устройство использует порт spi0.0 и имеет имя 0 или 2 (, что означает, что это либо ttySC0, либо ttySC2 ), оно теперь также называется plSerial»
«Если tty-устройство использует порт spi1.0 и имеет имя 0 или 2 (, что означает, что это либо ttySC0, либо ttySC2 ), оно теперь также называется mdSerial»
Это означает, что spi0.0 всегда будет известен как plSerial, а spi1.0 всегда будет известен как mdSerial.
После написания правил используйте udevadm trigger
или перезагрузите систему, и ваши правила будут применены. Новые устройства будут найдены в /dev/<ваше _имя устройства _> .