Установка SUPREM3 RELEASE B.8628

Обновление 2:

Эта строка команд с использованием find и grep устраняет проблему:

$ find path_to_search_in -type f -exec grep -in searchString {} 2> /dev/null +

--color=<always or auto> для цветного вывода:

$ find path_to_search_in -type f \
            -exec grep --color=always -in searchString {} 2>/dev/null +

Пример:

$ find /tmp/test/ -type f -exec grep --color=auto -in "Search string" {} 2>/dev/null +

Пример, выполняемый в снимок ниже:

Обновление 2:

Вы можете попробовать следующий код; как функция в ваших .bashrc или .bash_aliases или в скрипте:

wherein () 
{ 
    for i in $(find "$1" -type f 2> /dev/null);
    do
        if grep --color=auto -i "$2" "$i" 2> /dev/null; then
            echo -e "\033[0;32mFound in: $i \033[0m\n";
        fi;
    done
}

Использование: wherein /path/to/search/in/ searchkeyword

example:

$ wherein ~/Documents/ "hello world"

(Примечание: как было предложено в комментариях ниже @enzotib, это не работает с файлами / каталогами, включая пробелы в их именах.)

[d16 ] Оригинальная запись

Для поиска строки и вывода этой строки с помощью строки поиска:

$ for i in $(find /path/of/target/directory -type f); do \
    grep -i "the string to look for" "$i"; done

например:

$ for i in $(find /usr/share/applications -type f); \
    do grep -i "web browser" "$i"; done

Чтобы отобразить имя файла содержащий строку поиска:

$ for i in $(find /path/of/target/directory -type f); do \
    if grep -i "the string to look for" "$i" > /dev/null; then echo "$i"; fi; done;

например:

$ for i in $(find /usr/share/applications -type f); \
    do if grep -i "web browser" "$i" > /dev/null; then echo "$i"; \
    fi; done;
0
задан 7 August 2017 в 13:18

0 ответов

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

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