linux中给数据加上行号

 

1、测试数据

[root@PC3 test]# cat b.txt
e t 3
d g 2
k 8 p
m 9 p
5 7 8
m i o
e t d

 

2、awk加行号

[root@PC3 test]# awk '{print NR,$p}' b.txt
1 e t 3
2 d g 2
3 k 8 p
4 m 9 p
5 5 7 8
6 m i o
7 e t d

 

3、sed命令加行号

[root@PC3 test]# cat b.txt | sed = | sed 'N;s/\n/ /'
1 e t 3
2 d g 2
3 k 8 p
4 m 9 p
5 5 7 8
6 m i o
7 e t d

 

4、cat命令加行号

[root@PC3 test]# cat -n b.txt
     1  e t 3
     2  d g 2
     3  k 8 p
     4  m 9 p
     5  5 7 8
     6  m i o
     7  e t d
[root@PC3 test]# cat -n b.txt | sed 's/^[\t ]\+//' | sed 's/[\t ]\+/ /'
1 e t 3
2 d g 2
3 k 8 p
4 m 9 p
5 5 7 8
6 m i o
7 e t d

 

5、grep添加行号(没有绝对空行的情况下)

[root@PC3 test]# grep -n . b.txt
1:e t 3
2:d g 2
3:k 8 p
4:m 9 p
5:5 7 8
6:m i o
7:e t d
[root@PC3 test]# grep -n . b.txt | sed 's/:/ /'
1 e t 3
2 d g 2
3 k 8 p
4 m 9 p
5 5 7 8
6 m i o
7 e t d

 

6、nl命令

[root@PC3 test]# cat b.txt
e t 3
d g 2
k 8 p
m 9 p
5 7 8
m i o
e t d

 

[root@PC3 test]# nl b.txt
     1  e t 3
     2  d g 2
     3  k 8 p
     4  m 9 p
     5  5 7 8
     6  m i o
     7  e t d

 

 

7、给测试数据添加空行

[root@PC3 test]# cat b.txt
e t 3
d g 2
k 8 p

m 9 p
5 7 8
m i o
e t d
[root@PC3 test]# cat -A b.txt
e t 3$
d g 2$
k 8 p$
$
m 9 p$
5 7 8$
m i o$
e t d$

 

[root@PC3 test]# nl b.txt
     1  e t 3
     2  d g 2
     3  k 8 p

     4  m 9 p
     5  5 7 8
     6  m i o
     7  e t d
[root@PC3 test]# nl -b a b.txt
     1  e t 3
     2  d g 2
     3  k 8 p
     4
     5  m 9 p
     6  5 7 8
     7  m i o
     8  e t d

 

posted @ 2021-01-29 12:19  小鲨鱼2018  阅读(1206)  评论(0编辑  收藏  举报