vim으로 중복 파일을 열지 않는 방법은 무엇입니까?

vim으로 중복 파일을 열지 않는 방법은 무엇입니까?

날짜를 기준으로 파일을 열도록 설계된 스크립트가 있습니다.

연도는 다르지만 날짜/월이 동일한 파일이 있는 경우 해당 파일을 여는 것이 아이디어입니다.

또한 오늘 존재하는지 여부에 관계없이 오늘의 파일을 열어야 합니다.

현재 스크립트입니다.

#!/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

관련 정보