Подтвердить что ты не робот

Как grep точная буквальная строка (без регулярного выражения)

Есть ли способ grep (или использовать другую команду), чтобы найти точные строки, используя NO regex?

Например, если я хочу искать (буквально):

/some/file"that/has'lots\of"invalid"chars/and.triggers$(#2)[*~.old][3].html

Я не хочу проходить и избегать каждого "ускользающего". По сути, я хочу передать его, как если бы я был с echo:

$ echo "/some/file\"that/has'lots\of\"invalid\"chars/and.triggers$(#2)[*~.old][3].html"
/some/file"that/has'lots\of"invalid"chars/and.triggers$(#2)[*~.old][3].html
4b9b3361

Ответ 1

Используйте fgrep, это то же самое, что и grep -F (соответствует фиксированной строке).

Ответ 2

Ну, вы можете поместить информацию, которую хотите сопоставить, в каждой строке, а затем использовать grep:

grep -F -f patterns.txt file.txt

Обратите внимание на использование флага -F, который заставляет grep рассматривать каждую строку файла patterns.txt как fixed-string для поиска в файле .txt.