-o -nをgrepに渡すことで、ファイル内のパターンのすべての一致部分と各一致が見つかった行番号を出力できます。grepの一致する行内の列オフセットを出力する方法
パターンが見つかった行内のオフセットを印刷するにはどうすればよいですか?
-o -nをgrepに渡すことで、ファイル内のパターンのすべての一致部分と各一致が見つかった行番号を出力できます。grepの一致する行内の列オフセットを出力する方法
パターンが見つかった行内のオフセットを印刷するにはどうすればよいですか?
私はあなたがawkでやっているのと同じことを模倣することができたと思います。 AWKマニュアルを参照:
this,is,a,test,line
this, ,a,test,line,with,the,second,field,blank
this, is,another,test,line,with,a,blank,in,the,second,field,but,the,field,isnt,blank
this, ,is,another,line,with,a,blank,second,field
そして、ここで私が走ったコマンドです:
awk '{regex = "test"; where = match($0, regex); print "REGEX: ",where," on line ",NR}' test
そして出力:
http://www.staff.science.uu.nl/~oostr102/docs/nawk/nawk_92.html
は、ここに私のファイルは次のようになります
REGEX: 11 on line 1
REGEX: 10 on line 2
REGEX: 18 on line 3
REGEX: 0 on line 4
私はこれをすばやくやっていましたが、あなたが必要な場所にあなたを連れて行くのに十分に役立つことを願っています。
whileループが必要な場合がありますか?それ以外の場合は、1行に最初に一致するものが見つかるだけです。 – Kent
わかりやすくするために、列オフセットは行/文字列への文字オフセットを意味します。 – themanatuf
はい、その行に文字がオフセットされています。 –
Vim 'set grepprg' :-) –