J'ai créé un fichier Bloc-notes sur Windows et l'ai copié sur Ubuntu. Le fichier contient quelques règles iptables. Après avoir rendu le fichier exécutable en l'utilisant chmod +x
et en l'exécutant, cela n'a pas fonctionné.
Cependant, lorsque j'ai créé un fichier Ubuntu ( gedit ) et copié le même contenu à partir du fichier Bloc-notes , l'ai rendu exécutable et l' ai exécuté, cela a fonctionné.
Que dois-je faire pour exécuter le fichier Bloc-notes sur Ubuntu?
Réponses:
Windows et Linux ont des symboles de fin de ligne différents.
Vous pouvez installer l'
dos2unix
utilitaire qui le corrige:Exécutez-le de cette façon:
Il y a aussi l'
unix2dos
utilitaire.La conversion Windows vers Linux peut également être effectuée sans installer de logiciel spécial en
Remarque: les fichiers d'entrée et de sortie doivent être différents.
Une version sed éditera le fichier "en place":
Ou écrivez dans un autre fichier:
la source
dos2unix winfile.txt linuxfile.txt
essaie de convertir les deux fichiers. Utilisez cette commandedos2unix -n winfile.txt linuxfile.txt
Sous Windows, vous devez modifier le format de fin de ligne (EOL) dans Notepad ++ en UNIX:
De cette façon, cela fonctionnera également sur Ubuntu.
la source
Windows utilise CR + LF pour les sauts de ligne. Sous Linux / Unix, vous avez besoin de LF. Par conséquent, vous devez remplacer CR + LF en LF dans votre script:
Installer
dos2unix
Et corrigez votre script via
ou via
si vous avez besoin d'un fichier de sortie différent
Plus d'informations ici
de
man dos2unix
la source
J'utilise cygwin sur Windows.
Ouvrez le fichier avec vi. Entrez ensuite
enregistrera le fichier avec les caractères de fin de ligne Unix.
la source
Vous pouvez utiliser Vim en mode Ex:
%
sélectionner toutes les ligness
remplacer\r
retour chariotx
sauver et fermerla source