셸 날짜
2016 년 의 쌍십일 은 전 세 계 를 뒤 흔 드 는 '명절' 이 될 운명 이 야...고양이 가 10 월 에 이미 홍 보 를 시 작 했 기 때문에 운 바 바 의 아이들 은 모두 사재 기 를 준비 하기 시 작 했 고 품질 이 비 싸 지 않 은 정품 특 판 망 으로서 10 월 의 유 동량 이 다소 영향 을 받 았 다.그 다음 에 상층 부 는 2015 년 10 월 의 데 이 터 를 비교 해 야 한다. 시간 이 비교적 오래 되 었 다. 1 년 동안 hadop 의 데 이 터 는 여러 차례 조정 과 처 리 를 거 쳤 다. 물론 우리 dw 는 이 일 을 하 는 것 이다. 사장 이 필요 로 하 는 이상 우 리 는 당연히 처리 해 야 한다. 가장 직접적인 문 제 는 많은 데 이 터 를 다시 계산 해 야 한 다 는 것 이다.어 쩔 수 없 이 낑 낑 거 리 며 스 크 립 트 를 쓰 고 데 이 터 를 긁 는 다.스 크 립 트 를 준비 하 는 과정 에서 주어진 날짜 에 따라 데 이 터 를 처리 하고 30 일이 넘 는 중간 데 이 터 를 정리 해 야 합 니 다.그래서 다음 과 같은 요구 가 생 겼 습 니 다. 주어진 날짜 에 따라 N 전의 날 짜 를 계산 합 니 다.
테스트 파일 test. sh 만 들 기
#!/bin/sh
. /etc/profile
# :
# args[0] , , yyyy-MM-dd
# 30
function get_date_30daysbefore()
{
sec=`date -d $1 +%s`
sec_30daysbefore=$((sec - 86400*30))
days_before=`date -d @$sec_30daysbefore +%F`
echo $days_before
}
if [ $# == 1 ]; then
today=$1
dates_30=`get_date_30daysbefore $1`
else
today=`date -d -1days '+%Y-%m-%d'`
dates_30=`date -d -30days '+%Y-%m-%d'`
fi
echo $today
echo $dates_30
실행 에 참여 하지 않 음
## ,
$ ./test.sh
2016-10-28
2016-09-29
전송 실행
$ ./test.sh 2015-10-29
2015-10-29
2015-09-29
Done Done Done
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.