Um eine andere Antwort zu verstehen:
find / -type d -print0 | while read -r -d ''; do ls -ltr "$dir" | sed '$!d'
Der erste Schritt besteht darin, die Verwendung der Option -r des Lesebefehls zu verstehen.
Zunächst dachte ich, es würde ausreichen, einfach auszuführen
man read
um die Bedeutung der Option -r nachzuschlagen, aber ich erkannte, dass die Manpage überhaupt keine Erklärung für die Option enthält, und googelte, um einige Beispiele für read -t, read -p, aber kein read -r zu erhalten.
command-line
read
Abdul Al Hazred
quelle
quelle
help read
orman bash
READ(1P)
existiert für mich ...Antworten:
Es gibt keinen eigenständigen
read
Befehl: Stattdessen handelt es sich um eine integrierte Shell, die als solche in der Manpage für Folgendes dokumentiert istbash
:Zusammenfassend lässt man also
read
normalerweise zu, dass lange Zeilen mit einem abschließenden Backslash unterbrochen werden, und rekonstruiert normalerweise solche Zeilen. Dieses etwas überraschende Verhalten kann mit deaktiviert werden-r
.quelle
str="a\bc"; read x <<< "$str"; read -r y <<< "$str"; echo "$x"; echo "$y"
str="a` and then hit Enter before pasting in the rest of the command starting with
b` eingeben.Die
-r
Option verhindert, dass umgekehrte Schrägstriche interpretiert werden . Hier ist ein Beispiel:Angenommen, es gibt eine Datei mit folgendem Inhalt:
quelle