Linux 中输出第一个空格或者制表符之前的所有内容

 

001、方法1

[root@PC1 test2]# ls
a.txt
[root@PC1 test2]# cat a.txt
01 02 03 04 05
06      07 08 09 10
11 12 13 14 15
16              17 18 19 20
21 22 23 24 25
26 27 28 29 30
[root@PC1 test2]# grep "^\S\+" a.txt               ## 测试数据
01 02 03 04 05
06      07 08 09 10
11 12 13 14 15
16              17 18 19 20
21 22 23 24 25
26 27 28 29 30
[root@PC1 test2]# grep -o "^\S\+" a.txt           ## 输出第一个空格或者制表符前面的部分
01
06
11
16
21
26

 

002、方法2

[root@PC1 test2]# ls
a.txt
[root@PC1 test2]# cat a.txt
01 02 03 04 05
06      07 08 09 10
11 12 13 14 15
16              17 18 19 20
21 22 23 24 25
26 27 28 29 30
[root@PC1 test2]# grep -P "^\S+" a.txt                   ## perl语法正则
01 02 03 04 05
06      07 08 09 10
11 12 13 14 15
16              17 18 19 20
21 22 23 24 25
26 27 28 29 30
[root@PC1 test2]# grep -Po "^\S+" a.txt
01
06
11
16
21
26

 

003、

[root@PC1 test2]# ls
a.txt
[root@PC1 test2]# cat a.txt
01 02 03 04 05
06      07 08 09 10
11 12 13 14 15
16              17 18 19 20
21 22 23 24 25
26 27 28 29 30 
[root@PC1 test2]# sed 's/\s.*//' a.txt        ##  sed输出
01
06
11
16
21
26

 

004、

[root@PC1 test2]# ls
a.txt
[root@PC1 test2]# cat a.txt
01 02 03 04 05
06      07 08 09 10
11 12 13 14 15
16              17 18 19 20
21 22 23 24 25
26 27 28 29 30
[root@PC1 test2]# awk '{print $1}' a.txt             ## awk输出
01
06
11
16
21
26

 。

 

posted @ 2024-06-23 15:16  小鲨鱼2018  阅读(12)  评论(0编辑  收藏  举报