2013-03-29 9 views
35

Jak znaleźć wszystkie pliki z zerowymi bajtami w katalogu, a nawet w podkatalogach?Jak znaleźć wszystkie pliki z zerowym bajtem w katalogu zawierającym podkatalogi?

Zrobiłem to:

#!/bin/bash 
lns=`vdir -R *.* $dir| awk '{print $8"\t"$5}'` 
temp="" 
for file in $lns 
do 
    if test $file = "0" 
    then 
    printf $temp"\t"$file"\n" 
    fi 
temp=$file 
done 

ale mam tylko wyniki w tym pliku katalogu nie wszystkie pliki i jeśli nazwa pliku ma miejsce wtedy dostać tylko pierwsze słowo następnie zakładkę

Czy ktoś może mi pomóc?

+0

Możecie przeczytać 'man find'. – alk

+0

Pytanie również zostało opublikowane na [unix i linux] (http://superuser.com/q/575235/4714) - proszę nie pisać tego samego pytania w wielu miejscach. –

+0

następnym razem nie powtórzę w ten sposób z powodu problemu w mojej przeglądarce w stackoverflow i napisałem w superużytkowniku, ale teraz problem został rozwiązany przez wyczyszczenie ciasteczek historii i catche w ie, więc zapytałem ponownie tutaj – Civa

Odpowiedz

89

Aby wydrukować nazwy wszystkich plików i poniżej $ dir wielkości 0:

find "$dir" -size 0 

pamiętać, że nie wszystkie implementacje find będzie produkować wyjście domyślnie, więc może trzeba zrobić:

find "$dir" -size 0 -print 
+0

mogę filtrować katalog inny niż * .xml – Civa

+1

@Civa Możesz filtrować wyniki na wiele sposobów. 'man find' –

+0

tak, mam to ls | grep -v "\ .xml $" – Civa

4

Nie, nie musisz martwić się grep.

find $dir -size 0 ! -name "*.xml" 
12

jako dodatek do powyższych odpowiedzi:

Jeżeli chcesz usunąć te pliki

find $dir -size 0 -type f -delete 
+1

nie jest konieczne usuwanie całego pliku o rozmiarze 0 przez cały czas. – Raghvendra

+0

następnie, jak usunąć plik w folderze o rozmiarze 0 – Raghvendra

0

Jest to poprawny sposób wyszukać wielkości 0:

find /path/to/dir -size 0 -type f -name "*.xml" 

Wyszukaj wiele rozszerzeń plików o rozmiarze 0:

find /path/to/dir -size 0 -type f \(-iname \*.css -o -iname \*.js \) 

Uwaga: Jeśli usunięte \ (... \) wyniki byłyby wszystkie pliki, które spełniają ten wymóg stąd ignorowanie wielkości 0.

Powiązane problemy