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