私のディレクトリにファイルがあり、そのファイルが当月に作成されたことを確認する必要があります。シェルスクリプトでソリューションを試しています。
例:私のファイルパスは次のとおりです。ファイルが今月作成されたことをdata/tmp/docs/test.txt
確認したいと思います。test.txt
ベストアンサー1
GNUを使用したり、date
Linuxをカーネルとして使用したりするシステムで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
}
)