Linux Sed 正则表达式

17 Mar 2025 | 阅读 2 分钟

流编辑器

sed 命令用于流编辑。

示例

Linux Sed Regular Expression1

请看上面的快照,字符串 'interactive' 已通过 sed 命令更改为 'distractive'。除了斜杠 (/),冒号 (:)、下划线 (_) 和竖线 (|) 也能起作用。


交互式编辑器

sed 命令本是流编辑器,但也可作为文件的交互式编辑器使用。交互式编辑器选项使用 'i'。

示例

Linux Sed Regular Expression2

请看上面的快照,流 'today' 在 'file' 中已转换为 'tomorrow'。


简单反向引用

双星号 (&&) 用于搜索和查找指定字符串。它将使用 sed 命令打印找到的字符串。

示例

Linux Sed Regular Expression3

请看上面的快照,双星号搜索了字符串 'four' 并将其打印为 'fourfourty'。


任意字符的点 (.)

在正则表达式中,单个点 (.) 可以代表任何字符。

示例

Linux Sed Regular Expression4

请看上面的快照,点被替换为日期格式。


多重反向引用

当使用多个括号对时,称为分组。这里每个都可以单独引用,如三个连续的数字。

示例

Linux Sed Regular Expression5

请看上面的快照,日期以不同格式打印。这里,2014 被引用为 (1),06 被引用为 (2),30 被引用为 (3)。


White Space

空格语法是 '\s',制表符语法是 '\t'。

示例

Linux Sed Regular Expression6

请看上面的快照,'\s' 用于单个空格。


可选出现

你可以通过在后面加上问号 (?) 来指定某个内容是可选的。

示例

Linux Sed Regular Expression7

请看上面的快照,我们将第三个 'i' 设置为可选。这意味着需要有两个 'i' 才能转换为 'Y'。


精确 n 次出现

精确出现次数由 "{次数}" 指定。

示例

Linux Sed Regular Expression7

请看上面的快照,我们指定了 'i' 精确出现三次。


范围内出现

我们也可以指定出现次数的范围。例如,如果我们指定范围为 {m,n},则 'm' 表示最小出现次数,'n' 表示最大出现次数。

示例

Linux Sed Regular Expression8

请看上面的快照,我们指定了最小范围为 3,最大范围为 4。