2013-03-29 10 views
35

Wie kann ich alle Null-Byte-Dateien in einem Verzeichnis und sogar in Unterverzeichnissen finden?Wie finden Sie alle Null-Byte-Dateien in einem Verzeichnis einschließlich Unterverzeichnissen

Ich habe dies getan:

#!/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 

aber ich nur die Ergebnisse in diesem Verzeichnis Datei erhalten nicht alle Dateien und wenn ein beliebiger Dateiname einen Raum dann bekomme ich nur die erste von Tab gefolgt Wort

Kann mir jemand helfen?

find "$dir" -size 0 

Beachten Sie, dass nicht alle Implementierungen von find ausgegeben standardmäßig produzieren, so was Sie tun müssen:

+0

Sie mögen vielleicht 'man find' lesen. – alk

+0

Frage auch geschrieben auf [Unix & Linux] (http://superuser.com/q/575235/4714) - bitte nicht die gleiche Frage an mehreren Orten. –

+0

nächstes Mal im nicht wiederholen, wie dies aufgrund von Problem in meinem Browser in mit Stackoverflow ich in Superuser gepostet, aber jetzt das Problem behoben durch das Löschen von History Cookies und catch in ie so fragte ich wieder hier – Civa

Antwort

89

Um die Namen aller Dateien in und unter $ dir der Größe 0 drucken

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

kann ich ein anderes Verzeichnis als * .xml filtern – Civa

+1

@Civa Sie können die Ergebnisse auf viele Arten filtern. 'man find' –

+0

ja ich habe es ls | grep -v "\ .xml $" – Civa

4

Nein, Sie müssen Grep nicht stören.

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

Als Ergänzung zu den Antworten oben:

Wenn Sie diese Dateien

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

es ist nicht notwendig, die ganze Datei der Größe 0 die ganze Zeit zu löschen. – Raghvendra

+0

dann, wie Sie eine Datei in einem Ordner mit der Größe 0 löschen – Raghvendra

0

Dies ist die richtige Art und Weise löschen möchten 0 für Größe zu suchen:

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

Suche nach mehreren Dateierweiterungen der Größe 0:

Hinweis: Wenn Sie die \ (... \) entfernt die Ergebnisse wären alle Dateien, die diese Anforderung erfüllen daher ignoriert die Größe 0.

Verwandte Themen