日期:2014-05-16  浏览次数:20668 次

### shell awk 参数问题!! --- 急啊 ----
脚本传入参数:

 #输入的参数
 NEWFILE=$1
 OLDFILE=$2
 RESULTFILE=$3

  /usr/bin/diff -r -q ${NEWFILE} ${OLDFILE} | grep "^Only in"|awk '{print $3,$4}'|sed -e 's!: !/!g' | grep "^NEW" >>${MODIFY_FILE_LIST}

问题 : 

  这两个$3 不一样的意义啊. 现在识别成一样的了 都表示第三个参数. 无语了用了这么久就没有遇到这个问题.

------解决方案--------------------

我在bash环境下测试了awk '{print $3,$4}' $3并不是输入的第3个参数! 你自己再好好试验下。
另外RESULTFILE=$3 你这个RESULTFILE也没用到呀!

------解决方案--------------------
肯定不一样啦,前面的$3是位置参数,是shell维护的,后面这个参数是由awk程序维护的第几个token.
探讨
脚本传入参数:

#输入的参数
NEWFILE=$1
OLDFILE=$2
RESULTFILE=$3

/usr/bin/diff -r -q ${NEWFILE} ${OLDFILE} | grep "^Only in"|awk '{print $3,$4}'|sed -e 's!: !/!g' | grep "^NEW" >>${MODIFY_FILE_LIST}
……

------解决方案--------------------
我也觉得应该是不一样的吧