GNU/Linux >> Linux Esercitazione >  >> Linux

Aggiungi spazio prima della lettera maiuscola

Utilizzando sed , e supponendo che tu non voglia uno spazio davanti alla parola:

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

La sostituzione cercherà una lettera maiuscola immediatamente dopo un altro carattere diverso da uno spazio bianco e inserirà uno spazio tra i due.

Per stringhe con più di un carattere maiuscolo consecutivo, come WeAreATeam , questo produce We Are ATeam . Per risolvere questo problema, esegui la sostituzione una seconda volta:

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

Perl, utilizzando le espressioni regolari di larghezza zero lookbehind e lookahead:

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

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

Questa versione separa anche le lettere maiuscole consecutive.


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

Aggiungi spazio tra una lettera che non è una lettera maiuscola e una lettera che è una lettera maiuscola


Linux
  1. Come aggiungere spazio di scambio in Ubuntu 18.04

  2. Come aggiungere spazio di scambio su Ubuntu 22.04

  3. UNIX / Linux:2 modi per aggiungere spazio di scambio usando dd, mkswap e swapon

  4. Come aggiungere spazio di swap in Linux

  5. Come aggiungere al gruppo quando il nome ha uno spazio?

Come aggiungere spazio di scambio su Debian 9

Come aggiungere spazio di scambio su Debian 10 Linux

Come aggiungere spazio di scambio su Debian 10

Come aggiungere spazio di scambio su Ubuntu 20.04

Come aggiungere spazio di scambio su Debian 11

Aggiungi spazio su disco dopo aver ridimensionato un server cloud Windows Server 2012