MacNOMODO

Où on cause du Mac - A consommer sans modération

 
PortailPortailAccueilRechercherRechercherFAQS'enregistrerMembresConnexion

Partagez | 
 

 Suppression des fins de ligne superflues

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
hr
Légende vivante
Légende vivante
avatar

Nombre de messages : 6372
Age : 63
Planète : Creuse
Matos : iMac alu en OS 10.10 - G4 en OS 10.5 - MacBook Pro (90% en Ubuntu, 10% en OS X 10.6) - PC en Ubuntu 16.04
Date d'inscription : 19/11/2006

MessageSujet: Suppression des fins de ligne superflues   3/16/2007, 07:56

De temps en temps je veux récupérer un texte d'un format ancien. Le problème est souvent que le texte se retrouve avec des fins de lignes en dur dans le texte. Par exemple :

Une courbe qui n’éclaire pas le sens
de la jonction est à la fois une
sélection qui se partage et une
trame qui se disperse.
Les points et les droites, qui sont
eux-mêmes judicieusement évalués,
n’échappent pas à cette contradiction.
Ceci est évidemment valable pour les
rotations légitimes ; ce l’est aussi, au
second degré, pour la matière des
analyses fines.


au lieu de :

Une courbe qui n’éclaire pas le sens de la jonction est à la fois une sélection qui se partage et une trame qui se disperse.
Les points et les droites, qui sont eux-mêmes judicieusement évalués, n’échappent pas à cette contradiction.
Ceci est évidemment valable pour les rotations légitimes ; ce l’est aussi, au second degré, pour la matière des analyses fines.


