/dirA/file、/dirB/file のうち最後に変更されたファイルの中で最大のファイルを探す

/dirA/file、/dirB/file のうち最後に変更されたファイルの中で最大のファイルを探す

最後の修正を除いて、まったく同じPDFファイルdirAとdirBという2つのディレクトリがあるとします。

各ファイル名(常にdirA、dirBにあると仮定)を検索し、各ファイル名に対してどのファイル(dirA / fileまたはdirB / file)が最後の変更時間が大きいかを出力できるbashスクリプト(awkなし)ですか?例えば

if dirA/file.lastmodified > dirB/file.lastmodified 
##take action

ベストアンサー1

GNU統計の使用:

shopt -s dotglob

for file in dirA/*; do
    [[ -f "dirB/${file##*/}" ]] || continue
    if (( "$(stat -c %Y "$file")" > "$(stat -c %Y "dirB/${file##*/}")" )); then
        # take action
    fi
done

おすすめ記事