6 votes

Comment puis-je développer à la fois un nom de variable et un caractère générique dans un nom de fichier ?

J'ai un bash script où $DIR est un nom de répertoire qui peut contenir des espaces.

これです。

rm "$DIR/*.MOV"

donne l'erreur "No such file or directory". Il n'y a pas de fichier littéralement nommé "*.MOV" ; je veux que le fichier * pour se développer en plusieurs arguments - un par nom de fichier correspondant.

Eg :

rm some\ folder/foo.MOV some\ folder/bar.MOV

Comment puis-je le faire ?

10voto

Rachel Blackman Points 81

La citation empêche la globalisation. Essayez ceci avec GNU bash :

rm "$DIR"/*.MOV

-1voto

Rohan Monga Points 440

Une solution de contournement :

for FILE in `ls "$DIR" | grep .MOV`; do
  rm "$DIR/$FILE"
done

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X