Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2378519
  • 博文数量: 298
  • 博客积分: 7876
  • 博客等级: 准将
  • 技术积分: 5500
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-23 13:39
文章存档

2013年(2)

2012年(142)

2011年(154)

分类: Python/Ruby

2012-04-18 18:55:33

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

 

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