awk分隔符设定为多个字符或字符串

来源:互联网 发布:大二学生java开发项目 编辑:程序博客网 时间:2024/06/05 19:05
awk -F"[01]" '{}'  这种形式指定的分隔符是或的关系,即0或1作为分隔符;
awk -F"[0][1]" '{}' 这种形式指定的分隔符是合并的关系,即以“01”作为一个字符为分隔符。


故假如有test.txt文本文件只有一行:

1. mail from: tomcat@gmail.com  2. subject:hello  3. data:2012-07-12 17:00  4. content:Hello, The world.  5.   6. mail from: jerry@gmail.com  7. subject:congregation  8. data:2012-07-12 08:31  9. content:Congregation to you.  10.   11. mail from: jacob@gmail.com  12. subject:Test  13. data:2012-07-12 10:20  14. content:This is a test mail.


用命令:awk  'BEGIN {FS="[0-9]+[.]";OFS="\n"}{for(i=1;i<=NF;i++) printf("%d  %s\n",i,$i)}' test.txt即可输出如下格式的形式的文件:

1  
2   mail from: tomcat@gmail.com  
3   subject:hello  
4   data:2012-07-12 17:00  
5   content:Hello, The world.  
6     
7   mail from: jerry@gmail.com  
8   subject:congregation  
9   data:2012-07-12 08:31  
10   content:Congregation to you.  
11     
12   mail from: jacob@gmail.com  
13   subject:Test  
14   data:2012-07-12 10:20  
15   content:This is a test mail.



0 0
原创粉丝点击