J'ai un léger problème avec une erreur très tenace lors d'une rsync. Elle est causée par un fichier avec un caractère spécial dans son nom de fichier. Il y en a eu d'autres mais je pourrais régler ça en faisant une conversion dans l'encodage du nom de fichier. Cependant, ce fichier, je ne le trouve même pas.
Voici donc ce que rsync dit:
../.\#033OA.tex.pyD0MB" failed: No such file or directory (2)
La première chose que l'on remarque est que le code du personnage ne peut pas être hexadécimal ou octal, donc je l'ai googlé et je n'ai trouvé que cela . Il peut donc s'agir d'un CURSOR UP
personnage (ou pas). J'ai essayé
ls -la *`printf '\033OA'`*
en vain. J'ai également essayé de canaliser la sortie de ls de ce répertoire en od
vain.
Que puis-je faire d'autre? Ou quel personnage est-ce que je cherche de toute façon?
Merci
ls -b
, qui devrait montrer des évasions de style CRéponses:
Vous pouvez utiliser l'
-b
option tols
, qui affiche les caractères non graphiques sous forme de séquences d'échappement de style C.la source
ls -aq
imprimera tous les noms de fichiers, avec un?
au lieu de chaque caractère non imprimable. Sur de nombreuses variantes Unix,ls -AB
ouls -Ab
(consultez votre page de manuel) imprimera des échappements octaux. Avecls -aq
, vous pouvez utiliser la sortie affichée comme modèle de coque.Une autre façon d'obtenir le nom du fichier est d'utiliser la complétion de votre shell: entrez
mv .
et appuyez Tabplusieurs fois jusqu'à ce que le nom étrange soit inséré.la source
ls -q
n'a pas montré le fichier alors qu'il l'als -b
fait. peut-être parce que son nom de fichier n'était pas[weird-character]OA.tex
mais vraiment`printf %b '\033OA'`.tex
.
au début du nom du fichier, donc vous avez besoin dels -Aq
ouls -aq
. Et si vous utilisez des caractères génériques shell, vous devez rendre.
explicite:*
n'inclura pas le fichier mais le.*
fera.$DESTINATION/.$FILENAME
avant de déplacer le fichier vers son nom correct. C'est pourquoi à la source le fichier n'avait pas.
au début de son nom. En outre, comme indiqué,ls -q
n'aurait pas montré le fichier alors qu'il l'als -b
fait.