当前位置: 技术问答>linux和unix
### shell awk 参数问题!! --- 急啊 ----
来源: 互联网 发布时间:2016-08-18
本文导语: 脚本传入参数: #输入的参数 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 不一样的意...
脚本传入参数:
#输入的参数
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 不一样的意义啊. 现在识别成一样的了 都表示第三个参数. 无语了用了这么久就没有遇到这个问题.
#输入的参数
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 不一样的意义啊. 现在识别成一样的了 都表示第三个参数. 无语了用了这么久就没有遇到这个问题.
|
肯定不一样啦,前面的$3是位置参数,是shell维护的,后面这个参数是由awk程序维护的第几个token.
|
我在bash环境下测试了awk '{print $3,$4}' $3并不是输入的第3个参数! 你自己再好好试验下。
另外RESULTFILE=$3 你这个RESULTFILE也没用到呀!
|
我也觉得应该是不一样的吧