我只是想知道是否还有比我的方式更有效地执行此命令。如果有,请告诉我!
list
答案 0 :(得分:1)
tr
通过替换字符(或正则表达式)来工作,但每次调用只处理一个操作
sed
可能更适合实现您的目标。它可以处理每次调用的多个操作
试
sed -e 's/\[/(/g' -e 's/{/(/g' -e 's/\]/)/g' -e 's/}/)/g' catfile
您甚至可以使用-i
切换到sed
sed -i -e 's/\[/(/g' -e 's/{/(/g' -e 's/\]/)/g' -e 's/}/)/g' catfile
注意:
[
表示正则表达式的开头,因此必须通过反斜杠对其进行转义以进行sed搜索并替换字符串文字[
答案 1 :(得分:1)
您可以将所有翻译合并为一个
tr '[]{}' '()()'