sed教程_使用sed命令向行尾添加字符(附sed元字符集)

sed教程_使用sed命令向行尾添加字符(附sed元字符集)

sed 是一项 Linux 指令, 功能同 awk 类似, 差别在于, sed 简单, 对列处理的功能要差一些, awk 的功能复杂, 对列处理的功能比较强大。

  • sed 元字符集:
^ 锚定行的开始, 如: /^sed/ 匹配所有以 sed 开头的行。

$ 锚定行的结束, 如: /sed$/ 匹配所有以 sed 结尾的行。

. 匹配一个非换行符的字符, 如: /s.d/ 匹配 s 后接一个任意字符, 然后是 d。

* 匹配零或多个字符, 如: /*sed/ 匹配所有模板是一个或多个空格后紧跟 sed 的行。

[] 匹配一个指定范围内的字符, 如: /[Ss]ed/ 匹配 sed 和 Sed。

[^] 匹配一个不在指定范围内的字符, 如: /[^A-RT-Z]ed/ 匹配不包含 A-R 和 T-Z 的一个字母开头, 紧跟 ed 的行。

\(..\) 保存匹配的字符, 如: s/\(love\)able/\1rs, loveable 被替换成 lovers。

& 保存搜索字符用来替换其他字符, 如 s/love/**&**/, love 这成 **love**。

\< 锚定单词的开始, 如: /\<love/ 匹配包含以 love 开头的单词的行。

> 锚定单词的结束, 如: /love\>/ 匹配包含以 love 结尾的单词的行。

x\{m\} 重复字符 x, m 次, 如: /0\{5\}/ 匹配包含 5 个 o 的行。

x\{m,\} 重复字符 x, 至少 m 次, 如: /o\{5,\}/ 匹配至少有 5 个 o 的行。

x\{m,n\} 重复字符 x, 至少 m 次, 不多于 n 次, 如: /o\{5,10\}/ 匹配 5-10 个 o 的行。

使用 sed 命令向行尾添加字符 (方法 1: 使用 $ 元字符定位行尾)

  • 示例文件 /var/File.txt

获取文件内容:

cat /var/File.txt

输出:

Line 1
Line 2
  • 使用 sed 命令向第 2 行的行尾添加 “Have a Apple” 字符串:

命令:

sed "2 s/$/ Have a Apple/" File.txt

输出:

Line 1
Line 2 Have a Apple
  • 释义: “/” 表示分隔符, “2 s” 表示修改第 2 行, “$” 表示行尾, " Have a Apple" 表示需要添加的字符串。

使用 sed 命令向行尾添加字符 (方法 2: 使用 & 元字符引用匹配结果)

命令:

echo "Hello World" | sed "s/World/& World/"

输出:

Hello World World
  • 释义: “&” 符号代表的是前面的匹配的模式, 相当于把匹配到的 “World” 引用过来。

总结

以上就是关于 sed教程 使用sed命令向行尾添加字符(附sed元字符集) 的全部内容。

更多内容可以访问我的代码仓库:

https://gitee.com/goufeng928/public

https://github.com/goufeng928/public

  • 22
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
引用\[1\]:在sed命令中,-r参数表示使用延伸型正则表达式语法。默认情况下,sed使用基础正则表达式语法。延伸型正则表达式语法支持更多的字符和特殊字符使用,使得匹配和替换更加灵活和方便。使用-r参数可以在sed命令中直接使用延伸型正则表达式语法,而不需要进行额外的转义或修改。引用\[2\]:例如,使用sed -r命令可以直接在命令行上进行sed的动作编辑,并且可以使用延伸型正则表达式语法。这样可以简化命令的书写,并且更容易理解和维护。引用\[3\]:延伸型正则表达式语法中,"^"符号表示匹配行的开头。在sed命令中,可以使用"^"符号来匹配以特定字符字符串开头的行,并进行相应的操作。所以,sed -r表示使用延伸型正则表达式语法的sed命令。 #### 引用[.reference_title] - *1* [【Linux命令sed -i命令详解](https://blog.csdn.net/Dreamboy_w/article/details/121581567)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [sed -i 命令入门详解](https://blog.csdn.net/h4241778/article/details/125263518)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mostcow

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值