파일에서 다음 줄을 어떻게 찾을 수 있습니까?

파일에서 다음 줄을 어떻게 찾을 수 있습니까?

디렉터리에 다음 형식으로 많은 파일 이름이 포함된 파일이 있습니다.

A20150824.0950-0955_jambala_CcnActiveSessionCounterJob
A20150824.0945-0950_jambala_CcnActiveSessionCounterJob
A20150824.0940-0945_jambala_CcnActiveSessionCounterJob
A20150824.0935-0940_jambala_CcnActiveSessionCounterJob
A20150824.0955-1000_jambala_CcnActiveSessionCounterJob
A20150824.0000-0005_jambala_CcnActiveSessionCounterJob
A20150824.0100-0105_jambala_CcnActiveSessionCounterJob
A20150824.0105-0110_jambala_CcnActiveSessionCounterJob
A20150824.0110-0115_jambala_CcnActiveSessionCounterJob
A20150824.0115-0120_jambala_CcnActiveSessionCounterJob
A20150824.0120-0125_jambala_CcnActiveSessionCounterJob
A20150824.1400-1405_jambala_CcnActiveSessionCounterJob

위 파일의 명명 규칙은 A<YYYYMMDD>.HHMM-HHMM_<city>_CcnActiveSessionCounterJob.

파일은 하루 중 언제든지 5분마다 생성되므로 시간당 12개 파일, 하루 12X24개 파일을 얻습니다. 나는 모든 12x24 파일의 이름을 포함하는 파일을 생성했으며 while매 시간마다 일부 처리를 수행하려고 하는 bash 스크립트에 루프가 있습니다. 시간당 12개의 파일이 포함된 다른 파일을 만드는 방법을 찾고 싶습니다. 이를 위해 시간 값을 제공하는 외부 while 루프가 있고 내부 루프는 분 값을 제공합니다. 이러한 파일의 이름에는 시간 정보가 포함되어 있습니다. 전임자:

A20150824.0950-0955_jambala_CcnActiveSessionCounterJob

정보는 오전 9시부터 50시까지 오전 9시부터 55시까지 제공됩니다.

grep12X24 파일 이름이 모두 포함된 파일에서 파일 이름을 추출하고 이를 별도의 파일에 넣어 새 파일에 다음 파일 이름이 포함되도록 하려면 어떻게 해야 합니까 ?

A20150824.0900-0905_jambala_CcnActiveSessionCounterJob
A20150824.0905-0910_jambala_CcnActiveSessionCounterJob
A20150824.0910-0915_jambala_CcnActiveSessionCounterJob
A20150824.0915-0920_jambala_CcnActiveSessionCounterJob
.
.
.
A20150824.0955-1000_jambala_CcnActiveSessionCounterJob

hour현재 처리 중인 시간 정보가 포함된 변수가 이미 있습니다 . 다음을 사용해 보았지만 작동하지 않습니다.

grep -E '.$hour' FILE_with_ALL_FILENAMES

위 파일 이름의 대상 위치입니다 .$hour. .09어떻게 해결할 수 있나요?

답변1

가정:

hour=09

그냥 사용하세요:

grep "\.$hour" file

예제에서 작은따옴표를 사용하면 변수가 변수로 해석되지 않습니다. 따라서 패턴 검색은 $hour또한 점을 이스케이프해야 합니다. 그렇지 않으면 모든 문자와 일치합니다.

관련 정보