awk之FS的指定

awk之FS的指定
file:
FAN1 | 11h | ok | 160.96 | 11139 RPM
FAN2 | 12h | ok | 160.96 |       RPM
FAN3 | 13h | ok | 160.96 | 10763 RPM
FAN4 | 14h | ok | 160.96 | 10998 RPM
FAN5 | 15h | ok | 160.96 | 11515 RPM
[code]
awk -F '[ ]' '{print $9}' file
awk -F '[ ]' '($9>11000)' file
#awk指定一个空格为分开符
awk -F '[ ]'
1.利用空缺字符作为分开字段
将FS设置为一个空格,这种情况下,记载的前导空缺和结尾
空缺(空格或者制表符)将被忽略。FS默认为一个空格
awk -F " "
指定一个空格,开头末尾空白被忽略
awk '{}' file
2.利用单个字符
awk -F ","
awk 'BEGIN{FS=","}'
3.设置了不止一个字符作为字段分开符,将作为一个正则表达式来解释
分割符与正则表达式匹配的最左边最长的非空的不重叠的子串
#指定一个制表符
FS="\t"
#指定一个或者多个制表符
FS="\t+"
利用正则表达式指定几个字符作为分隔符
FS="[':\t]"
4.每个字符都是一个域
FS=""

$ echo ’ a b c d’ | awk ’{ print; $2 = $2; print }’
  a b c d
a b c d
第一次原样输出
第二次$2的指派重组了$0,只是将$1至$NF组合起来成为新的$0
所以开头空格被忽略

更多脚本,请参见:100脚本网

posted on 2015-03-11 21:54  python100  阅读(1374)  评论(0编辑  收藏  举报

导航