我有一个包含许多百分比、加号和管道符号的文档。我想用代码替换它们,以便在 TeX 中使用。
%
变成 \textpercent
. +
变成 \textplus
. |
变成 \textbar
. 这是我正在使用的代码,但它不起作用:
sed -i "s/\%/\\\textpercent /g" ./file.txt
sed -i "s/|/\\\textbar /g" ./file.txt
sed -i "s/\+/\\\textplus /g" ./file.txt
如何用此代码替换这些符号?
最佳答案
测试脚本:
#!/bin/bash
cat << 'EOF' > testfile.txt
1+2+3=6
12 is 50% of 24
The pipe character '|' looks like a vertical line.
EOF
sed -i -r 's/%/\\textpercent /g;s/[+]/\\textplus /g;s/[|]/\\textbar /g' testfile.txt
cat testfile.txt
输出:
1\textplus 2\textplus 3=6
12 is 50\textpercent of 24
The pipe character '\textbar ' looks like a vertical line.
@tripleee 已经以类似的方式提出了这一建议,我认为没有理由不这样做。如您所见,我的平台使用与您的相同版本的 GNU sed。与@tripleee 版本的唯一区别是我使用了扩展正则表达式模式,因此我必须对管道和加号进行转义,或者将其放入带有
[]
的字符类中。 .
关于sed - 如何查找和替换所有百分比、加号和管道符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11987221/