您的位置:首页 > 其它

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

2018-06-22 16:13 274 查看
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

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

欢迎大家吐槽 相互学习
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  awk 分隔符