•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 
  • 所以开头空格被忽略 
posted @ 2014-12-07 16:13  fastwave2004  阅读(117)  评论(0编辑  收藏  举报