当前位置: 首页 > article >正文

正则表达式(三剑客之sed)

1.sed工具的使用

1.1 sed工具

1)命令格式:sed -n n p filename

1.2 打印某行

1)打印第二行

[root@localhost ~]# sed -n '2'p /etc/passwd

2)第二行重复打印

[root@localhost ~]# sed '2'p /etc/passwd

3)所有行全部打印

[root@localhost ~]# sed -n '1,$'p /etc/passwd

4)指定某个区间打印

[root@localhost ~]# sed -n '1,3'p /etc/passwd

1.3 打印包含某个字符串的行

1)打印包含root的行

[root@localhost ~]# sed -n '/root/'p /etc/passwd

2)打印以ro开头的行

[root@localhost ~]# sed -n '/^ro/'p /etc/passwd

3)打印以in结尾的行

[root@localhost ~]# sed -n '/in$/'p /etc/passwd

4)打印单个字符的行

[root@localhost ~]# sed -n '/r..o/'p /etc/passwd

5)打印匹配ooo零次或者多次的行

[root@localhost ~]# sed -n '/ooo*/'p /etc/passwd

6)sed命令加-e可以实现多个行为

[root@localhost ~]# sed -n -e '/r..o/'p -e '/ooo*/'p /etc/passwd

1.4 删除某些行

[root@localhost ~]# sed '1'd /etc/passwd

[root@localhost ~]# sed '1,4'd /etc/passwd

1.5 替换字符或者字符串

1)参数s表示替换的动作,参数g表示本行全局替换,如果不加g则只替换本行出现的第一个

sed -n '/r.o/'p /etc/passwd |sed -n '1,2s/ot/to/g'p

[root@localhost ~]# sed -n '/r.o/'p /etc/passwd |sed -n '1,2s/ot/to/'p

2)除了可以使用/作为分隔符外,我们还可以使用其他特殊字符

[root@localhost ~]# sed -n -e '/r.o/'p -e 's#ot#to#g'p /etc/passwd

[root@localhost ~]# sed -n -e '/r.o/'p -e 's@ot@to@g'p /etc/passwd

3)如何删除文档中的所有的数字或者字母呢

[root@localhost ~]# sed 's/[0-9]//g' /etc/passwd

[root@localhost ~]# sed 's/[a-z,A-Z]//g' /etc/passwd

1.6 调换两个字符串的位置

1)

[root@localhost ~]# sed 's/\(rot\)\(.*\)\(bash\)/\3\2\1/' /etc/passwd

2)上例中用()把想要的替换的字符打包成了一个整体,转义符\看起来很乱,加上-r就可以省略它

[root@localhost ~]# sed -r 's/(rot)(.*)(bash)/\3\2\1/' /etc/passwd

3)除了调换两个字符串的位置。还可以用sed在某一行前后增加指定内容

[root@localhost ~]# sed 's/^.*$/123&/' /etc/passwd

1.7 直接修改文件的内容

[root@localhost ~]# sed -i 's/ot/to/g' /etc/passwd

[root@localhost ~]# sed -i 's/to/ot/g' /etc/passwd


http://www.kler.cn/a/453153.html

相关文章:

  • 解决 vue3 中 echarts图表在el-dialog中显示问题
  • NIO(New IO)和BIO(Blocking IO)的区别
  • C++的封装(十四):《设计模式》这本书
  • 数据质量检测
  • ES7+ React/Redux/GraphQL/React-Native snippets 使用指南
  • 网络工程师常用软件之PING测试工具
  • HarmonyOS NEXT 实战之元服务:静态案例效果---每日玩机技巧
  • 跨境电商培训:云手机的新舞台
  • 某车之家appso层签名逆向
  • 2024楚慧杯WP
  • CultureLLM 与 CulturePark:增强大语言模型对多元文化的理解
  • 力扣-数据结构-3【算法学习day.74】
  • 存储块的获取与释放
  • Windows下ESP32-IDF开发环境搭建
  • 智源研究院与安谋科技达成战略合作,共建开源AI“芯”生态
  • 冰狐智能辅助使用插件化开发集成三方ocr
  • Linux中的lseek 函数与fcntl函数
  • CMS(Concurrent Mark Sweep)垃圾回收器的具体流程
  • 使用Python读写文本文件
  • 【2024最新】基于Python+Mysql+django的水果销售系统Lw+PPT
  • 网络层协议--ip协议
  • uni-app 中使用微信小程序第三方 SDK 及资源汇总
  • 常用的Django模板语言
  • 437 路径总和III
  • 接口调用限频(代理模式+滑动窗口)
  • Electron【详解】菜单 Menu