下面的 sed 命令在一行中替换从模式的“第 N 个”开始的匹配实例。
# sed 's/unix/linux/2g' sed-test.txt -
1 Unix unix linux 23 2 linux Linux 34 3 linuxunix UnixLinux linux /bin/bash CentOS Linux OS Linux is free and opensource operating system
5) 在特定的行号搜索和替换模式
你可以替换特定行号中的字符串。下面的 sed 命令用 linux 仅替换第三行的 unix 模式。
# sed '3 s/unix/linux/' sed-test.txt -
1 Unix unix unix 23 2 linux Linux 34 3 linuxlinux UnixLinux linux /bin/bash CentOS Linux OS Linux is free and opensource operating system
6) 在特定范围行号间搜索和替换模式
你可以指定行号的范围,以替换字符串。
下面的 sed 命令在 1 到 3 行间用 linux 替换 Unix 模式。
# sed '1,3 s/unix/linux/' sed-test.txt -
1 Unix linux unix 23 2 linux Linux 34 3 linuxlinux UnixLinux linux /bin/bash CentOS Linux OS Linux is free and opensource operating system
7) 如何查找和修改最后一行的模式
下面的 sed 命令允许你只在最后一行替换匹配的字符串。
下面的 sed 命令只在最后一行用 Unix 替换 Linux 模式。
# sed '$ s/Linux/Unix/' sed-test.txt -
1 Unix unix unix 23 2 linux Linux 34 3 linuxunix UnixLinux linux /bin/bash CentOS Linux OS Unix is free and opensource operating system
8) 在一行中如何只查找和替换正确的模式匹配
你可能已经注意到,子串 linuxunix 被替换为在第 6 个示例中的 linuxlinux 。如果你只想更改正确的匹配词,在搜索串的两端用这个边界符 b 。
# sed '1,3 s/bunixb/linux/' sed-test.txt -
1 Unix linux unix 23 2 linux Linux 34 3 linuxunix UnixLinux linux /bin/bash CentOS Linux OS Linux is free and opensource operating system
9) 如何以不区分大小写来搜索与替换模式
大家都知道,Linux 是区分大小写的。为了与不区分大小写的模式匹配,使用 I 标志。
# sed 's/unix/linux/gI' sed-test.txt -
1 linux linux linux 23 2 linux Linux 34 3 linuxlinux linuxLinux linux /bin/bash CentOS Linux OS Linux is free and opensource operating system
10) 如何查找和替换包含分隔符的字符串
当你搜索和替换含分隔符的字符串时,我们需要用反斜杠 来取消转义。
在这个例子中,我们将用 /usr/bin/fish 来替换 /bin/bash 。
# sed 's//bin/bash//usr/bin/fish/g' sed-test.txt -
1 Unix unix unix 23 2 linux Linux 34 3 linuxunix UnixLinux linux /usr/bin/fish CentOS Linux OS Linux is free and opensource operating system
上述 sed 命令按预期工作,但它看起来来很糟糕。 为了简化,大部分的人会用竖线 | 作为正则表达式的定位符。 所以,我建议你用它。
# sed 's|/bin/bash|/usr/bin/fish/|g' sed-test.txt -
1 Unix unix unix 23 2 linux Linux 34 3 linuxunix UnixLinux linux /usr/bin/fish/ CentOS Linux OS Linux is free and opensource operating system
11) 如何以给定的模式来查找和替换数字 (编辑:南京站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|