SORU
17 NİSAN 2009, Cuma


Nasıl "reddedildi" " mesajlar;bul" dışarıda bırakabilir miyim?

"" İletileri: . izin verilmedi tüm saklanmam gerek

find . > files_and_folders

Böyle bir mesaj ortaya çıktığında deneme duyuyorum. Hangi ortaya çıkması için değil, tüm klasörler ve dosyaları bir araya getirmek için ihtiyacım var. files_and_folders dosyası için izin düzeylerini doğrudan mümkün mü? Nasıl aynı anda hataları gizleyebilir miyim?

CEVAP
17 NİSAN 2009, Cuma


Kullanımı:

find . 2>/dev/null > files_and_folders

Bu gizler değil sadece izin hataları, tabii ki, ama tüm hata mesajlarını engellendi.

Eğer gerçekten devam etmek istiyorum diğer olası hataları gibi çok fazla şerbetçiotu bir sembolik, ama izin verilmedi olanlar, sonra edersin muhtemelen bir uçan sanırım senden hiç bir şey olmaz, çok sayıda dosya adı 'izin verilmedi' ve deneyin:

find . 2>&1 | grep -v 'permission denied' > files_and_folders

Eğer sen kesinlikle sadece standart hata süzmek istiyorsanız, daha ayrıntılı bir yapı kullanabilirsiniz:

find . 2>&1 > files_and_folders | grep -v 'permission denied' >&2

find komutu G/Ç yeniden yönlendirme: 2>&1 > files_and_folders |. Boru grep komutun standart çıktısı yönlendirir ve ilk olarak uygulanır. 2>&1 standart çıkış olarak aynı yere (boru) Standart hata gönderir. > files_and_folders Bir dosya için standart çıkışı (standart hata) gönderir. Net sonuç, standart hata mesajları için yazılı boru aşağı gönderilen ve find normal çıktı dosyasına yazılır. grep filtreler standart çıktı (karar ne kadar seçici olmasını istersen, Mayıs değiştirmek zorunda imla bağlı olarak yerel ve O/S) ve final >&2 demek ki hayatta hata mesajları (yazılı standart çıkış) standart hata bir kez daha. Son yönlendirme terminalinde isteğe bağlı olarak kabul edilebilir, ama çok iyi hata mesajları standart hata görünür, böylece bir komut dosyası kullanmak için bir fikir olacaktır.

Bu tema, yapmak istediğiniz ne bağlı olarak sonsuz varyasyonları vardır. Bu herhangi bir Bourne shell Unıx türevi ile herhangi bir değişken üzerinde çalışacak (Bash, Korn, ...) ve POSIX uyumlu find sürüm. herhangi bir

Eğer sisteminizde var find sürümüne adapte etmek isterseniz, alternatif seçenekler de söz konusu olabilir. GNU özellikle find sayısız seçenekleri diğer sürümlerinde kullanılabilir değil — seçeneklerden biri böyle bir set için şu anda kabul edilen cevap bakın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AlaskanGrizzly

    AlaskanGrizz

    30 EKİM 2009
  • Gee Cee

    Gee Cee

    1 AĞUSTOS 2009
  • GOTO Conferences

    GOTO Confere

    3 EKİM 2011