Supprimer ^M$
Dinath
Messages postés
1697
Statut
Contributeur sécurité
-
dubcek Messages postés 19025 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 19025 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
Je cherche à supprimer le caractère "^M" reçu lors de la lecture d'un tableau Excel.
En faisant un "cat -A" sur le fichier de sortie, on peut voir ceci :
J'ai utilisé :
Mais ça m'a tronqué des caractères, qui plus est j'aimerais bien inscrire directement l'ip sans ^M.
Merci pour votre aide.
Je cherche à supprimer le caractère "^M" reçu lors de la lecture d'un tableau Excel.
while IFS=' ' read c1 c2 ; do
...
done < fichier
En faisant un "cat -A" sur le fichier de sortie, on peut voir ceci :
-A INPUT -s ip^M -j ACCEPT$
J'ai utilisé :
sed 's/^M$//' fichier
Mais ça m'a tronqué des caractères, qui plus est j'aimerais bien inscrire directement l'ip sans ^M.
Merci pour votre aide.
A voir également:
- Supprimer m
- Supprimer rond bleu whatsapp - Guide
- Supprimer page word - Guide
- Supprimer pub youtube - Accueil - Streaming
- Fichier impossible à supprimer - Guide
- Supprimer compte instagram - Guide
6 réponses
Re ;-)
Qu'est-ce que je fais mal ;-( ?
dinath@Dinath:/media/Data/Sécurité/Firewall/iptables$ cat -A tmp
192.168.1.56^M$
dinath@Dinath:/media/Data/Sécurité/Firewall/iptables$ sed 's/^M//' tmp | cat -A
192.168.1.56^M$
Qu'est-ce que je fais mal ;-( ?
Salut,
Alors
Pour ton cas il faut utiliser tout simplement
PS. N'oublie pas le
Alors
sed 's/^M$//'(note le "$" à la fin), veut dire de supprimer un
^Mqui se trouverait à la fin d'une ligne ( d'où le
$) ;-\
Pour ton cas il faut utiliser tout simplement
sed 's/^M//', la preuve :
$ cat fich -A
-A INPUT -s ip^M -j ACCEPT$
$ sed 's/^M//' fich | cat -A
-A INPUT -s ip -j ACCEPT$
PS. N'oublie pas le
gsi il y a plusieurs
^Msur une seule ligne ;-)
Ah, il me semble que l'on en avait déjà parlé de ça ! CTRL+V et CTRL+M ne fonctionnement pas chez moi, mais là aussi ça me dit quelque chose je ferai des recherches.
J'ai essayé la version ASCII, et elle fonctionne... mais là aussi c'est sensible au copier/coller.
Merci pour ton aide.
Je trouve ça un peu crade, Sed ne gère-t-il pas les remplacements à la volée ?
@Dinath_ | Contributeur Sécurité
J'ai essayé la version ASCII, et elle fonctionne... mais là aussi c'est sensible au copier/coller.
echo $col8 > tmp
c8='sed 's/\x0D//' tmp | cat'
echo "-A INPUT -s $c8 -j ACCEPT" >> $ficparefeu
Merci pour ton aide.
Je trouve ça un peu crade, Sed ne gère-t-il pas les remplacements à la volée ?
@Dinath_ | Contributeur Sécurité
CTRL+V et CTRL+M ne fonctionnement pas chez moOù ça ? Dans un terminal ou dans un éditeur ?
Dans un éditeur c'est normal, par contre dans un terminal ça l'est moins ;-(
Sed ne gère-t-il pas les remplacements à la volée ?Euh... si, normalement il suffit de rajouter l'option
-i.bakpour modifier le fichier d'origine et par la même, créer une sauvegarde dudit fichier avec l'extension
.bak.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
@zipe31,
Pas dessus, mais directement à la volé.
Désolé je dois mal m'exprimer ;-/
@dubcek,
Hellu, c'est un Excel converti en csv oui.
@Pierre,
Aucune idée, comme tout ce qu'il y a sur le pc je présume ;-)
De plus le traitement direct sur un fichier Excel, je ne pense pas que cela soit possible ;-\
Pas dessus, mais directement à la volé.
Je lis l'Excel
Je récupère ma variable avec ^M
Je la sed, le ^M disparaît
J'envoie directement la commande dans avoir à utiliser un fichier texte
Désolé je dois mal m'exprimer ;-/
@dubcek,
Hellu, c'est un Excel converti en csv oui.
@Pierre,
Aucune idée, comme tout ce qu'il y a sur le pc je présume ;-)
Non, justement, un CSV est un fichier texte, tu peut le lire avec n'importe quel logiciel de texte et le traité en bash ou autre.
un .doc, par exemple est un fichier "compilé", c'est à dire qu'il faut un logiciel compatible pour le lire, et que tu ne doit pas pouvoir te balader dedans à coup de commande.
Par comparaison un fichier .odp, lui, n'est pas un format blob binaire, ce n'est une archive contenant notamment des fichier XML.
D'où l'intérêt de savoir si tu bossais sur un csv ou un xls
un .doc, par exemple est un fichier "compilé", c'est à dire qu'il faut un logiciel compatible pour le lire, et que tu ne doit pas pouvoir te balader dedans à coup de commande.
Par comparaison un fichier .odp, lui, n'est pas un format blob binaire, ce n'est une archive contenant notamment des fichier XML.
D'où l'intérêt de savoir si tu bossais sur un csv ou un xls
Sinon essaye avec