Thunderbird: изменить цвет фона «выбранных» тегов

grep -Iигнорирует файлы, отличные от -ASCII. Это нестандартная -опция, но реализуемая многими greps.

find thefolder -type f -exec grep -q -I. {} ';' -print

Это будет список всех файлов в или ниже thefolder, которые были ASCII (в соответствии сgrep)и не -пустыми (мы просим grepискать один символ ).

С помощью GNU findвы также можете легко игнорировать файлы, к которым у вас нет доступа для чтения:

find thefolder -type f -readable -exec grep -q -I. {} ';' -print

Единственная разница здесь в том, что вы избежите нескольких ошибок «Отказано в доступе».

С grepреализацией, которая может выполнять рекурсивный поиск:

grep -rlI. thefolder

Используя file, как вы предлагаете:

find thefolder -type f -exec sh -c 'file "$1" | grep -qi text' sh {} ';' -print

Это намного медленнее, чем первое решение, но работает, если вы уверены, что fileработает правильно.

Немного быстрее (выполняется shтолько один или несколько раз):

find thefolder -type f -exec sh -c '
    for pathname do
        if file "$pathname" | grep -qi text; then
            printf "%s\n" "$pathname"
        fi
    done' sh {} +
2
13.06.2020, 21:03
0 ответов

Теги

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