awk的学习笔记分隔符 -F "[, ]"

awk -F "[, ]+" '{print$2}' 22.txt

今天就来谈谈 "[, ]+" 加的意思
实验开始
[root@mycentos data]# cat>>666.txt<<EOF

1, 2, 3, 4, 5, 6 1 2 3 4
EOF
创建测试文件
[root@mycentos data]# awk -F "[,]" '{print$0}' 666.txt
1, 2, 3, 4, 5, 6 1 2 3 4
[root@mycentos data]# awk -F "[,]" '{print$1}' 666.txt
1
[root@mycentos data]# awk -F "[,]" '{print$2}' 666.txt
2
[root@mycentos data]# awk -F "[,]" '{print$3}' 666.txt
3
[root@mycentos data]# awk -F "[,]" '{print$4}' 666.txt
4
[root@mycentos data]# awk -F "[,]" '{print$5}' 666.txt
5
[root@mycentos data]# awk -F "[,]" '{print$6}' 666.txt
6 1 2 3 4
上面是以逗号分隔

[root@mycentos data]# awk -F "[ ]" '{print$0}' 666.txt
1, 2, 3, 4, 5, 6 1 2 3 4
[root@mycentos data]# awk -F "[ ]" '{print$1}' 666.txt
1,
[root@mycentos data]# awk -F "[ ]" '{print$2}' 666.txt
2,
[root@mycentos data]# awk -F "[ ]" '{print$3}' 666.txt

[root@mycentos data]# awk -F "[ ]" '{print$4}' 666.txt
3,
[root@mycentos data]# awk -F "[ ]" '{print$5}' 666.txt

[root@mycentos data]# awk -F "[ ]" '{print$6}' 666.txt

[root@mycentos data]# awk -F "[ ]" '{print$7}' 666.txt
4,
上面是以空格做分隔符
[root@mycentos data]# awk -F "[, ]" '{print$0}' 666.txt
1, 2, 3, 4, 5, 6 1 2 3 4
[root@mycentos data]# awk -F "[, ]" '{print$1}' 666.txt
1
[root@mycentos data]# awk -F "[, ]" '{print$2}' 666.txt

[root@mycentos data]# awk -F "[, ]" '{print$3}' 666.txt
2
[root@mycentos data]# awk -F "[, ]" '{print$4}' 666.txt

[root@mycentos data]# awk -F "[, ]" '{print$5}' 666.txt

[root@mycentos data]# awk -F "[, ]" '{print$6}' 666.txt
3
以上是用,空格做分隔符

[root@mycentos data]# awk -F "[, ]+" '{print$0}' 666.txt
1, 2, 3, 4, 5, 6 1 2 3 4
[root@mycentos data]# awk -F "[, ]+" '{print$1}' 666.txt
1
[root@mycentos data]# awk -F "[, ]+" '{print$2}' 666.txt
2
[root@mycentos data]# awk -F "[, ]+" '{print$3}' 666.txt
3
[root@mycentos data]# awk -F "[, ]+" '{print$4}' 666.txt
4
[root@mycentos data]# awk -F "[, ]+" '{print$5}' 666.txt
5
[root@mycentos data]# awk -F "[, ]+" '{print$6}' 666.txt
6
[root@mycentos data]# awk -F "[, ]+" '{print$7}' 666.txt
1
[root@mycentos data]# awk -F "[, ]+" '{print$8}' 666.txt
2

上面这是重点 就算前面的不看理解上面的就可以了 前面的三个实验是为了更好的理解最后一个实验,大家实验的时候注意空格
[, ]+ 加号在正则里面的意思是加号,匹配一个或多个前导表达式
在意思就是匹配多个逗号或者空格
可以这样理解把多个连续的逗号或者多个连续的空格看成一个逗号或者空格分隔符

欢迎大家吐槽 相互学习

猜你喜欢

转载自blog.51cto.com/1167248/2131811
F
今日推荐