全部博文(298)
分类: Python/Ruby
2012-04-18 18:55:33
awk的内部FS变量(-F选项)
整理自:
Awk内部变量FS是通过-F选项来进行控制,FS是field separator, 默认下它代表空白字符集,包括空格,TABs和newline,而不是一个空格,可以理解为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