{"id":12874,"date":"2019-03-19T01:23:52","date_gmt":"2019-03-19T00:23:52","guid":{"rendered":"http:\/\/blog.wenzlaff.de\/?p=12874"},"modified":"2019-03-18T15:04:05","modified_gmt":"2019-03-18T14:04:05","slug":"linux-quickie-wie-kann-eine-sortierte-csv-datei-mit-dateinamen-rechten-und-gruppe-erzeugt-werden","status":"publish","type":"post","link":"http:\/\/blog.wenzlaff.de\/?p=12874","title":{"rendered":"Linux Quickie: Wie kann eine sortierte CSV Datei mit Dateinamen, Rechten und Gruppe erzeugt werden?"},"content":{"rendered":"<p>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? <\/p>\n<figure id=\"attachment_12879\" aria-describedby=\"caption-attachment-12879\" style=\"width: 2732px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/03\/Linux.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/03\/Linux.jpg\" alt=\"\" width=\"2732\" height=\"2048\" class=\"size-full wp-image-12879\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/03\/Linux.jpg 2732w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/03\/Linux-300x225.jpg 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/03\/Linux-768x576.jpg 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/03\/Linux-1024x768.jpg 1024w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><figcaption id=\"caption-attachment-12879\" class=\"wp-caption-text\">Juhu Linux<\/figcaption><\/figure>\n<p>Das geht auf der Komandozeile mit find, stat, format und sort:<\/p>\n<pre class=\"lang:default decode:true \" >\r\nfind . -exec stat --format='%n,%a,%U,%G,' {} \\; | sort &gt; dateiliste.csv\r\n<\/pre>\n<p>Wir suchen also mit find in dem Wurzelverzeichnis (.) und f\u00fchren f\u00fcr 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.<\/p>\n<p>Wir erhalten dann z.B. eine solche Liste:<!--more--><\/p>\n<pre class=\"lang:default decode:true \" >\r\n.\/src\/CMakeFiles\/rtl_test.dir\/C.includecache,644,root,root,\r\n.\/src\/CMakeFiles\/rtl_test.dir\/cmake_clean.cmake,644,root,root,\r\n.\/src\/CMakeFiles\/rtl_test.dir\/DependInfo.cmake,644,root,root,\r\n.\/src\/CMakeFiles\/rtl_test.dir\/depend.internal,644,root,root,\r\n.\/src\/CMakeFiles\/rtl_test.dir\/depend.make,644,root,root,\r\n.\/src\/CMakeFiles\/rtl_test.dir\/flags.make,644,root,root,\r\n.\/src\/CMakeFiles\/rtl_test.dir\/link.txt,644,root,root,\r\n.\/src\/CMakeFiles\/rtl_test.dir\/progress.make,644,root,root,\r\n.\/src\/CMakeFiles\/rtl_test.dir\/rtl_test.c.o,644,root,root,\r\n.\/src\/cmake_install.cmake,644,root,root,\r\n.\/src\/libconvenience_static.a,644,root,root,\r\n.\/src\/librtlsdr.a,644,root,root,\r\n.\/src\/librtlsdr.so.0.6git,755,root,root,\r\n.\/src\/librtlsdr.so.0,777,root,root,\r\n.\/src\/librtlsdr.so,777,root,root,\r\n.\/src\/Makefile,644,root,root,<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>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: find . -exec stat &#8211;format=&#8217;%n,%a,%U,%G,&#8216; {} \\; | sort &gt; dateiliste.csv Wir suchen also mit find in dem &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/blog.wenzlaff.de\/?p=12874\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eLinux Quickie: Wie kann eine sortierte CSV Datei mit Dateinamen, Rechten und Gruppe erzeugt werden?\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[220,2173,808,1023,2752],"tags":[1721,2310,3570,132,2365,3360,3571],"class_list":["post-12874","post","type-post","status-publish","format-standard","hentry","category-anleitung","category-debian","category-linux-2","category-raspberry-pi","category-raspberry-pi-zero-w","tag-csv","tag-excel","tag-find","tag-format","tag-sort","tag-sortieren","tag-stat"],"_links":{"self":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/12874","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=12874"}],"version-history":[{"count":0,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/12874\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12874"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=12874"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=12874"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}