Ich habe diesen Befehl verwendet, um das erste Ergebnis von Dateien in meinem Verzeichnis anzuzeigen.
ls | head -n 1
Meine einfache Frage ist, wie kann ich diesen Befehl ändern, um das n-te Ergebnis anzuzeigen?
Vielen Dank!
quelle
Ich habe diesen Befehl verwendet, um das erste Ergebnis von Dateien in meinem Verzeichnis anzuzeigen.
ls | head -n 1
Meine einfache Frage ist, wie kann ich diesen Befehl ändern, um das n-te Ergebnis anzuzeigen?
Vielen Dank!
Sie können sed verwenden, um eine einzelne Zeile auszuwählen, z. B. Zeile 12:
ls | sed -n 12p
Option -n
fordert sed auf, nicht jede Zeile zu drucken (was normalerweise der Fall ist), und 12p
fordert auf, den Musterbereich zu drucken, wenn die Adresse 12 lautet.
Es gibt vielleicht bessere Möglichkeiten, dies zu tun, aber dies ist wahrscheinlich die einfachste: ls | head -<n> | tail -1
Geradeaus mit awk
:
$ ls / | awk 'NR==4'
etc
Ich habe das in meinem .bashrc
.
lsn () {
ls ${@:2} | head -n $1 | tail -n 1
}
Dies wird als solches bezeichnet: lsn 4
zum Beispiel. Das $2
erlaubt Ihnen,
Optionen zu verwenden ls
, lsn 4 -lah
ist auch gültig.
Hinweis: Wenn Sie das -l
Flag verwenden, ls
wird oben im Ergebnis eine zusätzliche Zeile angezeigt. Was das Ergebnis dieser Funktion verzerren würde.
ls "$@"
, umlsn
die Argumente weiterzugebenls
. Natürlich nach Gebrauchshift
herausnehmen$1
.$@
Ansatz aktualisiert . Gut erkannt.Mit
zsh
und Glob Qualifiers:oder
druckt die 7. Datei aus der Liste der nach Namen sortierten Dateien.
oder
druckt die 7. Datei aus der Liste der Dateien
o
nachm
Uhrzeit (neueste zuerst - ähnlich wie beim Extrahieren des 7. Eintrags aus derls -t
Ausgabe).Ideal, wenn Sie gerade arbeiten
ls
Ausgabe verarbeiten, sollten Sie idealerweise so etwas wie "ls -q | command(s)
where-q
prints"?
anstelle von "funky chars" (wie "newlines") verwenden undcommand(s)
nur N Ausgabezeilen verarbeiten, das N-te ausgeben und dann anhalten.quelle
Mit Schwanz und Kopf (zur Verdeutlichung nl hinzugefügt). Holen wir uns die fünfte Zeile:
Dies springt zur fünften Zeile:
Dann natürlich Kopf -1
quelle