GNU/Linux >> Znalost Linux >  >> Linux

Před velké písmeno přidejte mezeru

Pomocí sed , a za předpokladu, že nechcete mezeru před slovem:

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

Náhrada vyhledá velké písmeno bezprostředně následující za dalším znakem, který není prázdným znakem, a mezi tyto dva znaky vloží mezeru.

Pro řetězce s více než jedním po sobě jdoucím velkým písmenem, například WeAreATeam , tím vznikne We Are ATeam . Chcete-li to seřadit, spusťte substituci podruhé:

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

Perl, pomocí lookbehind a lookahead regulárních výrazů s nulovou šířkou:

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

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

Tato verze také odděluje po sobě jdoucí velká písmena.


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

Přidejte mezeru mezi písmeno, které není velkým písmenem, a písmeno, které je velké písmeno


Linux
  1. Jak přidat prostor z nepřiděleného na rozšířený?

  2. Jak přidat odkládací prostor na Debianu 11

  3. Určete pořadí řazení pomocí LC_COLLATE tak, aby malá písmena byla před velkými

  1. Jak přidat odkládací prostor v Ubuntu 18.04

  2. Linux – využití prostoru před 1. oddílem USB flash disku jako Luks Key?

  3. Jak přidat odkládací prostor na Ubuntu 22.04

  1. UNIX / Linux:2 způsoby, jak přidat swapovací prostor pomocí dd, mkswap a swapon

  2. Jak přidat odkládací prostor v linuxu

  3. Jak přidat do skupiny, když má jméno mezeru?