部分替换为 sed 命令
Partial replace with sed command
我们有一个包含一些 utf-16 十进制字符的文件,我们想用以下方式替换它们
Test Line in a file \u343- ? some random words \u1233? 300 \u241? \u208?\cell
要求的输出是
Test Line in a file \u343- ? some random words UTF16-1233| 300 UTF16-241| UTF16-208|\cell
要求是把\u[0-9]+?改成UTF16-[0-9]+|
将开头的 \u 替换为 UTF16- 和结尾的 ?用管子|。
请注意 \u 和 ? 之间是否有任何非数字字符不应该考虑
使用sed就地修改文件,可以:
匹配\u([0-9]+)\?
:
匹配文字\u
,匹配并捕获一个或多个数字,匹配文字?
。
替换UTF16-
:
替换为字符串 UTF16-
后跟捕获的组。
$ sed -i -E 's/\u([0-9]+)\?/UTF16-|/g' file
$ cat file
Test Line in a file \u343- ? some random words UTF16-1233| 300 UTF16-241| UTF16-208|\cell
我们有一个包含一些 utf-16 十进制字符的文件,我们想用以下方式替换它们
Test Line in a file \u343- ? some random words \u1233? 300 \u241? \u208?\cell
要求的输出是
Test Line in a file \u343- ? some random words UTF16-1233| 300 UTF16-241| UTF16-208|\cell
要求是把\u[0-9]+?改成UTF16-[0-9]+| 将开头的 \u 替换为 UTF16- 和结尾的 ?用管子|。 请注意 \u 和 ? 之间是否有任何非数字字符不应该考虑
使用sed就地修改文件,可以:
匹配
\u([0-9]+)\?
:匹配文字
\u
,匹配并捕获一个或多个数字,匹配文字?
。替换
UTF16-
:替换为字符串
UTF16-
后跟捕获的组。
$ sed -i -E 's/\u([0-9]+)\?/UTF16-|/g' file
$ cat file
Test Line in a file \u343- ? some random words UTF16-1233| 300 UTF16-241| UTF16-208|\cell