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

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

gsed -r ':a;s/(^|[^0-9.])([0-9]+)([0-9]{3})/\1\2,\3/g;ta'

 

# 在每5行后增加一空白行 (在第5,10,15,20,等行后增加一空白行)

gsed '0~5G'                      # 只对GNU sed有效

sed 'n;n;n;n;G;'                 # 其他sed

 

选择性地显示特定行:

--------

 

# 显示文件中的前10行 (模拟“head”的行为)

sed 10q

 

# 显示文件中的第一行 (模拟“head -1”命令)

sed q

 

# 显示文件中的最后10行 (模拟“tail”)

sed -e :a -e '$q;N;11,$D;ba'

 

# 显示文件中的最后2行(模拟“tail -2”命令)

sed '$!N;$!D'

 

# 显示文件中的最后一行(模拟“tail -1”)

sed '$!d'                        # 方法1

sed -n '$p'                      # 方法2

 

# 显示文件中的倒数第二行

sed -e '$!{h;d;}' -e x              # 当文件中只有一行时,输入空行

sed -e '1{$q;}' -e '$!{h;d;}' -e x  # 当文件中只有一行时,显示该行

sed -e '1{$d;}' -e '$!{h;d;}' -e x  # 当文件中只有一行时,不输出

 

# 只显示匹配正则表达式的行(模拟“grep”)

sed -n '/regexp/p'               # 方法1

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

 

# 只显示“不”匹配正则表达式的行(模拟“grep -v”)

sed -n '/regexp/!p'              # 方法1,与前面的命令相对应

sed '/regexp/d'                  # 方法2,类似的语法

 

# 查找“regexp”并将匹配行的上一行显示出来,但并不显示匹配行

sed -n '/regexp/{g;1!p;};h'

 

# 查找“regexp”并将匹配行的下一行显示出来,但并不显示匹配行

sed -n '/regexp/{n;p;}'

 

# 显示包含“regexp”的行及其前后行,并在第一行之前加上“regexp”所

# 在行的行号 (类似“grep -A1 -B1”)

sed -n -e '/regexp/{=;x;1!p;g;$!N;p;D;}' -e h

 

# 显示包含“AAA”、“BBB”或“CCC”的行(任意次序)

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

推荐热点

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