雨
分类: Python/Ruby
2011-04-04 23:21:13
创建新域只需要赋予新的域号就可以了。
- # echo -e "1 2 3\n4 5 6" | awk '$4=$1+$2+$3'
- 1 2 3 6
- 4 5 6 15
- # echo -e "1 2 3\n4 5 6" | awk '$5=$1+$2+$3'
- 1 2 3 6 (3和6之间两个空格)
- 4 5 6 15 (6和15之间两个空格)
需要注意的是有没有大括号:没有{}默认动作时打印$0,有{},需要指定动作。
- # echo -e "1 2 3\n4 5 6" | awk '{$4=$1+$2+$3;print $0}'
- 1 2 3 6
- 4 5 6 15
- # echo -e "1 2 3\n4 5 6" | awk '{$4=$1+$2+$3}'
- (这里没有结果)
在BEGIN部分给变量赋值。
- # echo -e "1 2 3\n4 5 6" | awk 'BEGIN{var=4}{if($3>var)print $0}'
- 4 5 6
- # echo -e "1 2 3\n4 5 6" | awk 'BEGIN{var=4}{if($3>var)print $0; else print var}'
- 4
- 4 5 6
只需要在命令后面给变量赋予环境变量即可。
- # echo $UID
- 0
- # echo $LOGNAME
- root
- # echo -e "0 root\n1 root\n0 admin\n1 admin" | awk '{if(uid==$1 && uname==$2) print $0}' uid=$UID uname=$LOGNAME
- 0 root
- # echo -e "1 root\n0 root\n0 admin\n1 admin" | awk '{if(uid==$1 && uname==$2) print $0}' uid=$UID uname=$LOGNAME
- 0 root