用awk、sed打印奇数行或偶数行

简介:

这里只介绍最简单的方法

sed实现
一:
奇数行 sed -n 'p;n' file
偶数行 sed -n 'n;p' file

 

这个可能比较难理解,举个网上的例子:

例,从aaa文件中取出偶数行
cat aaa 
This is 1    
This is 2    
This is 3    
This is 4    
This is 5    

sed -n 'n;p' aaa         //-n表示取消默认输出 
This is 2    
This is 4

注 释:sed读取This is 1,执行n命令,此时模式空间为This is 2,执行p,打印模式空间内容This is 2,之后读取 This is 3,执行n命令,此时模式空间为This is 4,执行p,打印模式空间内容This is 4,之后读取This is 5,执行n 命令,因为没有了,所以退出,并放弃p命令。

因此,最终打印出来的就是偶数行。


二:

奇数行 sed -n '1~2p' file
偶数行 sed -n '2~2p' file

 

awk实现
一:
奇数行 awk 'NR%2==1' file
偶数行 awk 'NR%2==0' file
二:
奇数行 awk 'NR%2' file
偶数行 awk '!(NR%2)' file



本文转自 kuSorZ 51CTO博客,原文链接:http://blog.51cto.com/kusorz/1829449

相关文章
|
4月前
|
Perl
在 `awk` 中,for 循环
在 `awk` 中,for 循环
433 5
|
4月前
逆序数打印
该内容是关于编程计算正整数的逆序数。用户输入一个正整数,程序需输出其逆序数,即数字顺序反转后的数。文章中包含两张图片作为示例,但图片数据未显示。
32 0
|
4月前
|
弹性计算 运维 Shell
打印9*9 乘法表
【4月更文挑战第29天】
40 1
|
4月前
|
Perl
sed打印特定行
sed打印特定行
169 4
|
4月前
|
Perl
awk循环处理
awk循环处理
158 8
|
4月前
杨辉三角问题(打印空格版)
特点:1、每个数字等于上一行的左右两个数字之和。2、第n+1行的第i个数等于第n行的第i-1个数和第i个数之和,即 C(n+1,i)=C(n,i)+C(n,i-1)。下面我们通过两种不同的办法实现杨辉三角
输出1000以内的所有奇数和偶数,采用for循环以及if语句
输出1000以内的所有奇数和偶数,采用for循环以及if语句
371 0
编程从键盘输入一个正整数n,判断该数的奇偶性,若为奇数输出“odd”,若为偶数输出“even”
编程从键盘输入一个正整数n,判断该数的奇偶性,若为奇数输出“odd”,若为偶数输出“even”
|
Perl
awk合并相加输出
版权声明:转载请注明出处:http://blog.csdn.net/dajitui2024 https://blog.csdn.net/dajitui2024/article/details/79396487 ...
1062 0
|
存储 机器学习/深度学习 Shell