红联Linux门户
Linux帮助

sed单行处理命令奇偶行输出

发布时间:2014-11-04 15:07:28来源:linux网站作者:linux521

1、方法

输出奇数行 :

sed -n 'p;n' file

输出偶数行 :

sed -n 'n;p' file


2、原理

p 打印模式空间中的内容

n 延续到下一输入行;允许跨行的模式匹配语句(多行模式,将下一行内容读入模式空间覆盖以前内容)

"p;n" 先打印一行,然后在读取下一行不作处理,sed语句执行完成进入下一个循环,打印第三行,读取第四行不处理,sed进入下一个循环......

"n;p" 现读取下一行内容覆盖上一行,然后打印,sed语句执行完成进入下一个循环,读取第四行内容覆盖第三行内容,让后打印,sed进入下一个循环


3、补充

a) n与N区别

n:读下一行到模式空间(覆盖原内容)

N:追加下一行内容到模式空间(不覆盖原内容)

b) p与P区别

p:打印多行模式空间的所有行

P:打印多行模式空间的第一部分