当前位置: 技术问答>linux和unix
关于awk脚本的一个问题,这个脚本怎么写?
来源: 互联网 发布时间:2016-11-13
本文导语: for file in `grep -v "^#" PatchFiles_final | cut -f 1 | tr -s " " ""` do awk '{if ($1 == "$file" && $2~/C||T||J/) print $1}' MBfiles >> files_client done 我的意思是,如果第一字段,跟$file的内容一样,第二字段,能匹配上t或y或r...
for file in `grep -v "^#" PatchFiles_final | cut -f 1 | tr -s " " ""`
do
awk '{if ($1 == "$file" && $2~/C||T||J/) print $1}' MBfiles >> files_client
done
我的意思是,如果第一字段,跟$file的内容一样,第二字段,能匹配上t或y或r
PatchFiles_final的内容大概如下:
bin/BBL 101 !(winnt)
bin/BRIDGE 101 !(winnt)
......
MBfiles的内容大概如下:
bin/BBL C,T,J,E !(winnt)
bin/BBL.exe T winnt
bin/BLDTUXEDO.HLP T winnt
bin/BLDTUXEDO.HLP T,t winnt
....
我想要的结果是:bin/BBL被打印出来,而bin/BBL.exe不被打印出来。
但,实际上这个脚本的结果是,files_client什么内容也没有。什么都没被打印出来。
怎么办啊??如何改这个脚本
do
awk '{if ($1 == "$file" && $2~/C||T||J/) print $1}' MBfiles >> files_client
done
我的意思是,如果第一字段,跟$file的内容一样,第二字段,能匹配上t或y或r
PatchFiles_final的内容大概如下:
bin/BBL 101 !(winnt)
bin/BRIDGE 101 !(winnt)
......
MBfiles的内容大概如下:
bin/BBL C,T,J,E !(winnt)
bin/BBL.exe T winnt
bin/BLDTUXEDO.HLP T winnt
bin/BLDTUXEDO.HLP T,t winnt
....
我想要的结果是:bin/BBL被打印出来,而bin/BBL.exe不被打印出来。
但,实际上这个脚本的结果是,files_client什么内容也没有。什么都没被打印出来。
怎么办啊??如何改这个脚本
|
这样?
for file in `grep -v "^#" PatchFiles_final | cut -d" " -f1`
do
awk -vf=$file '($1 == f && $2 ~ /[C|T|J]/) {print $1}' MBfiles >> files_client
done
for file in `grep -v "^#" PatchFiles_final | cut -d" " -f1`
do
awk -vf=$file '($1 == f && $2 ~ /[C|T|J]/) {print $1}' MBfiles >> files_client
done