GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Menschenlesbare Dateien unter Unix finden

Verwendung:

find /dir/to/search -type f | xargs file | grep text

find gibt Ihnen eine Liste von Dateien.

xargs file wird file ausführen Befehl in jeder der Zeilen aus der Pipe-Eingabe.


finden und Datei sind deine Freunde hier:

find /dir/to/search -type f -exec sh -c 'file -b {} | grep text &>/dev/null' \; -print

Dies findet alle Dateien (ANMERKUNG:es findet keine Symlinks, Verzeichnisse, Sockets usw., nur normale Dateien) in /dir/to/search und führen Sie sh -c 'file -b {} | aus grep text &>/dev/null'; die den Dateityp ansieht und nach Text in der Beschreibung sucht. Wenn dies wahr zurückgibt (d. h. Text in der Zeile ist), wird der Dateiname ausgegeben.

HINWEIS:Die Verwendung des Flags -b für Datei bedeutet, dass der Dateiname nicht gedruckt wird und daher keine Probleme mit grep verursachen kann . Z. B. ohne -b Flag die Binärdatei gettext würde fälschlicherweise als Textdatei erkannt.

Zum Beispiel

[email protected]# find /bin -exec sh -c 'file -b {} |  grep text &>/dev/null' \; -print
/bin/gunzip
/bin/svnshell.sh
/bin/unicode_stop
/bin/unicode_start
/bin/zcat
/bin/redhat_lsb_init
[email protected]# find /bin -type f -name *text*
/bin/gettext

Wenn Sie in komprimierten Dateien suchen möchten, verwenden Sie den --uncompress Flagge zu Datei. Weitere Informationen und zu archivierende Flags finden Sie unter man file.


Linux
  1. 10 Cat-Befehlsbeispiele zum Verwalten von Dateien unter Linux / UNIX

  2. Wie finde ich Zeilenenden in einer Textdatei heraus?

  3. So finden Sie Dateien im DOS-Format in einem Linux-Dateisystem

  4. Iterieren Sie über eine Liste von Dateien mit Leerzeichen

  5. Ausführbare Dateien mit ls und grep finden

Finden Sie große Dateien in Linux

So finden Sie Dateien in Debian 10

Finden Sie verlorene Dateien mit Scalpel

So schließen Sie ein Verzeichnis beim Suchen von Dateien in Linux aus

So finden Sie Dateien basierend auf dem Zeitstempel in Linux

So finden Sie Dateien, die in den letzten 24 Stunden in Linux geändert wurden