Bir klasördeki 1 MB'den büyük tüm dosyaları silmek istediğimi varsayalım.
$ find . -size +1M | xargs -0 rm
Bu, adlarında boşluk olan dosyaları silmez. Bu yüzden gönderdiği tüm argümanları alıntılamasını istiyorum rm. Eğer findverir Some report.docxo geçmelidir "Some report.docx"için rm.
Bunu nasıl yapabilirim?
Daha genel olarak, bkz. Kabuk betiğim neden boşlukta veya diğer özel karakterlerde boğuluyor?
—
Gilles 'SO- kötü olmayı bırak'
xargs -d$'\n'Sınırlayıcıyı yalnızca yeni satırlarla sınırlamak için kullanın (boşluklar değil; tırnak işaretleri vb. Özel olarak işlemez - bir GNU sisteminde kontrol ettim) - stackoverflow.com/a/33528111/94687'de
xargs. Wiki anlaşılacağı gibi Ayrıca kullanmayınxargsgeçirmeden-print0içinfind.