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

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

 

# Unix环境:转换Unix的新行符(LF)为DOS格式。

sed "s/$/`echo -e \\\r`/"        # 在ksh下所使用的命令

sed 's/"/`echo \\\r`/"         # 在bash下所使用的命令

sed "s/$/`echo \\\r`/"           # 在zsh下所使用的命令

sed 's/$/\r/'                    # gsed 3.02.80 及更高版本

 

# DOS环境:转换Unix新行符(LF)为DOS格式。

sed "s/$//"                      # 方法1

sed -n p                         # 方法2

 

# DOS环境:转换DOS新行符(CR/LF)为Unix格式。

# 下面的脚本只对UnxUtils sed 4.0.7 及更高版本有效。要识别UnxUtils版本的

#  sed可以通过其特有的“--text”选项。你可以使用帮助选项(“--help”)看

# 其中有无一个“--text”项以此来判断所使用的是否是UnxUtils版本。其它DOS

# 版本的的sed则无法进行这一转换。但可以用“tr”来实现这一转换。

sed "s/\r//" infile >outfile     # UnxUtils sed v4.0.7 或更高版本

tr -d \r <infile >outfile        # GNU tr 1.22 或更高版本

 

# 将每一行前导的“空白字符”(空格,制表符)删除

# 使之左对齐

sed 's/^[ \t]*//'                # 见本文末尾关于'\t'用法的描述

 

# 将每一行拖尾的“空白字符”(空格,制表符)删除

sed 's/[ \t]*$//'                # 见本文末尾关于'\t'用法的描述

 

# 将每一行中的前导和拖尾的空白字符删除

sed 's/^[ \t]*//;s/[ \t]*$//'

 

# 在每一行开头处插入5个空格(使全文向右移动5个字符的位置)

sed 's/^/     /'

 

# 以79个字符为宽度,将所有文本右对齐

sed -e :a -e 's/^.\{1,78\}$/ &/;ta'  # 78个字符外加最后的一个空格

 

# 以79个字符为宽度,使所有文本居中。在方法1中,为了让文本居中每一行的前

# 头和后头都填充了空格。 在方法2中,在居中文本的过程中只在文本的前面填充

# 空格,并且最终这些空格将有一半会被删除。此外每一行的后头并未填充空格。

sed  -e :a -e 's/^.\{1,77\}$/ & /;ta'                     # 方法1

sed  -e :a -e 's/^.\{1,77\}$/ &/;ta' -e 's/\( *\)\1/\1/'  # 方法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