5150782703810496 7071783126930570 9776701040412294 44148902720616046426318539518073 5261792065926013 6303463168130122 83323143176200787506133106243886 2242241367012197 8275982207923757 72639316238138068882831187329643 3184441663826305 1416431572523093 0697142167966828
在file2中,我有16个搜索模式(在这里偶然排序),file1中的每个数字一个:
0412294062438118732964157252178312693052381380624224136701332314338104944148902720616044166382630559260136682868130822079238539518073
现在我正在寻找一种解决方案,从file1中的file2查找每个模式的行和列. file3中的所需结果:
1,1=3810491,2=178312693051,3=04122941,4=4414890272061602,1=85395180732,2=59260132,3=681302,4=33231433,1=0624383,2=242241367013,3=822079233,4=238138064,1=1187329644,2=4416638263054,3=1572524,4=66828
我用grep -f file2 file1尝试了它,发现了行但没有列.我在windows上,更喜欢awk,grep或sed,不幸的是不能使用Perl和Bash.怎么做到这一点?谢谢!
解决方法 一个 awk解决方案.script.awk的内容:
FNR == NR { patterns[ ] = 1 next}{ for ( i = 1; i <= NF; i++ ) { for ( p in patterns ) { if ( index( $i,p ) > 0 ) { printf "%d,%d=%s\n",FNR,i,p delete patterns[ p ] break } } } }
运行它像:
awk -f script.awk file2 file1
产量:
1,4=66828总结
以上是内存溢出为你收集整理的regex – 从一个文件搜索模式到另一个文件全部内容,希望文章能够帮你解决regex – 从一个文件搜索模式到另一个文件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)