Ответ 1
Используйте fgrep
, это то же самое, что и grep -F
(соответствует фиксированной строке).
Есть ли способ 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
Используйте fgrep
, это то же самое, что и grep -F
(соответствует фиксированной строке).
Ну, вы можете поместить информацию, которую хотите сопоставить, в каждой строке, а затем использовать grep
:
grep -F -f patterns.txt file.txt
Обратите внимание на использование флага -F
, который заставляет grep
рассматривать каждую строку файла patterns.txt как fixed-string
для поиска в файле .txt.