AWK使用总结(2)使用split()时指定多个分隔符,使用-F时指定多个分隔符
来源:互联网 发布:央视网络直播 编辑:程序博客网 时间:2024/05/21 17:46
首先,split可以设定多个分隔符
例1.
输出下面这段文本,提取每行末尾的两个数字,如第一行提取185,5,第二行提取8,1
ERROR20121211 11:35:00[AppWorker] __LSE vec_txt_size:185 vec_pic_size:5 ERROR20121211 11:35:00[AppWorker] __LSE vec_txt_size:8 vec_pic_size:1ERROR20121211 11:35:00[AppWorker] __LSE vec_txt_size:46 vec_pic_size:20 ERROR20121211 11:35:00[AppWorker] __LSE vec_txt_size:0 vec_pic_size:0
那么分割符可以设定为冒号或者空格。
awk -F"\t" '{split($0,array,/[: ]/);for(i=1;i<=length(array);i++)print array[i]}' $INPUTFILE
例2.
ArgLst = "5P12p89"
分割符设定为p或者P
split( ArgLst, Arr, /[Pp]/)
执行后 : Arr[1]=5, Arr[2]=12, Arr[3]=89
其次,-F也可以设定多个分隔符
一般而言,人们常用awk -F '\t'来表示分隔符,比如
awk -F '\t' '{print $1}' file1.txt将处理文本file1.txt,用制表符(\t)分隔每一行,并打印其中第一列打印出来。
现在假设要处理一段文本,每行有多个分隔符号。比如现在需要提取下面这行文本中的pic之后的数字244和txt之后的数字246,
20130304 16:50:00 [normal predict] word:手机 pic:244 txt:246
如果能够指定分隔符既可以为空格,又可以为冒号,那么处理将会变得简单。可以使用正则表达式来指定多个分隔符,格式为 -F'[空格:]+' 如下
awk -F'[ :]+' '{print $NF"\t"$(NF-2)}' file1.txt输出结果将为
244 246
例3
类似地,如果要指定(和,为分隔符,可以这么写
awk -F '[(,]' '{print $2"\t"$3}'
- AWK使用总结(2)使用split()时指定多个分隔符,使用-F时指定多个分隔符
- split和StringTokenizer使用多个分隔符的情况
- python split使用多个分隔符分割字符串
- [awk] 用-F指定多分隔符及正则表达式
- Python中使用多个分隔符分隔字符串re.split
- useDelimiter指定多个分隔符
- split多个分隔符
- [awk] 用-F指定多分隔符,awk的for语句, BEGIN, END
- java的split方法可以实现同时使用多个分隔符劈开字符串方法:
- python 多个分隔符 split
- hive指定多个字符作为列分隔符
- 使用split()遇到的问题和方法总结 ( Dangling meta character 和 多个分隔字符)
- split分隔符无法使用解决办法
- awk按照多个分隔符进行分割
- awk按照多个分隔符进行分割
- awk分隔符设定为多个字符或字符串
- awk按照多个分隔符进行分割
- awk支持多个记录分隔符的写法
- 最重要的 10 几个 J2EE 最佳实践
- Ubuntu 迅雷安装包DEB 32位和64位
- 解决org.hibernate.LazyInitializationException: could not initialize proxy - no Session at org.hibernat
- android在activity中锁屏解锁后重走OnCreate的问题的解决办法
- 二分匹配相关知识
- AWK使用总结(2)使用split()时指定多个分隔符,使用-F时指定多个分隔符
- 国内HTML5前端开发框架汇总
- eclipse快捷键
- [转]Struts2整合之动态图表OpenFlashChart
- C# Func<T,TResult>
- 钢铁业产能过剩该何去何从
- Mysql 中SELECT COUNT用法
- “Win7右下角显示无法连接,但可以上网”的解决方法
- Predicate<T> 委托