シェル(bash)で、ファイルのタイムスタンプを比較して揃えるにはどう書けばいいのでしょうか。


File1(基準ファイル)とFile2・File3・File4があります。
File2~4の中でFile1よりも新しいファイルがあれば、File1のタイムスタンプをそのファイルと同一にします。
もしFile1が最新であるなら何もしません。

このような挙動をさせたいと思います。

回答の条件
  • 1人2回まで
  • 登録:2007/07/17 15:12:25
  • 終了:2007/07/17 16:48:49

ベストアンサー

id:Bookmarker No.1

しおり回答回数191ベストアンサー獲得回数342007/07/17 16:10:59

ポイント100pt

こんな感じでできます。

#!/bin/bash

files="file2 file3 file4"

for file in $files
do
  if [[ $file -nt file1 ]]
  then
      touch -r $file file1
  fi
done
id:harrypotter

ありがとうございます。

素晴らしいです!

2007/07/17 16:48:18

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません