Listen Sie Dateien mit einer Bestellnummer auf

7

Gibt es eine schnelle Möglichkeit, alle Dateien von einem Speicherort mit angehängter Bestellnummer aufzulisten?

etwas wie:

ls -a

generiert das Ergebnis:

1 Datei a

2 Datei b

...

100 Datei was auch immer

Vielen Dank.

PS Ich brauche das, weil ich eine Liste in eine Datei exportiere und diese Dateien analysieren muss. Es würde mir helfen, die Dateien identifizieren zu können.

bioShark
quelle

Antworten:

7

Verwenden Sie vom Terminal aus den folgenden Befehl:

ls -a | cat -b
Karel
quelle
@bioShark, Denken Sie daran, die Antwort zu akzeptieren, wenn das Problem behoben wurde (klicken Sie auf das Häkchen neben der Antwort).
Edwin
@edwin Ich wollte die Antwort sofort akzeptieren, aber es sagte mir, dass ich noch 3 Minuten warten muss :). Ich bin nicht neu bei askubuntu, daher weiß ich, dass ich die Antworten akzeptieren muss.
BioShark
Bonuspunkt von mir, wenn Sie cat -b zfill machen, damit das Sortieren funktioniert.
RobotHumans
6

ja da ist. Pipe einfach nlbis zum Ende deines Befehls:

In diesem Fall sollten Sie folgendermaßen schreiben:

ls -a | nl

und das Ergebnis ist:

  1. foo
  2. Bar
  3. baz

nl bezieht sich auf die Anzahl der Dateien.

siehe auch hier :) http://www.sitepoint.com/15-little-known-unix-commands/ ?

Mohammad Reza Rezwani
quelle
Vielen Dank. Dies ist die direkteste Antwort. Ich werde die akzeptierte Antwort jedoch nicht ändern, da dies unfair wäre. Ich habe mein Problem mit Hilfe von Karels Antwort gelöst.
BioShark
4

Karels Antwort ist in den meisten Fällen in Ordnung, wird jedoch in dem unwahrscheinlichen Fall, in dem Ihre Dateinamen Zeilenumbrüche enthalten, unterbrochen. Verwenden Sie statstattdessen für einen robusteren Ansatz :

stat --printf "%N\n" * | cat -n

oder find and awhile` Schleife:

find . -maxdepth 1 -printf '"%f"\0' | 
while IFS=$'\0' read -r -d $'\0' file; do 
  let c++; printf "%d\t%s\n" $c "$file"; 
done
Terdon
quelle
Vielen Dank. Beides großartige Lösungen. Für mein einfaches Bedürfnis ist es jedoch ein bisschen übertrieben :)
BioShark