매개변수에 전달된 날짜를 기준으로 파일을 찾습니다.

매개변수에 전달된 날짜를 기준으로 파일을 찾습니다.

매개변수에 제공된 날짜를 기준으로 다음 날의 파일을 찾아야 합니다.

예를 들어 다음과 같은 파일이 있습니다.

XYZ.ABC.M.20200615180200.batch
XYZ.ABC.M.20200616180200.batch
XYZ.ABC.M.20200617180200.batch

매개변수에 제공된 날짜가 이면 20200614파일을 반환해야 하며 XYZ.ABC.M.20200615180200.batch매개변수 값에서 제공한 날짜 형식은 입니다 2020-06-14.

비슷한 것을 시도했지만 date +%Y%m%d -d "(2020-06-24)+1 days"대신 오늘 날짜가 필요합니다 20200615. XYZ.ABC.M.20200615180200.batch입력 날짜가 인 경우 누군가가 전체 명령을 공유하여 파일을 찾을 수 있습니까 2020-06-14?

답변1

당신은 매우 가깝습니다. 브래킷을 제거하면 작동합니다.

$ date +%Y%m%d -d "(2020-06-24)+1 days"
20200702

$ date +%Y%m%d -d "2020-06-24 +1 days"
20200625

아니면 좀 더 구체적으로

dt=20200614; # or 2020-06-14, either way works

file=$(date +"XYZ.ABC.M.%Y%m%d180200.batch" -d "$dt + 1 days");
echo $file;

XYZ.ABC.M.20200615180200.batch

관련 정보