Unix流编辑器sed单行脚本快速参考(5)

来源:未知 责任编辑:责任编辑 发表时间:2015-09-16 20:04 点击:

sed '/AAA/!d; /BBB/!d; /CCC/!d'  # 字串的次序不影响结果

 

# 显示包含“AAA”、“BBB”和“CCC”的行(固定次序)

sed '/AAA.*BBB.*CCC/!d'

 

# 显示包含“AAA”“BBB”或“CCC”的行 (模拟“egrep”)

sed -e '/AAA/b' -e '/BBB/b' -e '/CCC/b' -e d    # 多数sed

gsed '/AAA\|BBB\|CCC/!d'                        # 对GNU sed有效

 

# 显示包含“AAA”的段落 (段落间以空行分隔)

# HHsed v1.5 必须在“x;”后加入“G;”,接下来的3个脚本都是这样

sed -e '/./{H;$!d;}' -e 'x;/AAA/!d;'

 

# 显示包含“AAA”“BBB”和“CCC”三个字串的段落 (任意次序)

sed -e '/./{H;$!d;}' -e 'x;/AAA/!d;/BBB/!d;/CCC/!d'

 

# 显示包含“AAA”、“BBB”、“CCC”三者中任一字串的段落 (任意次序)

sed -e '/./{H;$!d;}' -e 'x;/AAA/b' -e '/BBB/b' -e '/CCC/b' -e d

gsed '/./{H;$!d;};x;/AAA\|BBB\|CCC/b;d'         # 只对GNU sed有效

 

# 显示包含65个或以上字符的行

sed -n '/^.\{65\}/p'

 

# 显示包含65个以下字符的行

sed -n '/^.\{65\}/!p'            # 方法1,与上面的脚本相对应

sed '/^.\{65\}/d'                # 方法2,更简便一点的方法

 

# 显示部分文本——从包含正则表达式的行开始到最后一行结束

sed -n '/regexp/,$p'

 

# 显示部分文本——指定行号范围(从第8至第12行,含8和12行)

sed -n '8,12p'                   # 方法1

sed '8,12!d'                     # 方法2

 

# 显示第52行

sed -n '52p'                     # 方法1

sed '52!d'                       # 方法2

sed '52q;d'                      # 方法3, 处理大文件时更有效率

 

# 从第3行开始,每7行显示一次  

gsed -n '3~7p'                   # 只对GNU sed有效

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • /etc/fstab 详解
  •  LVS-NAT和LVS-DR模式的实现详解
  •  RHCE考试之磁盘配额
  • nginx主主集群
  •  LVM逻辑卷管理器
  • 学习笔记:ACL详解
  • suse linux双网卡双网关配置
  • puppet文件服务配置
  •  Linux System and Performance Monitoring(Network篇)

快速直达

操作系统导航

LinuxWindows虚拟机
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1