Comment faire un retour à la ligne dans un fichier texte sur un signe - Linux et OS Alternatifs
Marsh Posté le 07-12-2002 à 11:04:16
qdm a écrit : J'ai un fichier texte qui se présente sur une seule très longue ligne. J'aimerais qu'à chaque fois qu'il y a un [ , soit inséré un retour chariot. Quelle commande est capable de faire ça ? |
fé-le en C...
Code :
|
G tapé ce code à l'arrache, je ne suis pas certain qu'il fonctionne bien. Entr'autres, j'ai oublié de faire des tests sur les read et les write et il manque peut-être des includes. Tu compiles ton programme et tu mets en paramètre le nom du fichier à modifier puis le nom du fichier à écrire avec les modifications.
Tu peux le compiler avec la commande :
gcc -o retourchariot retourchariot.c |
J'espère t'avoir aidé
Marsh Posté le 07-12-2002 à 12:01:14
pas la peine de le faire en C...
Sous vi, tapes en mode commande:
:1s/caractere/\n/g
1 c'est le numero de la ligne a copier...
Le \n je sais plus, c'est un caractere special, je cherche et je reposte...
Marsh Posté le 07-12-2002 à 12:08:15
bon je trouve pas...
On peut utiliser awk ou sed evidemment pour ca:
sed -e 's/caractere/\n/g' fichier
Ca devrait marcher...
Marsh Posté le 07-12-2002 à 14:58:07
Merci. Ceci dit le méchant me répond :
sed: -e expression #1, char 8: Unterminated `s' command
Marsh Posté le 07-12-2002 à 15:15:56
qdm a écrit : Merci. Ceci dit le méchant me répond : |
As tu bien mis les bons quotes ' (touche 4 en clavier azerty) au debut et a la fin ?
Marsh Posté le 07-12-2002 à 15:16:43
D'ailleurs essaie sans la -e, juste sed 's/caractere/\n/' fichier
Marsh Posté le 07-12-2002 à 16:43:39
Avec sed ça ne marche toujours pas mais avec tr si. Il m'a sucré mes [ (en faisant le remplacement par [\n il refuse) mais c'est pas grave l'essentiel est fait.
Merci beaucoup
Marsh Posté le 07-12-2002 à 16:57:52
De rien...
le [ est peut etre interprete par tr, essaie au cas ou, en rajoutant le caractere d'ehappement avant:
tr "\[" "\[\n" fichier
ou un truc du genre...
Marsh Posté le 07-12-2002 à 01:20:42
J'ai un fichier texte qui se présente sur une seule très longue ligne. J'aimerais qu'à chaque fois qu'il y a un [ , soit inséré un retour chariot. Quelle commande est capable de faire ça ?
Merci d'avance