Intereting Posts
Разница между очками и tty Не удается получить доступ к моему серверу apache из локальной сети (малина Pi) как запустить оболочку на удаленном сервере с правами root Неудовлетворительные зависимости, использующие apt-get на Ubuntu Списки каталогов ext4 в виде файла Как я могу grep для того или иного (2 вещи) в файле? Установлена ​​ли в среде Mint среда рабочего стола xubuntu, такая же производительность батареи, как и исходная xubuntu os Как добавить псевдоним в модуль ядра? Регулярное выражение для поиска двойных символов в Bash / dev / md127 отказывается останавливаться. Нет открытых файлов Сохранение SSH-туннеля во время моей системы – init.d или что-то еще? Труба в сценарии оболочки генерировать ссылки страниц с добавочной переменной Как настроить шифрование полного диска на OpenBSD? Локальная компиляция не выполняется, поскольку поля не определены

Как найти все файлы, содержащие определенную строку, рекурсивно на BusyBox 1.4.2?

Как найти все файлы, содержащие определенную строку в каталоге и во всех подкаталогах BusyBox v1.4.2? Мне нужно найти строку «AA: CC: DD: 00: EE: 55» или «AACCDD00EE55»

BusyBox v1.4.2 (2012-06-01 11:17:34 CST) Built-in shell (ash) Enter 'help' for a list of built-in commands. Built-in commands: ------------------- . : [ [[ bg break cd chdir continue echo eval exec exit export false fg getopts hash help jobs kill local pwd read readonly return set shift source test times trap true type ulimit umask unset wait # busybox --help BusyBox v1.4.2 (2012-06-01 11:17:34 CST) multi-call binary Usage: busybox [function] [arguments]... or: [function] [arguments]... Currently defined functions: [, [[, adduser, ash, awk, cat, chmod, chroot, cp, cut, date, dd, deluser, dmesg, echo, false, free, getopt, grep, halt, hexdump, hostname, htxsnmptelnet, ifconfig, init, insmod, kill, killall, ln, login, ls, lsmod, mkdir, mknod, mount, mv, netstat, passwd, ping, ping6, poweroff, ps, pwd, reboot, renice, rm, rmmod, route, sh, sleep, tar, test, tftp, top, umount, wget 

grep имеет рекурсивный флаг -r и позволяет указать несколько поисковых шаблонов с флагом -e . Кроме того, из формата вы, похоже, ищете адрес mac, так что это может быть верхний или нижний регистр.

Зная, что вы можете сделать

grep -ir -e "AA:CC:DD:00:EE:55" -e "AACCDD00EE55" /directory

Обратите внимание, что вы должны указать sudo если у вас нет прав на чтение для файлов / папок, таких как папка /etc

Например,

 xieerqi:$ grep -iR "string" /etc/cups grep: /etc/cups/subscriptions.conf: Permission denied grep: /etc/cups/classes.conf: Permission denied grep: /etc/cups/printers.conf.O: Permission denied grep: /etc/cups/subscriptions.conf.O: Permission denied grep: /etc/cups/ssl: Permission denied grep: /etc/cups/printers.conf: Permission denied 

Это происходит потому, что разрешения всех элементов в /etc/cups и самого каталога имеют разрешения на чтение и запись только для пользователя root и разрешения на чтение для группы lp . Для других пользователей – без разрешения на чтение. Например,

 -rw-r----- 1 root lp 92 11月 6 09:15 subscriptions.conf 

Вот почему вам нужен доступ sudo.

Кроме того, grep может жаловаться на невозможность чтения записи, поэтому вам может потребоваться указать перенаправление 2> /dev/null

Например, я получаю следующую ошибку, потому что /etc/blkid.tab является символической /etc/blkid.tab , а не фактическим файлом.

 xieerqi:$ sudo grep -iR "b4:82:fe:d3:85:56" /etc [sudo] password for xieerqi: grep: /etc/blkid.tab: No such file or directory 

Чтобы ошибка исчезла с выхода, я бы сделал sudo grep -iR "b4:82:fe:d3:85:56" 2> /dev/null , который перенаправляет поток ошибок на /dev/null device, в основном черный – отверстие для любого выхода