Ich führe diesen Befehl aus:
~/shell_temp$ find . -type f -name "IMAG1806.jpg" -exec rm -f {}\
Ich habe Ausgabe unten:
> IMAG1806.jpg
Error:
find: missing argument to `-exec'
Was ist der genaue Befehl, um eine Datei aus dem aktuellen Verzeichnis zu finden und mit zu entfernen -exec
?
command-line
find
Akshay Patel
quelle
quelle
rm "IMAG1806.jpg"
? Es befindet sich im selben Verzeichnis, sodass Sie wissen, wie es heißt.-exec rm
nur-delete
direkt zu verwenden.Antworten:
Sie haben das a
;
am Ende verpasst (und auch ein Leerzeichen zwischen{}
und;
). Der richtige Befehl lautet:;
gibt das Ende des-exec
Prädikats von anfind
.Beachten Sie auch, dass wir verwendet haben,
\;
dh\
davor verwendet haben;
, um der Interpretation von;
by shell zu entgehen , da Shell andernfalls;
als Ende des gesamtenfind
Befehls behandelt undfind
denselben Fehler auslöst. Sie können auch';'
anstelle von verwenden\;
.Sie haben
\
am Ende verwendet. Dies zeigt an, dass Ihre Shell weiterhin Eingaben überPS2
(angezeigt durch>
) annimmt. Sie habenIMAG1806.jpg
erneut eingegeben , sodass der gesamte Befehl wie folgt lautet:Wie Sie sehen, ist dies kein gültiger Befehl mit
IMAG1806.jpg
am Ende, ohne Schließen des-exec
Prädikats und ohne Leerzeichen zwischen{}
und\;
.quelle
;
am Ende“ Danke für diese verbrachten 10 Minuten zur Fehlerbehebung , bevor ich realisiert hatte ich versehentlich getippt:
statt;
, auf diesen modernen HD - Bildschirmen seine leicht zu verpassen ...Sie können einfach
Von der Manpage:
quelle