인 클루 시브 다음 평일는 오늘 목요일, 또는 다음주 목요일없는 경우 경우 today
을 반환합니다 -d"Thursday"
(국번없이), 및 date
를 사용하여 내장된다.
그러나 date
는, 그래서 여기에 더 포함하는 마지막이없는 포함 지난 주말 kludge 기능입니다 :
ilast() { a=$(date -d'today' "+%A") ; b=$(date -d"$1" "+%A") ; \
[ $a != $b ] && echo -n "last " ; echo $b ; }
테스트 (또한 ilast
의 사용법을 보여줍니다) :
for d in Sun. Mon. Tue. Wed. Thu. Fri. Sat. ; do \
echo -n $(ilast $d)" " ; \
date -d"$(ilast $d)" "+%Y%m%d" ; \
done | column -t
출력 :
last Sunday 20160626
last Monday 20160627
last Tuesday 20160628
last Wednesday 20160629
Thursday 20160630
last Friday 20160624
last Saturday 20160625
기능은 $ Atoday
에의 평일 및 $ B $ (1)에 '다른 요일 것의 평일, 않는 $ (1)이 오늘입니다 설정 평일. 따라서 주중 $ a과 $ b이 같지 않으면 (7 일 중 6 일이 다를 수 있음) "last"을 평일의 긴 이름 앞에 붙입니다.이 동일을있는 평일 $ A 및 $ B를하는 경우, 인쇄되지 않습니다 "마지막" (일곱 중 1 일) 이후, 기본 포함하는 다음 이미 원하는 일을한다.
출처
2016-06-30 22:57:17
agc
나는 오늘을 포함하고있는'{next | last} - * day'의 다른 형태에 대해 알지 못합니다. 그것은 의미 론적으로 (언어 학적으로) 의미가 없습니다. 이 맥락에서 "다음"과 "마지막"은 보통의 언어로 오늘을 의미하지는 않습니다. 필요한 이유는 무엇입니까? 아마도 일부 컨텍스트 ... 당신은 항상 그 결과를 얻기 위해 간단한 사용자 정의 스크립트를 만들 수 있습니다. – lurker
오늘의 요일 ('date + % w')을 확인하는 것은 어떨까요? 예를 들어 목요일이고 지난 목요일을 찾고 있다면 끝났습니다. –