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
上面这是重点 就算前面的不看理解上面的就可以了 前面的三个实验是为了更好的理解最后一个实验,大家实验的时候注意空格
[, ]+ 加号在正则里面的意思是加号,匹配一个或多个前导表达式
在意思就是匹配多个逗号或者空格
可以这样理解把多个连续的逗号或者多个连续的空格看成一个逗号或者空格分隔符
欢迎大家吐槽 相互学习
今天就来谈谈 "[, ]+" 加的意思
实验开始
[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
上面这是重点 就算前面的不看理解上面的就可以了 前面的三个实验是为了更好的理解最后一个实验,大家实验的时候注意空格
[, ]+ 加号在正则里面的意思是加号,匹配一个或多个前导表达式
在意思就是匹配多个逗号或者空格
可以这样理解把多个连续的逗号或者多个连续的空格看成一个逗号或者空格分隔符
欢迎大家吐槽 相互学习
相关文章推荐
- Shell脚本写作:Awk学习笔记
- 【linux学习笔记】awk用法总结
- linux awk 学习笔记三(结构化命令、函数)
- 正则表达式之awk学习笔记
- AWK 学习笔记(一) 环境搭建
- awk 学习笔记
- awk 好用的数据处理工具,linux学习笔记1
- 转一篇awk学习笔记
- [linux]awk 学习笔记
- sed,awk,grep学习笔记
- Awk学习笔记
- awk命令学习笔记
- awk 学习笔记
- awk 初步学习笔记
- 转载自马哥视频学习笔记---awk的基本用法说明
- 转――[Shell学习笔记] Shell正则表达式与grep、sed、awk的特点
- AWK 学习笔记
- 学习笔记之Shell脚本学习指南 & sed与awk & 正则表达式
- awk 学习笔记
- 学习笔记——shell命令(2)AWK