查找并替换多对字符

Ser*_*rev 2 regex text sed

我有一个文本文件,并使用sed带有正则表达式的编辑器来查找和替换其中的字符.比如,a-> b,g-> h,r-> d和e-> q.

像这样:

sed -i "s/a/b/g" file.html >NUL
sed -i "s/g/h/g" file.html >NUL
sed -i "s/r/d/g" file.html >NUL
sed -i "s/e/q/g" file.html >NUL
Run Code Online (Sandbox Code Playgroud)

一切正常.但是我希望将它组合成一个正则表达式.我可以吗?在谷歌上搜索并阅读了很多关于refex之后,我现在看不到任何办法.谢谢!

dca*_*ell 5

tr是执行此操作的命令: tr < file.html 'agre' 'bhdq'

但如果你问如何让命令一起运行去:

sed -e "s/a/b/g" -e "s/g/h/g" -e "s/r/d/g" -e "s/e/q/g" file.html
Run Code Online (Sandbox Code Playgroud)

或者更一般地说,如果命令不同:

sed -e "s/a/b/g" file.html | sed -e "s/g/h/g" |
    sed -e "s/r/d/g" | sed -e "s/e/q/g"
Run Code Online (Sandbox Code Playgroud)