Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Suppression d'un fichier avec caractères spéciaux dans le nom

5 réponses
Avatar
Eric Masson
'Lut,

Suite à un copier/coller non maitrisé (merci Cygwin/X) je me retrouve
avec un fichier dont le nom est le suivant :
-+-CF

Sous csh, j'ai essayé d'échapper les caractères par \ ou ", mais ce
rascal s'accroche, une idée ?

Merci d'avance

Éric Masson

--
Je pense qu'il vaut mieux avoir une carte american express, avec
laquelle on ne peut être piégé. Annule ta visa et prends l'amex, qui est
d'ailleurs plus universellement acceptée.
-+- LC in <http://www.le-gnu.net> : Bien répndre aux signatures -+-

5 réponses

Avatar
Kevin Denis
Le 22-04-2005, Eric Masson a écrit :

Suite à un copier/coller non maitrisé (merci Cygwin/X) je me retrouve
avec un fichier dont le nom est le suivant :
-+-CF

Sous csh, j'ai essayé d'échapper les caractères par ou ", mais ce
rascal s'accroche, une idée ?

:~/top$ ls

-+-CF
:~/top$ rm -- -+-CF
rm: remove `-+-CF'? y
:~/top$

Sinon, et si le cas s'y prete:
rm -i *
--
Kevin

Avatar
Eric Masson
Kevin Denis writes:

:~/top$ ls
-+-CF
:~/top$ rm -- -+-CF
rm: remove `-+-CF'? y
:~/top$


Marfi.

Sinon, et si le cas s'y prete:
rm -i *


Effectivement, mais j'ai toujours du mal avec *, va savoir pourquoi...

Éric Masson

--
DP>à partir de quand n'est-on plus un neuneu? est-ce que ça se soigne?
C'est une variété de maladie infantile la réponse est donc oui. La
réponse à la question est-ce que ça se guérit est ; pas toujours.
-+- JdC in : Guide du Neuneu Usenetien - La maladie infantile -+-

Avatar
Yannick
bonjour,

une posibilité :
1) tu recupère le n° d'inode du fichier en question avec un ls -i
2) une fois que tu as le n° d'inode, tu fait un find -inum <n°inode>
-exec rm {} ;

En pratique :

[:/tmp]$ echo > '-+-CF'

[:/tmp]$ ls -i
1626324 -+-CF

[:/tmp]$ find . -inum 1626324 -exec rm {} ;

[:/tmp]$ ls -i


de rien ;-)

Yannick


'Lut,

Suite à un copier/coller non maitrisé (merci Cygwin/X) je me retrouve
avec un fichier dont le nom est le suivant :
-+-CF

Sous csh, j'ai essayé d'échapper les caractères par ou ", mais ce
rascal s'accroche, une idée ?

Merci d'avance

Éric Masson



Avatar
Mathieu Arnold
Eric Masson écrivait:
'Lut,

Suite à un copier/coller non maitrisé (merci Cygwin/X) je me retrouve
avec un fichier dont le nom est le suivant :
-+-CF


rm -- -+-CF
ou
rm ./-+-CF

--
Mathieu Arnold

Avatar
Paul Gaborit
À (at) Fri, 22 Apr 2005 11:35:39 +0200,
Mathieu Arnold écrivait (wrote):
rm -- -+-CF


Il faut une version de 'rm' qui accepte l'option --.

ou
rm ./-+-CF


Cette solution a le mérite de marcher partout... mais ne répond pas à la
question du sujet qui n'est d'ailleurs pas illustré par l'exemple donné ;-)

% echo > "-*-?[]"
% rm "./-*-?[]"

Là, il y a vraiment des caractères spéciaux dans le nom et non pas un simple
'moins' au début ;-)

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>