日付に基づいてファイルを開くように設計されたスクリプトがあります。
年は異なりますが、同じ日付/月のファイルがある場合は、そのファイルを開くのがアイデアです。
また、今日存在するかどうかに関係なく、今日のファイルを開く必要があります。
現在のスクリプトです。
#!/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