[réglé] [sed ou ???] Limiter un fichier à n caracteres par ligne

Limiter un fichier à n caracteres par ligne [réglé] [sed ou ???] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 06-03-2008 à 11:57:42    

Bonjour,
j'ai plusieurs fichiers source c++ et je voudrais insérer des saut de ligne si ces dernières dépassent n caractère, mais le problème c'est qu'on peut pas couper net au bout du nième caractère, en fait il faudrait que si la ligne dépasse n caractères on insère le saut de ligne après la dernière virgule rencontrée.
 
Exemple si je veux des lignes <= 80 caratères
 
Ma ligne d'origine :
void fct(int aaaaaa1, int aaaaaa2, int aaaaaa3, int aaaaaa4, int aaaaaa5, int aaaaaa6, int aaaaaa7, int aaaaaa8)
 
Je ne veux pas que ca coupe brutalement, mais intéligemment:
void fct(int aaaaaa1, int aaaaaa2, int aaaaaa3, int aaaaaa4, int aaaaaa5, int aa
aaaa6, int aaaaaa7, int aaaaaa8)
 
void fct(int aaaaaa1, int aaaaaa2, int aaaaaa3, int aaaaaa4, int aaaaaa5,  
int aaaaaa6, int aaaaaa7, int aaaaaa8)
 
Y'a surement moyen de faire ca avec sed non ?
 
Merci


Message édité par turn3r le 06-03-2008 à 14:55:02

---------------
Les ventes de véhicules neufs ont chuté de 7%, y'en a marre des pirates qui téléchargent illégalement des voitures sur internet !!
Reply

Marsh Posté le 06-03-2008 à 11:57:42   

Reply

Marsh Posté le 06-03-2008 à 12:05:55    

Plus simple que sed, indent possède une option pour limiter la taille des lignes. ;)


---------------
C'est pas bon, Neriki, tu recommences à glander, là. :o
Reply

Marsh Posté le 06-03-2008 à 14:28:30    

Yep, indent ou vim, mais a priori pour apprendre la syntaxe c++ à sed c'est mal barré  :o


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
Reply

Marsh Posté le 06-03-2008 à 14:53:04    

Parfait merci, voici ce que j'ai utilisé :
 
indent --line-length80 -ts1 *.hpp
 
--line-length80 --> toutes les lignes <= 80 caracteres avec découpe intéligente
 
-ts1 --> ramplace <tab> par des espaces (ici 1)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed