Множественный ввод для grep

Эти значения не представляют размер в любом случае, но ссылаются на какую-то идентификацию устройства.

Взгляните на страницу проекта документации Linux, где говорится:

Устройства определяются типом, таким как "блок" или "символ", и 'главным' и 'второстепенным' номером. Главный номер используется для категоризации устройства, а минорный номер используется для идентификации конкретного типа. Например, все устройства IDE, подключенные к основному контроллеру имеют главный номер 3. Ведущие и ведомые устройства, а также отдельные разделы определяются с помощью второстепенных номеров. Это два числа, предшествующие дате в следующем примере:

brw-rw----    1 root     disk       3,   0 Mar 15  2002 /dev/hda 
brw-rw----    1 root     disk       3,   1 Mar 15  2002 /dev/hda1 
brw-rw----    1 root     disk       3,  10 Mar 15  2002 /dev/hda10 
brw-rw----    1 root     disk       3,  11 Mar 15  2002 /dev/hda11 
brw-rw----    1 root     disk       3,  12 Mar 15  2002 /dev/hda12 
brw-rw----    1 root     disk       3,  64 Mar 15  2002 /dev/hdb 
brw-rw----    1 root     disk       3,  65 Mar 15  2002 /dev/hdb1 
brw-rw----    1 root     disk      22,   0 Mar 15  2002 /dev/hdc 
brw-rw----    1 root     disk      22,  64 Mar 15  2002 /dev/hdd

Главный номер для устройств hda и hdb равен 3. Разумеется, для каждого конкретного раздела главный номер меняется. конечно, минорный номер меняется для каждого конкретного раздела. Определение каждой категории главных номеров можно изучить, просмотрев содержимое файла файла /usr/src/linux/include/linux/major.h. В файле devices.txt также документирует мажорные и минорные номера. Он расположен в папке /usr/src/linux/Documentation. Этот файл определяет мажорные номера. Почти все файлы устройств создаются по умолчанию при время установки. Однако вы всегда можете создать устройство с помощью команды mknod или скрипта MAKEDEV, который находится в каталоге /dev сам. Устройства можно создать с помощью этой утилиты, указав имя устройство, которое необходимо создать, тип устройства (блочный или символьный) и главные и второстепенные номера.

1
17.04.2019, 00:09
1 ответ

Чтобы ваша команда помещалась, просто заключите подстановку команды в двойные кавычки. Например, рассмотрим этот файл base.txt:

$ cat base.txt
simplegeneric==0.8.1
six==1.10.0
sympy==1.1

Без кавычек команда выдает серию ошибок. С кавычками работает нормально:

$ pip3 freeze | grep "$(cat base.txt)"
simplegeneric==0.8.1
six==1.10.0
sympy==1.1

Еще лучше, если вы не знакомы с синтаксисом регулярных выражений, вероятно, безопаснее использовать параметр -F, чтобы grep интерпретировал каждую строку в base.txtкак простую строку. Здесь это не имеет значения, но может помочь избежать неожиданностей в будущем:

$ pip3 freeze | grep -F "$(cat base.txt)"
simplegeneric==0.8.1
six==1.10.0
sympy==1.1

Еще лучше (кончик шляпы:Насир Райли ), используйте параметр -fдля чтения строк из файла без необходимости использованияcat:

$ pip3 freeze | grep -Ff base.txt
simplegeneric==0.8.1
six==1.10.0
sympy==1.1
1
27.01.2020, 23:41

Теги

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