Linux Quickie: Wie kann eine sortierte CSV Datei mit Dateinamen, Rechten und Gruppe erzeugt werden?

Erstellt am 19. März 2019 von It_berater

Manchmal will man Verzeichnisse und Dateien vergleichen. Wie kann auf einem Raspberry Pi eine sortierte Komma separierte Liste (CSV, Excel) aller Dateien und Verzeichnisse erstellt werden?

Juhu Linux

Das geht auf der Komandozeile mit find, stat, format und sort:

find . -exec stat --format='%n,%a,%U,%G,' {} \; | sort > dateiliste.csv

Wir suchen also mit find in dem Wurzelverzeichnis (.) und führen für jede Datei und jedes Verzeichnis ein Systemstatus abfrage mit stat aus. Dann geben wir die Parameter formartiert mit , aus n=Dateiname, a=Rechte, U=User, G=Gruppe. Das alles wird dann sortiert in die dateiliste.csv geschrieben.

Wir erhalten dann z.B. eine solche Liste:

./src/CMakeFiles/rtl_test.dir/C.includecache,644,root,root,
./src/CMakeFiles/rtl_test.dir/cmake_clean.cmake,644,root,root,
./src/CMakeFiles/rtl_test.dir/DependInfo.cmake,644,root,root,
./src/CMakeFiles/rtl_test.dir/depend.internal,644,root,root,
./src/CMakeFiles/rtl_test.dir/depend.make,644,root,root,
./src/CMakeFiles/rtl_test.dir/flags.make,644,root,root,
./src/CMakeFiles/rtl_test.dir/link.txt,644,root,root,
./src/CMakeFiles/rtl_test.dir/progress.make,644,root,root,
./src/CMakeFiles/rtl_test.dir/rtl_test.c.o,644,root,root,
./src/cmake_install.cmake,644,root,root,
./src/libconvenience_static.a,644,root,root,
./src/librtlsdr.a,644,root,root,
./src/librtlsdr.so.0.6git,755,root,root,
./src/librtlsdr.so.0,777,root,root,
./src/librtlsdr.so,777,root,root,
./src/Makefile,644,root,root,

Ähnliche Artikel:

  1. Quick-HowTo: Aktuellste cmake Version 3.13.4 auf dem Raspberry Pi selbst compilieren und linken
  2. Datei mit Sonderzeichen in Dateinamen läßt sich nicht per FTP löschen
  3. Rekursives löschen von Verzeichnissen auf Linux und dem Raspberry Pi mit find