Как найти определенный файл с определенным набором строк?

Как найти определенный файл с определенным набором строк?

Вот набор предоставленных файлов:

./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*A, AK9*P, AK9*Rили AK9*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]'

Связанный контент