Chinaunix首页 | 论坛 | 博客
  • 博客访问: 383405
  • 博文数量: 138
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1620
  • 用 户 组: 普通用户
  • 注册时间: 2013-03-10 16:55
个人简介

当你比别人优秀一点点,别人会嫉妒你。当你比别人优秀很多,别人会羡慕你。

文章分类

全部博文(138)

文章存档

2016年(2)

2015年(2)

2014年(15)

2013年(119)

我的朋友

分类: Python/Ruby

2013-04-27 16:22:24

awk的内部FS变量(-F选项)

 

整理自:

 

Awk内部变量FS是通过-F选项来进行控制,FSfield separator, 默认下它代表空白字符集,包括空格,TABsnewline,而不是一个空格,可以理解为FS=[ \t\n]+

注意:允许字符串作为分隔符,注意元字符转义,FS只有在它超过一个字符的时候

,才会被视为正则表达式

1. awk -F ' ' '{CMD}' 等价于 awk '{CMD}',末尾的空格忽略;

2. awk -F '[ ]'  FS代表单个空格,如果行首为空格,则第一个域(field)为空值,末尾和开头的空格不忽略;

3. awk -F '[ ]+' FS代表多个连续空格,末尾和开头的空格不忽略;

示例:

字符串:'  (两个空格)foo1 foo2';

 

echo '  foo1 foo2' |awk -F ' ' '{print $1,$2}'

foo1 foo2

 

echo '  foo1 foo2' |awk '{print $1,$2}'

foo1 foo2

 

echo '  foo1 foo2' |awk -F '[ ]' '{print $1,$2}'

 

echo '  foo1 foo2' |awk -F '[ ]+' '{print $1,$2}'

foo1

 

阅读(731) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~