Como encontrar um arquivo específico com um conjunto específico de strings?

3

Este é o conjunto de arquivos fornecidos:

./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

Isso é o que está dentro de todos os arquivos. Eles têm segmentos AK9 diferentes. Como AK9*A , AK9*P , AK9*R ou 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~

Estou procurando um arquivo com esse padrão:

AK9*P ou AK9*R ou AK9*E

    
por WashichawbachaW 25.05.2017 / 04:08

2 respostas

8

Você pode listar os arquivos que contêm esse padrão com:

grep 'AK9\*[PRE]' -l ./20170524/*
    
por 25.05.2017 / 04:26
3

Você também pode usar o pesquisador de prata ou ag , com o regex na resposta de @ StephenRauch. Isso permite que você faça mais arquivos se for necessário.

cd $TARGET_DIR
ag 'AK9\*[PRE]'
    
por 25.05.2017 / 08:23