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

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

sed -n '3,${p;n;n;n;n;n;n;}'     # 其他sed

 

# 显示两个正则表达式之间的文本(包含)

sed -n '/Iowa/,/Montana/p'       # 区分大小写方式

 

选择性地删除特定行:

--------

 

# 显示通篇文档,除了两个正则表达式之间的内容

sed '/Iowa/,/Montana/d'

 

# 删除文件中相邻的重复行(模拟“uniq”)

# 只保留重复行中的第一行,其他行删除

sed '$!N; /^\(.*\)\n\1$/!P; D'

 

# 删除文件中的重复行,不管有无相邻。注意hold space所能支持的缓存

# 大小,或者使用GNU sed。

sed -n 'G; s/\n/&&/; /^\([ -~]*\n\).*\n\1/d; s/\n//; h; P'

 

# 删除除重复行外的所有行(模拟“uniq -d”)

sed '$!N; s/^\(.*\)\n\1$/\1/; t; D'

 

# 删除文件中开头的10行

sed '1,10d'

 

# 删除文件中的最后一行

sed '$d'

 

# 删除文件中的最后两行

sed 'N;$!P;$!D;$d'

 

# 删除文件中的最后10行

sed -e :a -e '$d;N;2,10ba' -e 'P;D'   # 方法1

sed -n -e :a -e '1,10!{P;N;D;};N;ba'  # 方法2

 

# 删除8的倍数行

gsed '0~8d'                           # 只对GNU sed有效

sed 'n;n;n;n;n;n;n;d;'                # 其他sed

 

# 删除匹配式样的行

sed '/pattern/d'                      # 删除含pattern的行。当然pattern

                                       # 可以换成任何有效的正则表达式

 

# 删除文件中的所有空行(与“grep '.' ”效果相同)

sed '/^$/d'                           # 方法1

sed '/./!d'                           # 方法2

 

# 只保留多个相邻空行的第一行。并且删除文件顶部和尾部的空行。

# (模拟“cat -s”)

sed '/./,/^$/!d'        #方法1,删除文件顶部的空行,允许尾部保留一空行

sed '/^$/N;/\n$/D'      #方法2,允许顶部保留一空行,尾部不留空行

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

推荐热点

  • /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