Tekrarlayan dosyalara nasıl dokunulur?


40

Yaklaşık 5000 dosyanın zaman damgasını değiştirmem gerekiyor.

Typing touch file1.txt, touch file2.txtbeni sonsuza dek alacak.

Satırlarında bir şey yapmanın bir yolu var mı touch -R *?


1
Bunu demek istedi touch file{1..3}.txt?
Avinash Raj

2
Hangi kabuğu kullandığınızı belirtmediniz, ancak zsh touch **/*ile kullanışlıdır.
Marc Glisse

@Marc Glisse Argüman listesinin çok uzun sürdüğünü unutmayın.
bac0n

Bash olarak, touch ** 'ı kullanmadan önce globstar ayarlamalısınız
bac0n

Yanıtlar:


71

findTüm dosyalarınızı bulmak için komutları kullanabilir ve touchbulunan her dosyada yürütebilirsiniz .-exec

find . -type f -exec touch {} +

Sonucunuzu yalnızca metin dosyaları için filtrelemek istiyorsanız,

find . -type f -name "*.txt" -exec touch {} +

16
Ben kullanarak öneririm -exec'ın +terminatör (yerine \;). Bu, her bir touchörnek için birden fazla argüman zincirleyecektir (sistem argüman limitine kadar) ve bu nedenle çok daha az boşa çıkacaktır (ve muhtemelen daha hızlı olacaktır).
Oli


2
Ve Kuru çalışma için, sadece dışarıda bırakın -exec touch {} +bölümünü ve ne sizin terminale basalım olur etkilemiştir.
Alex,

5
Teşekkürler, 'bul' ilk parametresini eksik olduğunu düşünüyorum rağmen. find . -type f -exec touch {} +
giltsl

Değişiklik zamanını değil erişim zamanını değiştirmek istersem ne olur? "Bulmak -tipi f -exec touch -a {} +" mı olmalı?
weeo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.