Saya mencoba memperbarui stempel waktu ke waktu saat ini di semua file xml dalam direktori saya (secara rekursif). Saya menggunakan Mac OSX 10.8.5.
Pada sekitar 300.000 file, echo
perintah berikut ini membutuhkan waktu 10 detik :
for file in `find . -name "*.xml"`; do echo >> $file; done
Namun, touch
perintah berikut ini memakan waktu 10 menit ! :
for file in `find . -name "*.xml"`; do touch $file; done
Mengapa gema jauh lebih cepat daripada sentuhan di sini?
touch `find . -name "*.xml"`
akan lebih cepat dari kedua hal di atas?
>>$file
touch
berkali-kali? find . -name '*.xml' -print0 | xargs -0 touch
meminta waktu yang touch
jauh lebih sedikit (mungkin hanya sekali). Bekerja di Linux, harus bekerja pada OS X.
echo >> $file
akan ditambahkan baris baru$file
dan karenanya memodifikasinya. Saya menganggap itu akan sama untuk OS / X. Jika Anda tidak menginginkannya, gunakanecho -n >> $file
.