Ich verstehe das Beispiel aus dem nicht ganz. man find
Kann mir jemand einige Beispiele und Erklärungen geben? Kann ich reguläre Ausdrücke darin kombinieren?
Die detailliertere Frage lautet wie folgt:
Schreiben Sie ein Shell-Skript, changeall
das eine Schnittstelle wie hat changeall [-r|-R] "string1" "string2"
. Es werden alle Dateien mit einem Suffix finden .h
, .C
, .cc
, oder .cpp
und alle Vorkommen ändern string1
zu string2
. -r
ist die Option, nur im aktuellen Verzeichnis zu bleiben oder Unterverzeichnisse einzuschließen.
HINWEIS:
- Für nicht rekursive Fälle
ls
ist NICHT erlaubt, wir könnten nurfind
und verwendensed
. - Ich habe es versucht,
find -depth
aber es wurde NICHT unterstützt. Deshalb habe ich mich gefragt, ob ich-prune
helfen könnte, aber das Beispiel von nicht verstandenman find
.
EDIT2: Ich habe einen Auftrag ausgeführt, ich habe keine detaillierten Fragen gestellt, weil ich ihn gerne selbst beenden würde. Da ich es bereits getan und abgegeben habe, kann ich jetzt die ganze Frage stellen. Außerdem habe ich es geschafft, die Aufgabe ohne Verwendung zu beenden -prune
, möchte sie aber trotzdem lernen.
-prune
funktioniert nicht nur für Verzeichnisse (sondern verhindert bei Verzeichnissen auch die Eingabe von Verzeichnissen, die dieser Bedingung entsprechen, dh hier die Verzeichnisse, die dieser Bedingung entsprechen-name .snapshot
).