SED - 反向匹配模式

wal*_*alt 1 regex awk grep sed

我有以下任务:

匹配所有以数字结尾的行,然后反转这些数字

例子:

romarana:qwerty12543
asdewfpwk:asdqwe312
asdj:asbd
asdewfpwk:strwtwe129
ooasodo:asbdjahj
Run Code Online (Sandbox Code Playgroud)

应该:

romarana:qwerty34521
asdj:asbd
asdewfpwk:asdqwe213
asdewfpwk:strwtwe921
ooasodo:asbdjahj
Run Code Online (Sandbox Code Playgroud)

我试过的:

romarana:qwerty12543
asdewfpwk:asdqwe312
asdj:asbd
asdewfpwk:strwtwe129
ooasodo:asbdjahj
Run Code Online (Sandbox Code Playgroud)

注意:您现在可以忽略不以数字结尾的行。

注意:您可以使用 awk、grep 或任何其他工具

Sun*_*eep 5

perl

$ perl -pe 's/\d+$/reverse $&/e' ip.txt
romarana:qwerty34521
asdewfpwk:asdqwe213
asdj:asbd
asdewfpwk:strwtwe921
ooasodo:asbdjahj
Run Code Online (Sandbox Code Playgroud)

e修改允许替换部分使用Perl代码。$&包含匹配的部分。

  • 这是一个很好的解决方案,今天学到了新东西。如果尚未添加,您可以将其添加到您的教程网站中:) (2认同)