前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux Sed使用场景详解,轻松搞定日常工作需求!

Linux Sed使用场景详解,轻松搞定日常工作需求!

作者头像
Wu_Candy
发布2022-07-05 14:36:50
3990
发布2022-07-05 14:36:50
举报
文章被收录于专栏:无量测试之道

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

Sed全称是:Stream EDitor

今天分享的内容是:

Sed日常工作中常用命令的详解,可以帮助解决日常工作需求。

Sed命令使用方法全解
命令1:删除文件第二行 d命令
代码语言:javascript
复制
sed '2d' text.txt  
命令2:打印从第五行开始到第一个包含以w1开始的行之间的所有行 p命令
代码语言:javascript
复制
sed -n '5,/^w1/p'
命令3:所有在模板test和check所确定的范围内的行都被打印
代码语言:javascript
复制
sed -n '/test/,/cat/p' text.txt 
命令4:多点编辑:e命令

第一条命令-e删除1至5行

第二条命令-e用w1替换w2

代码语言:javascript
复制
sed -e '1,5d' -e 's/w1/w2/' text.txt 
命令5:选定行的范围:逗号, sed 截图某时间到某时间之间的日志
代码语言:javascript
复制
sed -n '/2016-03-01 10:00/,/2016-03-01 12:15:/p' /mnt/resource/catalina.out > /tmp/catalina.out.20160301
命令6:全局替换zk.properties文件中的内容

-i 表示inplace edit,就地修改文件

-r 表示搜索子目录

-l 表示输出匹配的文件名

代码语言:javascript
复制
grep -rl 172.16.100.33 /opt/tomcat/webapps/ROOT/WEB-INF/classes/sysconfigs/zk.properties | xargs sed -i s/172.16.100.33/172.16.100.59/g  
命令7:将分隔符换成问号”?”
代码语言:javascript
复制
sed 's?原字符串?替换字符串?'
示例文件
代码语言:javascript
复制
[root@test-test-mysql-01 scripts]# cat text.txt 
w1 w1 w1 w1 w1 w1
test my car w1
w1 w1 w1
w1
命令8:在所有行首添加
sed 's/^/添加的头部&/g'
代码语言:javascript
复制
[root@test-test-mysql-01 scripts]# sed 's/^/添加的头部&/g' text.txt 
添加的头部w1 w1 w1 w1 w1 w1
添加的头部test my car w1
添加的头部w1 w1 w1
添加的头部w1
命令9:在所有行末添加
sed 's/$/&添加的尾部/g' text.txt
代码语言:javascript
复制
[root@test-test-mysql-01 scripts]# sed 's/$/&添加的尾部/g' text.txt
w1 w1 w1 w1 w1 w1添加的尾部
test my car w1添加的尾部
w1 w1 w1添加的尾部
w1添加的尾部
命令10:替换第2行
代码语言:javascript
复制
sed '2s/原字符串/替换字符串/g'  
命令11:替换最后一行
代码语言:javascript
复制
sed '$s/原字符串/替换字符串/g'
命令12:替换2到5行
代码语言:javascript
复制
sed '2,5s/原字符串/替换字符串/g'
命令13:替换2到最后一行
代码语言:javascript
复制
sed '2,$s/原字符串/替换字符串/g'
命令14:(-n)选项和p标志一起使用表示只打印那些发生替换的行。
代码语言:javascript
复制
sed -n 's/^w1/w2/p' text.txt
命令15:全局替换文件中car 字符串后的wl 后追加w2
代码语言:javascript
复制
[root@test-test-mysql-01 scripts]# sed -e '/car/s/w1/&w2/g' text.txt 
w1 w1 w1 w1 w1 w1
test my car w1w2
w1 w1 w1
w1
命令16:在文件中w1后面追加w2,且只有第一次出现w1的时候
代码语言:javascript
复制
[root@test-test-mysql-01 scripts]# sed -e 's/w1/&w2/1' text.txt  
w1w2 w1 w1 w1 w1 w1
test my car w1w2
w1w2 w1 w1
w1w2
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 无量测试之道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Sed命令使用方法全解
    • 命令1:删除文件第二行 d命令
      • 命令2:打印从第五行开始到第一个包含以w1开始的行之间的所有行 p命令
        • 命令3:所有在模板test和check所确定的范围内的行都被打印
          • 命令4:多点编辑:e命令
            • 命令5:选定行的范围:逗号, sed 截图某时间到某时间之间的日志
              • 命令6:全局替换zk.properties文件中的内容
                • 命令7:将分隔符换成问号”?”
                  • 示例文件
                    • 命令8:在所有行首添加
                      • sed 's/^/添加的头部&/g'
                        • 命令9:在所有行末添加
                          • sed 's/$/&添加的尾部/g' text.txt
                            • 命令10:替换第2行
                              • 命令11:替换最后一行
                                • 命令12:替换2到5行
                                  • 命令13:替换2到最后一行
                                    • 命令14:(-n)选项和p标志一起使用表示只打印那些发生替换的行。
                                      • 命令15:全局替换文件中car 字符串后的wl 后追加w2
                                        • 命令16:在文件中w1后面追加w2,且只有第一次出现w1的时候
                                        领券
                                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档