Как использовать grep для поиска шаблона, который начинается с дефиса (-)?

Приложение Hardware Lister из Ubuntu Software Center является удобным графическим интерфейсом, которое отображает подробную информацию об оборудовании вашего компьютера, включая имя модели и архитектуру (32-разрядную или 64-разрядную) процессора.

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

1
задан 5 March 2018 в 16:52

2 ответа

Скажите, что параметры завершены с помощью --:

sudo find / -name "*" | xargs grep -sn --color=auto -- "-j"

Результат:

Binary file /initrd.img matches
Binary file /lib/modules/2.6.24-16-server/ubuntu/media/gspcav1/gspca.ko matches
Binary file /lib/modules/2.6.24-16-server/ubuntu/sound/alsa-driver/isa/es1688/snd-es1688.ko matches
Binary file /lib/modules/2.6.24-16-server/ubuntu/sound/alsa-driver/pci/ice1712/snd-ice1712.ko matches
/lib/modules/2.6.24-16-server/modules.dep:1807:/lib/modules/2.6.24-16-server/kernel/fs/nls/nls_euc-jp.ko:
Binary file /lib/modules/2.6.24-16-server/kernel/crypto/blowfish.ko matches
Binary file /lib/modules/2.6.24-16-server/kernel/fs/nls/nls_euc-jp.ko matches
Binary file /lib/modules/2.6.24-16-server/kernel/fs/nls/nls_cp936.ko matches
2
ответ дан 24 May 2018 в 05:24

Вы можете избежать символа -, используя \

$ sudo find / -name "*" | xargs grep -sn --color=auto "\-j"

Также вы можете исключить папки и искать только файлы, добавить -type f в find:

[ f2]

Также, если вы добавите -P 4 в xargs, он будет выполнять все выполнение на 4 процессах, и поиск может быть выполнен быстрее, если у вас более 1 ядра.

$ sudo find / -name "*" -type f | xargs -P 4 grep -sn --color=auto "\-j"
1
ответ дан 24 May 2018 в 05:24

Другие вопросы по тегам:

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