GNU/Linux >> Tutoriels Linux >  >> Linux

Ajouter un espace avant la lettre majuscule

Utilisation de sed , et en supposant que vous ne vouliez pas d'espace devant le mot :

$ sed 's/\([^[:blank:]]\)\([[:upper:]]\)/\1 \2/g' file.in
Add Data
Test Something
Tell Me Who You Are

La substitution recherchera une lettre majuscule immédiatement après un autre caractère non blanc et insérera un espace entre les deux.

Pour les chaînes avec plus d'un caractère majuscule consécutif, comme WeAreATeam , cela produit We Are ATeam . Pour trier cela, exécutez la substitution une seconde fois :

$ sed -e 's/\([^[:blank:]]\)\([[:upper:]]\)/\1 \2/g' \
      -e 's/\([^[:blank:]]\)\([[:upper:]]\)/\1 \2/g' file.in

Perl, utilisant des expressions régulières de largeur nulle lookbehind et lookahead :

$ perl -pe 's/(?<=\w)(?=[A-Z])/ /g'  file.in 

Tell Me Who You Are                    ## TellMeWhoYouAre
I Am A Regular Expression User         ## IAmARegulaExpressionUser

Cette version sépare également les lettres majuscules consécutives.


sed -r -e "s/([^A-Z])([A-Z])/\1 \2/g"

Ajouter un espace entre une lettre qui n'est pas une lettre majuscule et une lettre qui est une lettre majuscule


Linux
  1. Linux - Utilisation de l'espace avant la 1ère partition de la clé USB en tant que clé Luks ?

  2. Comment ajouter un espace d'échange sur Ubuntu 22.04

  3. UNIX / Linux :2 façons d'ajouter de l'espace d'échange à l'aide de dd, mkswap et swapon

  4. Comment ajouter de l'espace d'échange sous Linux

  5. Comment ajouter au groupe lorsque le nom a un espace ?

Comment ajouter un espace d'échange sur Debian 9

Comment ajouter un espace d'échange sur Debian 10 Linux

Comment ajouter de l'espace d'échange sur Debian 10

Comment ajouter un espace d'échange sur Ubuntu 20.04

Comment ajouter de l'espace d'échange sur Debian 11

Ajouter de l'espace disque après le redimensionnement d'un serveur cloud Windows Server 2012