настроить цвет ls для каталогов содержат указанные файлы / с

Как я могу раскрасить каталоги, содержащие файлы со словом INCORRECT внутри?

Пример:

У меня есть 3 каталога, которые содержат файл журнала.

dir_a/log dir_b/log dir_c/log 

Файл log in dir_c содержит слово INCORRECT Возможно ли получить раскрашенный ls вывод следующим образом?

 dir_a --> blue dir_b --> blue dir_c --> red 

  • Использование find в unix для странных имен файлов / каталогов
  • Неоднозначно называемые исполняемые файлы
  • Сравнение переменной с буквами верхнего и нижнего регистра
  • Автозаполнение правил Makefile в tcsh
  • С несколькими процессами может ли один процесс (p1) отправлять сигнал синхронизации SIGALRM, который принимается двумя или более процессами (p1, p2).?
  • Печать оцениваемых приглашающих заполнителей для отображения
  • Выражение Grep со специальными именами файлов
  • sed заменить на backspace
  • 2 Solutions collect form web for “настроить цвет ls для каталогов содержат указанные файлы / с”

    Это должно сделать работу:
    «INCORRECT» в тексте внутри файлов внутри папок и файлов в данной папке:

     SEARCH_DIR="/var/log" for i in $(find $SEARCH_DIR -maxdepth 1 -mindepth 1); do DIR_CHECK=$(grep INCORRECT $i) [[ "$DIR_CHECK" =~ "INCORRECT" ]] \ && echo -e "\e[00;31m$i\e[00m" \ || echo -e "\e[00;32m$i\e[00m" done 

    «INCORRECT в тексте внутри файлов внутри папок в данной папке»:

     SEARCH_DIR="/var/log" for i in $(find $SEARCH_DIR -maxdepth 1 -mindepth 1 -type d); do DIR_CHECK=$(grep INCORRECT $i) [[ "$DIR_CHECK" =~ "INCORRECT" ]] \ && echo -e "\e[00;31m$i\e[00m" \ || echo -e "\e[00;32m$i\e[00m" done 

    «INCORRECT» в имени папок и файлов в данной папке:

     SEARCH_DIR="/var/log" for i in $(find $SEARCH_DIR -maxdepth 1 -mindepth 1); do DIR_CHECK=$(echo $i | grep INCORRECT) [[ "$DIR_CHECK" =~ "INCORRECT" ]] \ && echo -e "\e[00;31m$i\e[00m" \ || echo -e "\e[00;32m$i\e[00m" done 

    «INCORRECT» в имени папок в указанных папках:

     SEARCH_DIR="/var/log" for i in $(find $SEARCH_DIR -maxdepth 1 -mindepth 1 -type d); do DIR_CHECK=$(echo $i | grep INCORRECT) [[ "$DIR_CHECK" =~ "INCORRECT" ]] \ && echo -e "\e[00;31m$i\e[00m" \ || echo -e "\e[00;32m$i\e[00m" done 

    Нет, по крайней мере, в текущих реализациях ls. Максимум, который вы можете сделать, – это выбирать цвета в зависимости от типа файла (изображение, звукозапись и т. Д. На основе маски имени файла), тип ввода (файл, каталог, сокет и т. Д.) И, частично, разрешения (исполняемые флаги). Вы не можете применять цвет для каталога, зависящий даже от файлов, которые он содержит, не говоря о содержимом этих файлов.

    Interesting Posts

    Могу ли я печатать через CUPS на устройстве ARM без драйверов, установив CUPS на сервер x86 с драйверами?

    Не удается настроить wlan0 со статическим ip?

    в соответствии с SMART жестким диском не нарушена, но у меня есть ошибки в dmesg

    Кросс-компиляция для ARM без установки чего-либо

    Как модули ядра и ядра SCSI обрабатываются иначе, чем другие модули ядра?

    Какой самый простой способ настроить двухчасовую тревогу?

    Загрузка X ресурсов из .Xresources и .Xdefaults для Emacs

    найти и удалить дубликаты в каталоге

    Почему Sun NFS (Network File System) выбирает файловую систему для многих распределенных файловых систем?

    Как удалить повторяющиеся записи из файла?

    Как отключить постоянное выделение всех фигурных скобок (а не только пар) в vim

    Как использовать разделитель полей и игнорировать строки в awk без трубопроводов?

    Как я могу отредактировать изображение squashfs напрямую без извлечения и повторной упаковки?

    Как я могу систематизировать цели для остановки служб от других целей?

    Самый «эффективный» архив для конвертации в

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