Я пытаюсь написать bash-скрипт, который будет искать в текстовом файле строку из другого текстового файла, который хранится в переменной. Однако в строке есть несколько специальных символов, и по какой-то причине она, похоже, портит команду grep.
Строка следующая:
Sometxt ^ / someurl /? $ http://somewebsite.com/
команда grep, которую я использую:
grep -v "$string" file.txt >> new_file.txt
Похоже, это не работает, и если я повторю текущую команду grep, используя:
echo "grep -v \"$string\" file.txt >> new_file.txt"
Я получаю вывод, который перепутан.
Если я введу руководство по команде grep и введу фактическую строку, она будет работать нормально, поэтому я предполагаю, что моя оболочка пытается расширить специальные символы, но я не знаю, как экранировать их все в строке. *
У кого-нибудь есть идеи?
Спасибо.