+ -
当前位置:首页 → 问答吧 → if(($1 !~ /^d/) && ($1 !~ /^l/)) 请问一下,这里的 !~是什么意思?

if(($1 !~ /^d/) && ($1 !~ /^l/)) 请问一下,这里的 !~是什么意思?

时间:2011-06-22

来源:互联网

1 #!/usr/bin/awk -f
  2 BEGIN{
  3     filename=""
  4     len = 0
  5 }
  6 {
  7     if(($1 !~ /^d/) && ($1 !~ /^l/)){
  8
  9     if ($5 > len){
10         len = $5
11         filename=$9
12                 }
13   }
14 }
15 END{
16     print filename "size is " len
17 }

问题:
1. if(($1 !~ /^d/) && ($1 !~ /^l/)) 请问一下,这里的 !~是什么意思?
2. $1 ,$5,$9分别是什么意思。

谢谢。

作者: chunjing   发布时间: 2011-06-22

匹配
$1这都不知道?还是看书吧
表示读入的一行的第一个字段

作者: liion631818   发布时间: 2011-06-22

那 $1,是什么意思。从哪里冒出来的。

作者: chunjing   发布时间: 2011-06-22

回复 chunjing


    表示读入的一行的第一个字段
  1. echo 'a b c d' | awk '{print $1}'
  2. a
复制代码

作者: liion631818   发布时间: 2011-06-22

!~代表不匹配后边所跟的正则表达式

作者: 紫OS琨   发布时间: 2011-06-22

!~表示不匹配正则表达式
两个斜线包起来的是正则表达式

作者: cjaizss   发布时间: 2011-06-22



QUOTE:
1 #!/usr/bin/awk -f
  2 BEGIN{
  3     filename=""
  4     len = 0
  5 }
  6 {
  7     if(($1  ...
chunjing 发表于 2011-06-22 14:32




要多读书....
这些问题都是awk基础....

置顶文

[保留] Linux相关书籍
http://bbs.chinaunix.net/thread-1776727-1-1.html
与awk相关或全部...

The GNU Awk User's Guide
http://www.gnu.org/software/gawk/manual/gawk.html

作者: jason680   发布时间: 2011-06-22