当前位置: 技术问答>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
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。