使用正则表达式或某种形式的模式匹配编辑 .ini 文件

使用正则表达式或某种形式的模式匹配编辑 .ini 文件

我有一个文件texstudio.ini,该文件里面有以下行

Tools\Commands\pdflatex=\"/usr/texbin/pdflatex" -synctex=1 -interaction=nonstopmode %.tex

我想将上面的内容改为

Tools\Commands\pdflatex=\"/bin/texliveonfly\" %.tex

而不必进入文件并手动执行此操作。换句话说,我如何使用 bash 脚本来做到这一点?

该文件还包含其他几个命令,例如

Tools\Commands\latexmk=
Tools\Commands\lualatex="lualatex -synctex=1 -interaction=nonstopmode %.tex"
Tools\Commands\makeglossaries=
Tools\Commands\makeindex=makeindex %.idx
Tools\Commands\metapost="mpost -interaction=nonstopmode ?me)"
Tools\Commands\pdf-chain=txs:///pdflatex | txs:///view-pdf
Tools\Commands\pdflatex=\"/bin/texliveonfly\" %.tex
Tools\Commands\pre-compile=
Tools\Commands\ps-chain=txs:///latex | txs:///dvips | txs:///view-ps
Tools\Commands\ps2pdf=ps2pdf %.ps
Tools\Commands\quick=txs:///compile | txs:///view
Tools\Commands\recompile-bibliography=txs:///compile | txs:///bibliography | txs:///compile

答案1

sed -i 's:pdflatex -synctex=1 -interaction=nonstopmode %.tex:Tools\Commands\pdflatex=\"/bin/texliveonfly\" %.tex:' test.ini

相关内容