날짜를 기준으로 파일을 열도록 설계된 스크립트가 있습니다.
연도는 다르지만 날짜/월이 동일한 파일이 있는 경우 해당 파일을 여는 것이 아이디어입니다.
또한 오늘 존재하는지 여부에 관계없이 오늘의 파일을 열어야 합니다.
현재 스크립트입니다.
#!/bin/bash
TODAY=$(date +%Y-%m-%d).md
PAST=$(ls 20??-$(date +%m-%d).md)
if [[ -z "$PAST" ]]; then
DATE=$TODAY
else
DATE=$PAST
fi
nvim -O $DATE $TODAY
물론 여기서 문제는 오늘의 파일이 이미 존재한다면 vim이 해당 파일의 인스턴스를 두 개 연다는 것입니다. 마지막 $TODAY를 추가하지 않으면 오늘의 파일(존재하지 않는 경우)이 생성되지 않습니다. 나는 복잡한 if 인스턴스에 의존하지 않는 이 문제에 대한 우아한 해결책을 찾으려고 노력하고 있습니다.
답변1
이것은 트릭을 수행하는 것 같습니다
if [[ $PAST != *"$TODAY"* ]]; then
DATE="$PAST $TODAY"
else
DATE="$PAST"
fi
nvim -O $DATE