sed及awk显示指定行内容

简介:

文件内容为

1
2
3
4
5
6
7
8
9
10
11
[root@test1 test]# cat file.test 
1
2
3
4
5
6
7
8
9
10

1. 显示第二行内容(指定行)

   1)sed

1
2
[root@test1 test]# sed -n '2p' file.test 
2

   2)awk

1
2
3
4
[root@test1 test]# awk 'NR==2 {print $0}' file.test 
2
[root@test1 test]# awk '{if(NR==2)print $0}' file.test        
2

2. 显示第三行至第五行内容(指定行范围)

   1)sed

1
2
3
4
[root@test1 test]# sed -n '3,5p' file.test 
3
4
5

   2)awk

1
2
3
4
[root@test1 test]# awk '{if(NR>2&&NR<6) print $0}' file.test 
3
4
5

   3)grep

1
2
3
4
[root@test1 test]# grep -C 1 4 file.test 
3
4
5

3. 显示奇数行与偶数行

   1)sed

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[root@test1 test]# sed -n '1~2p' file.test 
1
3
5
7
9
[root@test1 test]# sed -n '2~2p' file.test 
2
4
6
8
10
[root@test1 test]# sed -n 'p;n' file.test 
1
3
5
7
9
[root@test1 test]# sed -n 'n;p' file.test   
2
4
6
8
10

   2)awk

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[root@test1 test]# awk 'NR%2==1' file.test 
1
3
5
7
9
[root@test1 test]# awk 'NR%2==0' file.test   
2
4
6
8
10
[root@test1 test]# awk '{if(NR%2==1) print $0}' file.test  
1
3
5
7
9
[root@test1 test]# 
[root@test1 test]# awk '{if(NR%2==0) print $0}' file.test 
2
4
6
8
10

4. 显示匹配到的行

   1)sed

1
2
[root@test1 test]# sed -n '/5/p' file.test 
5 line 5

   2)awk

1
2
[root@test1 test]# awk '/5/' file.test 
5 line 5

   3)grep

1
2
[root@test1 test]# grep 5 file.test 
5 line 5




本文转自 xoyabc 51CTO博客,原文链接:http://blog.51cto.com/xoyabc/1694187,如需转载请自行联系原作者
相关文章
|
7月前
|
Perl
在Awk中,直接通过文件作为输入
在Awk中,直接通过文件作为输入
80 2
|
7月前
|
机器学习/深度学习 Shell 开发工具
正则表达式 与文本三剑客(sed grep awk)
正则表达式 与文本三剑客(sed grep awk)
|
7月前
|
Perl
sed打印特定行
sed打印特定行
311 4
|
Perl 机器学习/深度学习