情绪21℃

  • 首页
  • 留言本
  • 网址导航1
  • 网址导航2
情绪21℃'s Blog
众里寻他千百度。蓦然回首,那人却在,灯火阑珊处。
  1. 首页
  2. 计算机
  3. Linux
  4. 正文

s命令-sed命令

2024年4月14日 4473点热度 0人点赞 0条评论
1.1、s命令的作用

替换匹配到的内容。

提取匹配到的内容。

1.2、s命令的使用格式
s/regular expression/content/[xg]m[,n]s/regular expression/content/[xg]

m,n,x ∈ [0, +∞]

xg表示忽略前面x-1行,从第x行开始进行替换。

s命令通常与-i选项一起使用。

注意:紧跟着s后面的一个字符被视作分割字符,常用的分割字符有/、#、@等。regular expression或content中出现了分割字符的时候要么进行转义,要么就换成其他的分割字符。

1.3、s命令的使用示例

示例1 ⤵︎

sed -i 's/fonts.googleapis.com/www.googlefonts.net/g' $(grep "fonts.googleapis.com" -rl ./)

示例2 ⤵︎

sed -i 's@downloads.openwrt.org@mirrors.tuna.tsinghua.edu.cn/lede@g' /etc/opkg/distfeeds.conf

这里用@作为分割字符而没有使用/作为分割字符的原因是/在后面的替换内容中出现了,为了表达式的清晰,而换了一个分割字符。

示例3 ⤵︎

sed 's/^[ ]*//g' xx.txt

删除行首的空格。

示例4 ⤵︎

sed 's/[ ]*$//g' xx.txt

删除行尾的空格。

示例5 ⤵︎

echo "    abcd   " | sed 's/^[ ]*//' | sed 's/[ ]*$//'echo "    abcd   " | sed -e 's/^[ ]*//' -e 's/[ ]*$//'

删除行首和行尾的空格,相当于trim。

示例6 ⤵︎

sed -i "s/^/--&/g" xx.txt

在每行的开头添加字符。^代表行首。

示例7 ⤵︎

sed -i "s/$/&--/g" xx.txt

在每行的结尾添加字符。$代表行尾。

示例8 ⤵︎

echo "plugins=(zsh-syntax-highlighting zsh-autosuggestions)" | sed 's/).*$//'

将匹配到的内容替换为空格。

\1 ~ \9

在正则表达式中,为了便于提取某个模式匹配到的内容,会对某个模式进行分组。sed也支持对分组的引用,在sed中,最多支持对9个分组的引用。

在正则表达式中,(patten)表示一个分组,但是在sed中,要提取它,必须用\(patten\)。

示例:

echo "english names=(wang dogs haha)" | sed 's/.*names=(\(.*\)).*/\1/'

这里,首先提取出括号中的内容wang dogs haha,并用它替换掉english names=(wang dogs haha),这样,实际上得到的就是提取出的内容。

$

$代表匹配到的内容。

示例:

echo "wang dogs haha" | sed 's/\w\+/[&]/g'

 

标签: 暂无
最后更新:2024年4月14日

情绪21℃

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理。

情绪21℃

这个人很懒,什么都没留下

分类
  • Android
  • CID3681
  • Debian
  • Linux
  • OFFICE
  • WordPress
  • 影音视听
  • 手机平板
  • 手机生活
  • 技术文摘
  • 文学哲理
  • 未分类
  • 机顶盒
  • 杂七杂八
  • 站长日记
  • 网站纪事
  • 计算机
  • 资源共享
  • 路由器

COPYRIGHT © 1999-2025 情绪21℃'s Blog. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

浙ICP备11017358号-1