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はそのファイルのインスタンスを2つ開くことです。最後の$ TODAYを追加しないと、今日のファイル(存在しない場合)は生成されません。私は複雑なifインスタンスに依存しないこの問題に対するエレガントな解決策を見つけようとしています。

ベストアンサー1

これはトリックを行うようです

  if [[ $PAST != *"$TODAY"* ]]; then
    DATE="$PAST $TODAY"
  else
    DATE="$PAST"
  fi

  nvim -O $DATE

おすすめ記事