题主今天看师姐 shell 代码的时候,试着运行了一句命令,代码如下: awk '{if(ARGIND==1) {val[$1]} else{if($1 in val) print $2}}' $file index_fix.dat >${file%.dat}_fix.dat 结果 shell 终端上波澜不惊,仿佛什么都没有发生。 awk '{if(NR==FNR) {val[$1]} else{if($1 in val) print $2}}' $file index_fix.dat >${file%.dat}_fix.dat 正常对比了两个文件$file 和 index_fix.dat ,输出了两个文件都有的行(应该没错吧...)。 但是这两句指令在 awk 里不该是等价的么?为什么上面那个就挂掉了...
1
sutra 2016-11-10 18:39:28 +08:00
This variable ARGIND is a gawk extension.
|
2
Mdrights 2016-11-11 07:22:04 +08:00 via iPhone
真有用 awk 的啊^_^
|