Dans cet exemple (c'est du faux texte, ne vous inquiétez-pas !) chaque phrase est censée être un paragraphe et il devrait n'y avoir un retour chariot qu'après un point.

J'utilise BBEdit (mais textwrangler sait faire la même chose pour ça) pour corriger l'encodage, puis j'essaye de supprimer les faux retour chariot.

BB ou TW savent faire des recherches en grep (humpf !) et trouver les fins de ligne erronées est facile. Il suffit de cocher Use grep et de chercher l'expression [^.]r qui veut dire « fin de ligne précédé par n'importe quoi sauf un point ». Mais ensuite remplacer par quoi ? Si je remplace par une espace, ça reconstitue le paragraphe correctement, mais ça bouffe évidemment le dernier caractère qui se trouvait avant la fin de ligne puisqu'il fait partie du résultat de la recherche.

J'avais d'abord cru que ça marchait parce que certains textes avaient conservé l'espace juste avant la fin de ligne en trop, et par l'opération de remplacement, les caractères espace + fin de ligne étant remplacés par une espace, le texte devenait correct. Mais d'autres textes avaient au départ l'espace remplacée par la fin de ligne et donc le dernier caractère était bouffé. Zut de flûte !

Pas simple comme problème. Il y a un shareware à 15$ qui fait ça, mais faut pas charrier…

_______________
On ne fait jamais d’erreur sans se tromper !
L’affaire est dans le sac de Prévert et Prévert
Revenir en haut Aller en bas
Pomme-I
Enkysté
Enkysté
avatar

Nombre de messages : 1993
Date d'inscription : 13/12/2006

MessageSujet: Re: Suppression des fins de ligne superflues   3/16/2007, 12:15

hr a écrit:
Le problème est souvent que le texte se retrouve avec des fins de lignes en dur dans le texte.
.../...
J'utilise BBEdit (mais textwrangler sait faire la même chose pour ça) pour corriger l'encodage, puis j'essaye de supprimer les faux retour chariot.

BB ou TW savent faire des recherches en grep (humpf !) et trouver les fins de ligne erronées est facile.
Et ça :
Citation :
Remove Line Breaks
This command removes carriage returns and spaces from sections of text. Use this
command to turn text that has hard line breaks into text that can be soft-wrapped. See
“How TextWrangler Wraps Text” on page 76 for more information.
ça le fait pas ?
Revenir en haut Aller en bas
hr
Légende vivante
Légende vivante
avatar

Nombre de messages : 6372
Age : 63
Planète : Creuse
Matos : iMac alu en OS 10.10 - G4 en OS 10.5 - MacBook Pro (90% en Ubuntu, 10% en OS X 10.6) - PC en Ubuntu 16.04
Date d'inscription : 19/11/2006

MessageSujet: Re: Suppression des fins de ligne superflues   3/16/2007, 12:49

Pomme-I a écrit:
ça le fait pas ?
Non, ça le fait pas.

Ou plutôt ça le fait mais à la fois trop et pas assez :
— s'il y a une ligne vide il n'y touche pas T'es sûr !?
— si le point est en fin de ligne, il vire la fin de ligne tout de même, ce qui est plus ou moins normal, hum, plus ou moins.

Je suppose que l'idée des gens de BB est que pour pouvoir différencier les fins de paragraphes des retours chariot inutiles, il est supposé qu'on a deux retours chariot au lieu d'un. Il faut bien pouvoir différencier les deux choses, mais dans un texte de départ normal il n'y a pas de double retour et je préfère donc me repérer aux points en fin de ligne.

Bon, du coup en partant de ça, je vois une solution un peu tordue en trois passes, mais pourquoi pas :

— je remplace tous les .\r par .\r\r
— je passe un coup de remove hard line breaks
— je remplace tous les \r\r par \r

Là c'est bon, mais il faut faire trois manœuvres. Ça peut peut-être s'enchaîner dans un applescript, ce qui permettrait d'avoir une seule commande pour arriver à ça.

Il restera les quelques sauts de ligne derrière un point qui se trouvait par hasard en bout de ligne sans être une fin de paragraphe, mais ça, c'est inévitable, quelle que soit la méthode ! Ça fait tout de même peu de choses à retoucher à la main en bout de course.

_______________
On ne fait jamais d’erreur sans se tromper !
L’affaire est dans le sac de Prévert et Prévert
Revenir en haut Aller en bas
Pomme-I
Enkysté
Enkysté
avatar

Nombre de messages : 1993
Date d'inscription : 13/12/2006

MessageSujet: Re: Suppression des fins de ligne superflues   3/16/2007, 13:01

Tu peux peut-etre jouer aussi avec les Text options du menu Edit Question
Revenir en haut Aller en bas
hr
Légende vivante
Légende vivante
avatar

Nombre de messages : 6372
Age : 63
Planète : Creuse
Matos : iMac alu en OS 10.10 - G4 en OS 10.5 - MacBook Pro (90% en Ubuntu, 10% en OS X 10.6) - PC en Ubuntu 16.04
Date d'inscription : 19/11/2006

MessageSujet: Re: Suppression des fins de ligne superflues   3/16/2007, 13:13

Pomme-I a écrit:
Tu peux peut-etre jouer aussi avec les Text options du menu Edit Question
Hmm… Je n'y vois pas trop de choses qui pourraient aider dans ce cas. Bon, je crois que je vais en rester à cette solution en attendant mieux. Merci d'avoir cherché !

_______________
On ne fait jamais d’erreur sans se tromper !
L’affaire est dans le sac de Prévert et Prévert
Revenir en haut Aller en bas
Pomme-I
Enkysté
Enkysté
avatar

Nombre de messages : 1993
Date d'inscription : 13/12/2006

MessageSujet: Re: Suppression des fins de ligne superflues   3/16/2007, 16:11

Si tu sais la gu.... qu'elles ont, tes fins de ligne, tu peux toujours te lancer dans une commande Unix ou un script Trop content
Revenir en haut Aller en bas
hr
Légende vivante
Légende vivante
avatar

Nombre de messages : 6372
Age : 63
Planète : Creuse
Matos : iMac alu en OS 10.10 - G4 en OS 10.5 - MacBook Pro (90% en Ubuntu, 10% en OS X 10.6) - PC en Ubuntu 16.04
Date d'inscription : 19/11/2006

MessageSujet: Re: Suppression des fins de ligne superflues   3/16/2007, 16:24

Pomme-I a écrit:
Si tu sais la gu.... qu'elles ont, tes fins de ligne, tu peux toujours te lancer dans une commande Unix ou un script
C’est vrai et à vrai dire j’avais pensé à me fendre d’un script php, parce que c’est ce que je connais le mieux et que de toute façon je suis en plein dedans. Il y a de quoi faire en php pour ce qui est de traiter des chaînes de caractères et je pense que ça se résoudrait en deux coups de cuiller à pot, mais il faut juste que j’en prenne le temps. Là c’était juste pour aller très vite avec ce que j’avais sous la main.

_______________
On ne fait jamais d’erreur sans se tromper !
L’affaire est dans le sac de Prévert et Prévert
Revenir en haut Aller en bas
Pomme-I
Enkysté
Enkysté
avatar

Nombre de messages : 1993
Date d'inscription : 13/12/2006

MessageSujet: Re: Suppression des fins de ligne superflues   3/16/2007, 16:52

hr a écrit:
C’est vrai et à vrai dire j’avais pensé à me fendre d’un script php, parce que c’est ce que je connais le mieux et que de toute façon je suis en plein dedans.
Dans le genre ce ces scripts Perl ?
Citation :
Ce script convertit les fichiers unix vers dos:

#!/usr/bin/perl -pi
s/\n/\r\n/;

Sauvez-le sous unix2dos.pl, rendez-le éxécutable (chmod a+x unix2dos.pl) et vous êtes prêts.

Voici le code pour dos2unix.pl

#!/usr/bin/perl -pi
s/\r\n/\n/;

Enfin, pour ceux qui traitent avec des Macs, voici mac2unix.pl:

#!/usr/bin/perl -pi.unix
s/\r/\n/g;

et unix2mac.pl:

#!/usr/bin/perl -pi.unix
s/\n/\r/g;

Voilà, à priori, tous vos problèmes sont réglés!
Mais les tiens pas encore Pirate
Revenir en haut Aller en bas
hr
Légende vivante
Légende vivante
avatar

Nombre de messages : 6372
Age : 63
Planète : Creuse
Matos : iMac alu en OS 10.10 - G4 en OS 10.5 - MacBook Pro (90% en Ubuntu, 10% en OS X 10.6) - PC en Ubuntu 16.04
Date d'inscription : 19/11/2006

MessageSujet: Re: Suppression des fins de ligne superflues   3/16/2007, 17:14

Pomme-I a écrit:
#!/usr/bin/perl -pi.unix
s/n/r/g;
Humpf ! le perl j’y ai a peine touché mais il me semblait que ça ressemblait étrangement à java ou php, mais ce que tu me montres là ça a l’air d’être juste un appel à une fonction toute faite avec un paramètre en grep.

Ah grep, moi ça me… je ne sais pas quoi, mais j’en ai les doigts de pieds crispés. C’est vraiment tordu comme syntaxe. Mille fois je me suis dit que ça me servirait de bosser ça, mais vraiment, beuh !
Bon, mais ton truc c’est peut-être tout de même une idée à creuser.

Perl est activé par défaut sur le mac ou il faut le réveiller comme php ?

Un écossais dont le site http://www.scotlandsoftware.com/ semble avoir disparu et qui se définissait lui-même comme un personnage irascible, avait développé un logiciel pour mac appelé cretin tracker, très bien fait d’ailleurs, qui permettait de noter tous les gens qu’on trouvait insupportables, avec une notation, des indications des raisons pour lesquels on les trouvait cons, leurs coordonnées et leur catégorie. Parmi les catégories prédéfinies, il y avait « grep master ». Terrible engeance en effet ! Franchement, je n’aimerais pas être traité de grep master… Ça évoque pour moi le summum de l’arrogance satisfaite dans la certitude d’être inégalable.

_______________
On ne fait jamais d’erreur sans se tromper !
L’affaire est dans le sac de Prévert et Prévert
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: Suppression des fins de ligne superflues   

Revenir en haut Aller en bas
 
Suppression des fins de ligne superflues
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
MacNOMODO :: A i d e  &  d é p a n n a g e :: Aspects logiciels-
Sauter vers: