2 votes

Comment remplacer un nouveau trait par un espace, sauf s'il s'agit du seul caractère d'une ligne ?

J'ai du texte comme :

de son patient
contrôle
et une critique judicieuse.

J.K.

WASHINGTON, D.C.

Avril 1919.

Et je veux le laisser comme ça :

de son examen patient et de ses critiques judicieuses.

J.K.

WASHINGTON, D.C.

Avril 1919.

Comment puis-je le faire ? Je sais qu'il est possible de remplacer facilement les retours à la ligne à l'aide de l'outil de recherche et de remplacement. /r/n mais je ne sais pas comment faire.

Une étape supplémentaire : Je veux également supprimer une nouvelle ligne si la ligne précédente était vide et ne comportait qu'un caractère de nouvelle ligne. Cela est-il possible ?

Je n'ai pas beaucoup de connaissances en programmation mais je suis d'accord si je dois utiliser bash ou tout autre outil de terminal pour faire cela. J'espère cependant pouvoir utiliser 4 cœurs de processeur car le fichier texte est très long.

0 votes

Un fichier ou plusieurs ? S'il s'agit d'un seul fichier, il n'est pas possible de le traiter en parallèle. Veuillez indiquer les caractères de fin de ligne utilisés dans votre fichier. S'agit-il de \r\n\r\n pour le double espace ? Le fichier peut-il être converti en fin de ligne Unix ?

0 votes

Il s'agit malheureusement d'un seul dossier. Mais ce n'est pas grave, je vais le laisser tourner alors. Les caractères de fin sont toujours \r\n ainsi que pour les doubles espaces ( \r\n\r\n ). Je préfèrerais avoir des fins de lignes Windows mais ça va quand même, je pense que ça va être facile à changer. \r a \r\n .

2voto

Toto Points 14447
  • Ctrl + H
  • Trouvez quoi : (?<=\S)\R(?=\S)
  • Remplacer par : # un espace
  • vérifier Wrap around
  • vérifier l'expression régulière
  • Replace all

Explication :

(?<=\S)     # positive lookbehind, make sure we have a NON space character before
\R          # any kind of line break
(?=\S)      # positive lookahead, make sure we have a NON space character after

Résultat pour l'exemple donné :

from her patient scrutiny and judicious criticism.

J.K.

WASHINGTON, D.C.

April, 1919.

Capture d'écran :

enter image description here

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X