加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

如何在Unix下使用sed命令

发布时间:2016-08-04 00:04:57 所属栏目:Unix 来源:站长网
导读:sed用法:sed 'Command' filename(s) 只显示结果而不修改文件。 1、sed '2,5d' file 显示文件file,除去2-5行,但行数超过文件实际行数时不会报错。 sed '/10

1、常用方法

# 在每一行后面增加一空行

sed G

# 将原来的所有空行删除并在每一行后面增加一空行。

# 这样在输出的文本中每一行后面将有且只有一空行。

sed '/^$/d;G'

# 在每一行后面增加两行空行

sed 'G;G'

# 将第一个脚本所产生的所有空行删除(即删除所有偶数行)

sed 'n;d'

# 在匹配式样“regex”的行之前插入一空行

sed '/regex/{x;p;x;}'

# 在匹配式样“regex”的行之后插入一空行

sed '/regex/G'

# 在匹配式样“regex”的行之前和之后各插入一空行

sed '/regex/{x;p;x;G;}'

=============================================================

2、编号

# 为文件中的每一行进行编号(简单的左对齐方式)。这里使用了“制表符”(tab,见本文末尾关于't'的用法的描述)而不是空格来对齐边缘。

sed = filename | sed 'N;s/n/t/'

# 对文件中的所有行编号(行号在左,文字右端对齐)。

sed = filename | sed 'N; s/^/ /; s/ *(。{6,})n/1 /'

# 对文件中的所有行编号,但只显示非空白行的行号。

sed '/./=' filename | sed '/./N; s/n/ /'

# 计算行数 (模拟 "wc -l")

sed -n '$='

=============================================================

3、文本转换和替代:

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

sed 's/.$//' # 假设所有行以CR/LF结束

sed 's/^M$//' # 在bash/tcsh中,将按Ctrl-M改为按Ctrl-V

sed 's/x0D$//' # ssed、gsed 3.02.80,及更高版本

# 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

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读