comment faire pour supprimer ctrl M de caractères lors du transfert de fichiers à partir de la fenêtre pour unix à l'aide de Tectia?
Je veux transférer des fichiers à partir de Windows pour Unix à l'aide de Tectia. Mais le problème c'est quand ces fichiers sont transférés(Ascii ou Binaire mode à la fois) et ouvert à l'aide de VI nous ^M caractères.J'ai cherché à ce sujet, mais les solutions sont à retirer ces ^M caractères lorsque les fichiers sont transférés à l'aide d'utilitaires. Est-il possible que ces ^M les caractères n'apparaissent pas dans la première place.
OriginalL'auteur Ravi Goklani | 2012-09-20
Vous devez vous connecter pour publier un commentaire.
Comment j'ai été capable de l'enlever dans l'éditeur vi:
:%s/
puis appuyez sur ctrl+V, ctrl+M. Cela vous donnera^M
//g
(qui ressemble à::%s/^M
) appuyez sur la touche Entrée doit obtenir tous supprimés.Bonne chance!
Cela ne fonctionne pas si vous utilisez un vi à partir d'un terminal sous windows parce que les caractères de contrôle ne fonctionnent pas de la même façon. Le dos2unix solution est la plus simple si vous avez la possibilité de l'installer (je l'ai ajouté à mon docker environnement de dev)
OriginalL'auteur Rajesh
Vous pouvez installer et utiliser dos2unix. Après l'Installation, il suffit d'exécuter:
Unix utilise un seul saut de Ligne (LF) caractère de saut de ligne. Windows/DOS utilise les 2 personnages: Retour Chariot/saut de Ligne (CR/LF). Donc la réponse est non, vous ne pouvez pas éliminer la CR\LF (sauf si vous écrivez votre texte sur une seule ligne).
Je ne suis pas au courant d'un outil de windows qui n'a de telles conversions, mais puisque vous utilisez
vim
cet article pourraient vous intéresser.cela a fonctionné pour moi sans le
>
, seulement; c'est à diredos2unix yourfile.txt
Le
>
est juste l'invite signe 😉OriginalL'auteur alfasin
Si vous avez juste besoin de retirer la
^M
caractères (ne pas les remplacer par\n
):Si vous voulez les remplacer par
\n
:OriginalL'auteur JellicleCat
Un truc plus supprimer le Ctrl+M dans l'éditeur vi:
Pour plus d'astuce pour supprimer Ctrl+M caractères
OriginalL'auteur Vinoth
Essayez d'exécuter les opérations suivantes dans votre terminal (peut-être besoin de l'installer en premier):
en fait, je ne veux pas exécuter quoi que ce soit sur UNIX après le transfert est terminé..pas de commande,pas d'utilité, etc....juste mon fichier doit être transférés à partir de Windows à Unix, sans que ceux ^M caractères
Ensuite, vous devez assurez-vous de définir le fichier d'UNIX format de fichier avant d'envoyer votre fichier sur. Je crois que c'est l'EOL (fin de ligne) qui en sont la cause, que tout bon éditeur de texte vous permet de modifier le type de fin de ligne.
OriginalL'auteur Quetzalcoatl
g
pas du tout nécessaire.%s
- rechercher et remplacer du texte que tu veux remplacer^V^M
être remplacé par "devrait être après la double barre oblique" la vider si vous voulez remplacer par rienOriginalL'auteur Lakshminarayanan
Merci pour toute l'aide tout le monde. J'ai résolu ce problème en utilisant une solution de contournement.
Windows utilise CR+LF (\r\n) fin-de-ligne & Unix utilise LF (\n) de la fin de la ligne.J'ai pris le fichier Windows et a remplacé le CR+LF(\r\n) avec LF(\n) dans le code lui-même sans aucune utilité.Ce qui fait que la fichier compatible pour les systèmes Unix et puis j'ai transféré le fichier en utilisant le protocole SFTP et il a travaillé sur Unix.
OriginalL'auteur Ravi Goklani
Essayer
OriginalL'auteur Akshay