Ich möchte nur den Dateinamen und die entsprechende Dateiberechtigung sehen. Wie geht das?
ls -l gibt
-rw-rw-r-- 1 jb jb 102 Apr 28 12:48 hello2.txt
-rw-rw-r-- 1 jb jb 102 Apr 28 12:53 hello.txt
Ich würde gerne wie folgt sehen
-rw-rw-r-- 1 hello2.txt
-rw-rw-r-- 1 hello.txt
Antwort1
Der stat
Befehl ist zB hierfür gedacht:
stat -c '%A %n' *.txt
oder
stat --printf '%A\t%n\n' *.txt
wobei die Formatbezeichner folgende Bedeutung haben
%A access rights in human readable form
%n file name
Antwort2
Den größten Teil des Weges können Sie zurücklegen, indem Sie „ ls
sich selbst“ verwenden: ls -lGg --time-style=+
Es werden nur die Zugriffsmodi, die Anzahl der Links, die Größe und der Name gedruckt.
Die Verarbeitung der ls
Ausgabe ist schwierig, da Dateinamen so ziemlich alles enthalten können, sodass Sie bei der Verarbeitung keine Annahmen über sie treffen können. Es wäre besser, find
stattdessen zu verwenden, um genau die benötigten Informationen mit-printf
:
find . -printf '%M %p\n'
(Mit Optionen wie, -maxdepth
die je nach Bedarf verwendet werden, um die Auflistung einzuschränken.)
Antwort3
Sie können es weiterleiten gawk
und die gewünschten Felder ausgeben, etwa so oder ähnlich:
ls -l | gawk '{print $1 " " $2 " " $9}'