Как найти все файлы, содержащие определенную строку, рекурсивно на 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 

One Solution collect form web for “Как найти все файлы, содержащие определенную строку, рекурсивно на BusyBox 1.4.2?”

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, в основном черный – отверстие для любого выхода

  • находить файлы без расширения
  • Как работает эта функция bash?
  • Эффективный способ сравнения в awk
  • Как определить, работает ли программа при запуске оболочки и запустить эту программу, если она еще не запущена?
  • sh recursive copy (cp -r) - Как исключить подпапку
  • Использование шаблонов OR в шаблонах оболочки
  • Использовать awk интерактивно через трубу
  • Текст Unicode не отображается правильно в оболочке
  • Переменная среды не расширена внутри аргумента командной строки
  • VNC / SSH: как выполнить команду после входа?
  • Параметры сжатия без буферизации linux
  • Interesting Posts

    Есть ли один вкладыш, который может отображать отпечатки с открытым ключом с помощью authorized_keys в качестве входных данных?

    Кодирование кириллических имен файлов в zip-файлах

    Есть ли команда для пучка?

    Unix calculator.bash имеет проблемы

    Можно ли запускать любой дистрибутив из ОЗУ из .iso, сохраненного в файловой системе NTFS?

    Использование файлов, имеющих пробелы в их имени в трубах

    Удалить массив в awk

    Как загрузить kali из родного usb

    Минимальная версия ядра для amd64

    не изменяет ли символическая ссылка на его разрешения, если я удаляю разрешения в фактическом файле?

    Может ли возникающая проблема увеличить размер виртуальной памяти в процессе?

    Как я могу запускать скрипты на виртуальной машине, когда я вставляю CD или DVD в хост?

    Временная метка сокета в / proc / <pid> / fd

    Восстановить последний аргумент последней команды в режиме bash 'vi

    Стандартные переменные среды для путей, специфичных для распространения

    Linux и Unix - лучшая ОС в мире.