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?
Das geht auf der Komandozeile mit find, stat, format und sort:
1 |
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
./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, |