何千ものファイルを含む大容量フォルダがたくさんありますが、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