ファイルとディレクトリの変更時間を繰り返し変更するスクリプト

ファイルとディレクトリの変更時間を繰り返し変更するスクリプト

何千ものファイルを含む大容量フォルダがたくさんありますが、touch修正時間を「元の時間」+ 3時間に設定したいと思います。

スーパーユーザーの同様のスレッドからこのスクリプトを取得しました。

#!/bin/sh
for i in all/*; do
  touch -r "$i" -d '+3 hour' "$i"
done

だから私に必要なのは、固定ディレクトリではなく任意のディレクトリで動作するようにすることです(他の場所で実行したいときはいつでもスクリプトを編集する必要はありません)。再帰ファイルを編集します。

私はLinuxの経験がほとんどなく、プログラミング(主にC)について1つまたは2つ知っていますが、bashスクリプトを設定するのは今回が初めてです。

助けてくれた皆さんに心から感謝します:)

ベストアンサー1

find -exec再帰の場合は、touchコマンドライン引数を使用してディレクトリを処理します。

#!/bin/sh
for i in "$@"; do
    find "$i" -type f -exec touch -r {} -d '+3 hour' {} \;
done

次のように実行できます。

./script.sh /path/to/dir1 /path/to/dir2

おすすめ記事