Используйте grep для поиска файлов, содержащих шаблоны регулярных выражений

Используйте эти две строки ниже в вашем ~/.vimrc, чтобы использовать все приятные функции gui-mouseи вставьте в системный буфер обмена, используяy(клавишу рывка ), если вам действительно не нужны дополнительные буферы буфера обмена :

. ]
set mouse=a
set clipboard=unnamed
0
27.04.2020, 03:59
1 ответ

Да, вам просто нужно сказать grepискать с строкой , а не с регулярным выражением.

Для этого используется опция -F:

grep -F '\S+\s+\d+' "$file"

Чтобы найти все файлы в текущем каталоге или ниже него, которые содержат эту строку, (выводит пути каждого файла, содержащего совпадение, вместе с соответствующими строками):

find. -type f -exec grep -F '\S+\s+\d+' /dev/null {} +

Или с grep, у которого есть -H, чтобы всегда печатать путь к файлу, содержащему совпадение:

find. -type f -exec grep -H -F '\S+\s+\d+' {} +

Или просто найти пути к файлам (, а не совпадающие строки):

find. -type f -exec grep -l -F '\S+\s+\d+' {} +

Чтобы сделать что-то с этими файлами, используйте

find. -type f -exec grep -q -F '\S+\s+\d+' {} \; -exec sh -c '
    for pathname do
        # code that uses "$pathname" here
    done' sh {} +
1
19.03.2021, 02:25

Теги

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