Vil*_*age 12 bash grep latex escaping sed
我有一个纯文本文档,我想在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
它是否正确?
遗憾的是,该文件太大而无法在任何GUI软件中打开,因此sed使用文本编辑器检查我的行是否正确是很困难的.我尝试搜索grep,但搜索没有按预期工作(例如下面,我搜索任何包含"$"的行):
grep "\$" file.txt
grep替换成功检查线路?che*_*ner 21
您只需拨打一次电话即可进行更换sed:
sed -i -E 's/([#$%&_\])/\\&/g' file.txt
该&置换文本中填写的为准单个字符括号括起来.请注意,由于\是LaTeX转义字符,因此您必须在原始文件中将其转义.