Hallo zusammen
Nur Verzeichnisse rekursiv auflisten und nebenbei den Besitzer sowie Berechtigung als Nummer ausgeben, wüsste evtl. jemand hier wie das geht? Dass dabei eine Nummer herauskommt (statt RWX etc.) wäre sehr wichtig, leider verstehe ich nicht ganz welche Befehle ich dabei kombinieren muss? Und eine fertige Lösung scheint's bei Google nicht direkt zu geben.
Andernfalls könnte man natürlich selbst was programmieren, aber die Zeit ist ein wenig das Problem.
Vielen Dank für eure Feedbacks!
Nur Verzeichnisse rekursiv auflisten und nebenbei den Besitzer sowie Berechtigung als Nummer ausgeben [Gelöst]
Nur Verzeichnisse rekursiv auflisten und nebenbei den Besitzer sowie Berechtigung als Nummer ausgeben [Gelöst]
Zuletzt geändert von jmar83 am 09.12.2019 16:34:33, insgesamt 1-mal geändert.
Freundliche Grüsse, Jan
Re: Nur Verzeichnisse rekursiv auflisten und nebenbei den Besitzer sowie Berechtigung als Nummer ausgeben
Habe es mal so gelöst, allerdings ist das wohl nicht der eleganteste Weg:
...evtl. könnte ja jemand noch einen Verbesserungsvorschlag machen?
Code: Alles auswählen
find ./ -type d -printf '%u %m %p\n' | grep -v "vc" > out.txt
...evtl. könnte ja jemand noch einen Verbesserungsvorschlag machen?
Freundliche Grüsse, Jan
Re: Nur Verzeichnisse rekursiv auflisten und nebenbei den Besitzer sowie Berechtigung als Nummer ausgeben
Falls Du das nochmal brauchst, tree ist für solche Fälle ganz nett.
Leider ist die Ausgabe hier noch nicht numerisch, aber das bekommt man durch entsprechendes Suchen und Ersetzen schnell weg, soviele mögliche Kombinationen gibts da ja nicht. Eigentlich kann das Tool intern schon was Du willst, nur macht es mehr als gefordert und schreibt die Buchstaben raus. Das kann man ihm aber leicht abgewöhnen, der Code ist recht übersichtlich. Für Version 1.8.0-1 aus sid:
tree.c:1314 if (pflag) n += sprintf(buf+n, " %s",prot(ent->attr));
die entsprechende Funktion findet man ab Zeile 1180. Sollte reichen, die numerischen Werte entsprechend formatiert in den Buffer zu schreiben. Jenachdem welches Format gewünscht ist, reichts wahrscheinlich schon den buffer statt mit "rwx..." einfach mit Leerzeichen zu füllen und den Zahlwert per snprintf als %o drüberzuschreiben und den überflüssigen Rest aus der Funktion rauszunehmen.
Code: Alles auswählen
tree -u -d -p -f -i
tree.c:1314 if (pflag) n += sprintf(buf+n, " %s",prot(ent->attr));
die entsprechende Funktion findet man ab Zeile 1180. Sollte reichen, die numerischen Werte entsprechend formatiert in den Buffer zu schreiben. Jenachdem welches Format gewünscht ist, reichts wahrscheinlich schon den buffer statt mit "rwx..." einfach mit Leerzeichen zu füllen und den Zahlwert per snprintf als %o drüberzuschreiben und den überflüssigen Rest aus der Funktion rauszunehmen.
Re: Nur Verzeichnisse rekursiv auflisten und nebenbei den Besitzer sowie Berechtigung als Nummer ausgeben
Vielen Dank!! Tönt sehr interessant, werd ich mal bei Gelegenheit anschauen, dann lerne ich noch ein wenig C/C++!
Freundliche Grüsse, Jan