UNIX에서 지난달 마지막 날의 Order_date를 얻는 방법

UNIX에서 지난달 마지막 날의 Order_date를 얻는 방법

Control-M을 통해 쉘 스크립트를 실행하는 데 사용합니다. 쉘 스크립트는 실행 날짜를 입력 매개변수로 허용합니다. 어떤 주문 날짜를 실행하든 스크립트는 이전 달의 마지막 날을 계산해야 합니다. 아래와 같은 결과를 얻으려고 노력하고 있지만 그럴 수 없습니다. 도와주세요.

run_date=20210615
startMM_run_date=`date --date="$run_date" '%Y%m01'` --> 20210601

$startMM_run_date에서 "2021/05/31"을 얻는 방법은 다음과 같습니다. 조언해주세요.

답변1

GNU 가정date

run_date=20210615

# extract the year and month, and set the day as 01, then subtract 1 day
endOfLastMonth=$(date -d "${run_date:0:4}-${run_date:4:2}-01 - 1 day" "+%Y-%m-%d")

관련 정보