特定の文字列セットを含む特定のファイルを検索するにはどうすればよいでしょうか?

特定の文字列セットを含む特定のファイルを検索するにはどうすればよいでしょうか?

指定されたファイルのセットは次のとおりです:

./20170524/18909-20170524182010-PBS74C2VTTCKBMKGQC7YUVEJ3U-362511-19614379.XFA.SOFS_EDI
./20170524/18909-20170524182009-PBS74C2VTTCKBMKGQC7YUVEJ3U-362514-19614381.XFA.SOFS_EDI
./20170524/18909-20170524182010-PBS74C2VTTCKBMKGQC7YUVEJ3U-362532-19614390.XFA.SOFS_EDI
./20170524/18909-20170524182009-PBS74C2VTTCKBMKGQC7YUVEJ3U-362503-19614371.XFA.SOFS_EDI
./20170524/18909-20170524182009-PBS74C2VTTCKBMKGQC7YUVEJ3U-362506-19614372.XFA.SOFS_EDI

これはすべてのファイルの内部に含まれています。 、、または のように、さまざまなAK9セグメントがあります。AK9*AAK9*PAK9*RAK9*E

ISA*00*          *00*          *SS*252649841464SS *01*12564486M      *102453*1254*U*025402*21651681320*0*S*>~SS*SS*5648408456SS*0150158011S*20170228*1921*020151018*X*0210540~SS*997*008609070~AK1*SH*107405~AK2*856*362518~AK5*A~AK9*A*1*1*1~SE*6*008609070~GE*1*008604488~IEA*1*008602662~

次のパターンのファイルを探しています:

AK9*PまたはAK9*RまたはAK9*E

答え1

次のようにして、そのパターンを含むファイルを一覧表示できます。

grep 'AK9\*[PRE]' -l ./20170524/*

答え2

また、銀の探求者またはag、@StephenRauch の回答の正規表現を使用します。これにより、必要に応じて、より多くのファイルで実行できるようになります。

cd $TARGET_DIR
ag 'AK9\*[PRE]'

関連情報