Linux 中 awk中逗号与分号的差异
001、
[root@localhost test]# ls a.txt [root@localhost test]# cat a.txt EU60 AFS ANM GOA EU60 AKK ANM GOA EU60 ARI ANM GOA [root@localhost test]# awk '$1 = "aaa"; $3 = "bbb"' a.txt ## 每一个分号表示一个条件;awk默认执行一次动作 aaa AFS ANM GOA aaa AFS bbb GOA aaa AKK ANM GOA aaa AKK bbb GOA aaa ARI ANM GOA aaa ARI bbb GOA [root@localhost test]# awk '$1 = "aaa", $3 = "bbb"' a.txt ## 逗号,表示连续的条件 aaa AFS bbb GOA aaa AKK bbb GOA aaa ARI bbb GOA [root@localhost test]# awk '{$1 = "aa", $3 = "bbb"; print $0}' a.txt ## 在分号内,不允许条件逗号 awk: cmd. line:1: {$1 = "aa", $3 = "bbb"; print $0} awk: cmd. line:1: ^ syntax error [root@localhost test]# awk '{$1 = "aa"; $3 = "bbb"; print $0}' a.txt aa AFS bbb GOA aa AKK bbb GOA aa ARI bbb GOA

。
002、
[root@localhost test]# cat a.txt EU60 AFS ANM GOA EU60 AKK ANM GOA EU60 ARI ANM GOA [root@localhost test]# awk '$1=$1; { print $0}' a.txt EU60 AFS ANM GOA EU60 AFS ANM GOA EU60 AKK ANM GOA EU60 AKK ANM GOA EU60 ARI ANM GOA EU60 ARI ANM GOA [root@localhost test]# awk '$1=$1;$1=$1; { print $0}' a.txt EU60 AFS ANM GOA EU60 AFS ANM GOA EU60 AFS ANM GOA EU60 AKK ANM GOA EU60 AKK ANM GOA EU60 AKK ANM GOA EU60 ARI ANM GOA EU60 ARI ANM GOA EU60 ARI ANM GOA

。

浙公网安备 33010602011771号