sed -e:, -e's/^[^,]\{0,6\},/ &/;t,'
Он просто делает небольшой цикл, пока в начале строки не будет по крайней мере 7 незапятых. Однако он вообще ничего не делает, только если там уже есть менее 7 не-запятых, за которыми сразу следует запятая. Поэтому он не влияет на пустые строки или строки, в которых нет запятой, или те, в которых она есть, но уже начинается с 7 или более не-запятых.
Цикл также очень дешев - автомату нужно учитывать только два типа символов - те, которые являются или не являются запятыми - и только 7 из них максимум в любой момент времени.
7241,11111111111111111111111111111111,\01-data\file1
1237241,22222222222222222222222222222222,\01-data\file2
41,33333333333333333333333333333333,\01-data\file3
Все остальные ответы хороши, если вы хотите только проверить, подключено ли устройство (проверка сообщений ядра с помощью dmesg
, проверка в файлах /var/log
и использование некоторых инструментов, таких как usbconfig
, pciconf
или camcontrol
).
Но если вы хотите большего (обработать сообщение и выполнить программу или что-то подобное при подключении устройства), вы можете использовать devd.
Когда вы подключаете устройство, ядро FreeBSD будет генерировать сообщения:
attach
detach
devd.conf
man page, если вам нужно больше информации). FreeBSD использует devd
по умолчанию, и его конфигурация хранится в /etc/devd/
и /etc/devd.conf
. Если вы используете linux, те же функции существуют в devfs
и udev
.
Вы можете найти некоторые примеры в /usr/share/examples/etc/devd.conf
.
Команда lshal
предоставит вам информацию об оборудовании DMI / SMBIOS ( dmidecode
под Linux)
Вы можете указать подключенное USB-устройство через:
camcontrol devlist
или:
usbconfig
Чтобы перечислить pci
устройства:
pciconf -l
Также вы можете использовать команду lsusb
в FreeBSD после установки usbutils
пакет:
pkg install usbutils
Вы всегда найдете информацию о новых подключенных устройствах в dmesg и /var/log/messages.
Для bluetooth вы можете проверить с помощью: hcitool dev
Для usb устройств попробуйте lsusb (-v).
Другие полезные команды: lshw (-short), hwinfo (--short) (если установлена), lspci (-v), lsblk, df -h, fdisk -l, multipath -ll, mount, dmidecode, cat /proc/scsi/scsi, hdparm -i /dev/sda. Существует множество вариаций этих команд в зависимости от ваших потребностей.
dmesg | grep -i USB
предоставит вам список подключенных
для получения информации об устройствах USB. usbconfig
может помочь попробовать.
или
pciconf -lv
pciconf диагностическая утилита для шины PCI
Вы можете вывести журнал ядра с помощью dmesg
. Полный журнал находится в / var / log / messages
. Там вы найдете информацию об обнаружении или исчезновении новых устройств, а также записи журнала о некоторых других действиях.
Если вы хотите интегрировать скрипты или программы, вы можете взглянуть на /etc/devd.conf
( справочная страница ). Это текстовый файл, содержащий правила с выражениями соответствия и действиями. Таким образом вы можете загружать модули и выполнять двоичные файлы / сценарии при регистрации устройств.