我有一个文本文件并使用带有正则表达式的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
一切正常。但是我希望将它组合成一个正则表达式。我可以吗?在谷歌上搜索并阅读了很多关于refex之后,我现在看不到任何办法。谢谢!
答案 0 :(得分: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
或者更常见的是,如果命令不同:
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"
答案 1 :(得分:1)
这可能适合你(GNU sed):
sed -i 'y/agre/bhdq' file
答案 2 :(得分:1)
也可以从文件中读取sed
命令:sed -f commands.sed file.html
commands.sed
----
s/a/b/g
s/g/h/g
s/r/d/g
s/e/q/g