>source

변수에 저장된 다음 출력이 있습니다.

Time created: Sun, 08 Nov 2020 17:57:52 GMT

이제 날짜 문자열을 분할하고 날짜가 1 (일)/24 (시간)/X (일)보다 오래된 지 확인하고 싶습니다.

Sun, 08 Nov 2020 17:57:52 GMT

아래에서 내 스크립트를 찾을 수 있습니다.

full_time_created="Time created: Sun, 08 Nov 2020 17:57:52 GMT"
IFS='Time created:' read -ra VALUES <<< "${full_time_created}"
short_date_create=$(echo ${VALUES[@]} | xargs)
echo ${VALUES[@]} # Return a broken string
Sun, 08 Nov 2020 17 57 52 GM

Bash에서 어떻게 할 수 있습니까?

감사!

  • 답변 # 1

    사용 date(1) 다음과 같은 쉘 산술 확장

    if (( $(date +"%s") - $(date --date="$(sed 's/^[^:]*: //' <<<"$full_time_created")" +"%s") > 24*60*60 )); then
        echo "Created time is older than one day."
    fi
    
    

  • 답변 # 2

    cut을 사용하여 날짜 문자열을 얻은 다음 gnu date 다음과 같이 구문 분석하고 전날로 이동하는 명령 :

    date -d "$(cut -d : -f2- <<< "$full_time_created") -1 day"
    Sat Nov  7 12:57:52 EST 2020
    
    

    그런 다음 EPOCH 값을 얻으려면 :

    date -d "$(cut -d : -f2- <<< "$full_time_created") -1 day" '+%s'
    1604771872
    
    

    다음을 사용하여 오늘부터 이전 날짜의 EPOCH 값을 얻을 수 있습니다.

    date -d '-1 day' '+%s'
    1607167689
    
    

  • 이전 python - 대체 문자열의 크기가 하위 문자열과 다른 경우 슬라이싱을 사용하여 하위 문자열의 모든 항목을 대체합니다
  • 다음 주사위를 굴려 파이썬에서 6 개의 숫자를 모두 얻습니다