Bash: Listet Dateien mit absoluten Pfaden auf, einen pro Zeile, keine anderen Informationen

758
Johannes

Ich suche nach einem Befehl, der alle Dateien im aktuellen Verzeichnis auflistet.

Bedarf:

  1. Absolute Pfade
  2. Eine Datei pro Zeile
  3. Keine anderen Informationen (wie Größe, Berechtigungen ...)
  4. Ordner nicht anzeigen

Was ich bisher bekommen habe, ist folgendes:

ls -d1 $PWD/* 

Was gibt:

[User@User-arch Pictures]$ ls -d1 $PWD/* /home/User/Pictures/folder1 /home/User/Pictures/folder2 /home/User/Pictures/file1.png /home/User/Pictures/file2.png /home/User/Pictures/file3.png /home/User/Pictures/file4.png 

oder readlink -f $PWD/*, was die gleiche Ausgabe ergibt.

Sie erfüllen alle bis auf die 4. Anforderungen. Wie kann ich es anpassen, damit keine Ordner angezeigt werden? Oder gibt es einen einfacheren Befehl?

0

2 Antworten auf die Frage

3
sebasth
find $PWD -maxdepth 1 -type f 

Listet Dateien im aktuellen Arbeitsverzeichnis auf. -type fWenn die findListe nur reguläre Dateien (keine Ordner) enthält, wird -maxdepth 1verhindert, dass Inhalt in Unterordnern in der Ausgabe angezeigt wird.

0
JG7

Sie könnten angeben ls, dass der nachgestellte Schrägstrich hinter den Verzeichnisnamen eingefügt und dann an diesen weitergeleitet werden soll grep.

ls -pd1 $PWD/* | grep -v /$ 

Edit: Sah meinen Fehler in der ursprünglichen Antwort.

Das zeigt nichts für mich Johannes vor 6 Jahren 0