Wie können Sie mit einem Platzhalter und einer Variablen viele Dateien löschen? Dies ist meine Variable "$dir"
Wann sollten Wildcards innerhalb/außerhalb von Anführungszeichen stehen?
$ echo "$dir"
/home/path/to/file
Hier habe ich die Wild Card in den doppelten Anführungszeichen, aber es funktioniert nicht:
$ rm "$dir/data/ffg_per_product/ffg*"
rm: cannot remove `/home/path/to/file/data/ffg_per_product/ffg*': No such file or directory
Hier habe ich die Wildcard außerhalb der doppelten Anführungszeichen und es funktioniert:
$ rm "$dir/data/ffg_per_product/ffg"*
Und hier können Sie die Dateien sehen gelöscht wurden:
$ ls -lth ffg_per_product/ffg* | wc -l
ls: cannot access ffg_per_product/ffg*: No such file or directory
0
Also, was ich wissen möchte, ist ich die Anführungszeichen korrekt verwenden, um die Dateien zu löschen rm "$dir/data/ffg_per_product/ffg"*
mit dem Platzhalter outise die Anführungszeichen? Oder gibt es einen anderen/besseren Weg?
HINWEIS: wahrscheinlich einige offensichtlich, aber nur für refererence und klar zu sein, das gleiche gilt für ls
z.B. ls "$dir/data/ffg_per_product/NAME"* | wc -l
, muss der Platzhalter außerhalb der Anführungszeichen stehen.
Verwandte, mit viel mehr Kontext in den Antworten; http://stackoverflow.com/questions/10067266/when-to-wrap-quotes-around-a-variable – tripleee