Замена "#", "$", "%", "&" и "_" на "\#", "\$", "\%", "\&" и "\_"

У меня есть обычный текстовый документ, который я хочу скомпилировать в LaTeX. Однако иногда в нем встречаются символы "#", "$", "%", "&" и "_". Чтобы правильно скомпилировать текст в LaTeX, я должен сначала заменить эти символы на "#", "\$", "\%", "\&" и "_". Я использовал эту строку в sed:

sed -i 's/\#/\\\#/g' ./file.txt
sed -i 's/\$/\\\$/g' ./file.txt
sed -i 's/\%/\\\%/g' ./file.txt
sed -i 's/\&/\\\&/g' ./file.txt
sed -i 's/\_/\\\_/g' ./file.txt

Это правильно?

К сожалению, файл слишком большой, чтобы открыть его в любой программе с графическим интерфейсом, поэтому проверить правильность моей строки sed с помощью текстового редактора сложно. Я пробовал искать с помощью grep, но поиск не работает так, как ожидалось (например, ниже я искал любые строки, содержащие "$"):

grep "\$" file.txt
  • Какой лучший способ поставить "\" перед этими символами?
  • Как я могу использовать grep для успешной проверки строк с заменами?
12
задан Village 21 January 2012 в 03:56
поделиться