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


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:打印多行模式空间的第一部分

相关内容