11 我正在使用一个命令,用sed中的相应字母替换所有数字0-9。我知道我做错了什么,但sed并未将替换正则表达式解释为字符串文字。 我正在使用的命令是 sed -r 's/[0-9]/[A-J]/g' log > ~/output.txt 对我来说,这似乎很简单,但是我已经坚持了大约一个小时。我收到的输出仅将0-9替换为字符串“ [AJ]” linux command-line bash regex sed — 马修·斯内尔 source
38 作为替换,只有匹配项(左侧)是正则表达式。该更换或多或少只是一个字符串(有一些反斜杠扩展) -这是不是一个正则表达式。 您想要音译,而不是替换,因此请替换s为y: echo 34031445 | sed 'y/0123456789/ABCDEFGHIJ/' sed不能使用中的范围y,但是Perl可以: echo 34031445 | perl -pe 'y/0-9/A-J/' 或者只是使用tr: echo 34031445 | tr 0-9 A-J — Choroba source 12 同意 tr是这项工作中最简单,可能也是最快的工具。 — sdkks 18-10-22,2
tr
是这项工作中最简单,可能也是最快的工具。