テキストファイル内の2つの位置の間のパターンを検索し、行全体を印刷します。

テキストファイル内の2つの位置の間のパターンを検索し、行全体を印刷します。

テキストファイルの1行から2つの位置の間のパターンを検索し、パターンが見つかった行全体を印刷する方法は?固定幅ファイルで作業しています。各フィールドの長さを含むリストを提供する方法を理解していますawkが、検索パターンの単一フィールドにのみ興味があります。各フィールドの長さを指定しないより簡単な解決策はありますか?

これはファイルのテキスト行です。他の場所に「Cook Co. IL」がない場所18と57の間のすべてのルートをどのように見つけることができますか?

17 031 1602 1600 Cook Co. IL                              047 011 9999 9999 Bradley Co. TN                                16

ベストアンサー1

アッ解決策:

awk 'substr($0,18,57-18)~/Cook Co\. IL/' file

部分文字列(文字列、開始[、長さ])
返す長さ- 文字長の部分文字列ひも、文字数から始まるスタート

おすすめ記事