grep 명령에서 문자열을 변수와 연결

grep 명령에서 문자열을 변수와 연결

다음 패턴으로 검색해야 합니다.

_20181106

20181106은 어제 날짜이므로 변수여야 합니다.

TZ=aaa24 date +%Y%m%d

이 패턴이 있는 파일을 어떻게 검색할 수 있나요?

나는 AIX를 사용하고 있다

답변1

AIX에서는 다음을 사용하십시오 /bin/ksh93.

grep "_$(printf '%(%Y%m%d)T' yesterday)" filename

또는:

grep "$(printf '_%(%Y%m%d)T' yesterday)" filename

또는:

yesterday=$(printf '%(%Y%m%d)T' yesterday)
grep "_$yesterday" filename

알아채다

TZ=aaa24 date

UTC 날짜보다 24시간 앞선 날짜를 제공하므로 현지 시간이 UTC를 따르는 어제 날짜만 제공합니다(다른 시간대의 특정 시간에 대한 정확한 날짜를 제공할 수도 있음).

답변2

귀하의 질문에 "aaa24"가 무엇인지 모르겠지만 이것이 도움이 될 수 있습니다.

dategrep을 실행하기 전에 명령 대체를 사용하여 명령을 평가하십시오.

grep $(date +%Y%m%d) foo

관련 정보