今月作成されたファイルを確認してください。

今月作成されたファイルを確認してください。

私のディレクトリにファイルがあり、そのファイルが当月に作成されたことを確認する必要があります。シェルスクリプトでソリューションを試しています。

例:私のファイルパスは次のとおりです。ファイルが今月作成されたことをdata/tmp/docs/test.txt確認したいと思います。test.txt

ベストアンサー1

GNUを使用したり、dateLinuxをカーネルとして使用したりするシステムでbusybox date最も一般的な実装は次のとおりです。date

if [ "$(date -r file +%Y%m)" = "$(date +%Y%m)" ]; then
  echo "file was last modified this month"
fi

(シンボリックリンクの場合は、ターゲットのmtimeを確認してください。)

POSIXlyでは、次のように同じ結果が得られます。

(
  export LC_ALL=C; unset -v IFS
  eval "$(date +'cur_month=%b cur_year=%Y')"
  ls -Lnd file | {
    read -r x x x x x month x year_or_time x &&
      case $month-$year_or_time in
        ("$cur_month-$cur_year" | "$cur_month"-*:*)
          echo "file was last modified this month"
      esac
  }
)

おすすめ記事