【发布时间】:2021-07-06 11:27:05
【问题描述】:
我有一个包含很多行的文本文件,需要使用 macOS sed 进行一些复杂的替换。解释我的问题有点困难,所以我先给你看一个例子:
文件:
#00101:A9AA%AAB
#03901:%E+2100009+X3800
#06008:01020304
预期输出:
#00101:0000%A00
#03901:%E+2000000+X0000
#06008:01020304
对于以“#xxx01:”开头的所有行(其中 x 代表任何数字),我需要将所有字母数字字符(AZ、0-9)替换为“0”,“:”之前的数字除外,并且任何以“%”或“+”开头的两字符序列。
我知道基本的替换和异常命令,以及使用“^”在行首搜索模式,但我对如何组合所有这些命令感到困惑。我该怎么做呢?如果这在 sed 中是不可能的,欢迎使用非 sed 解决方案。
【问题讨论】:
标签: bash macos sed text-parsing