Puncte:0

Cum pot scrie majuscule după un anumit caracter

drapel eg

Cum pot scrie majuscule înaintea unui anumit caracter? (^)

Încerc să fac inversul linkului de mai sus.

Vreau să scriu totul după un anumit caracter sau cuvânt.

Poate fi folosind awk, sed sau bash

exemplu

inainte de

 foo^bar
 foobar ^ foobar

după

 foo^BAR
 foobar ^ FOOBAR

Mulțumiri

Puncte:1
drapel hr

Cu sed:

sed 's/\^.*/\U&/'

(^ este scăpat, pentru a elimina semnificația sa specială ca ancoră de început de linie; ai putea folosi si [^])

sau awk

awk -F^ 'BEGIN{OFS=FS} {x=$1; $0=toupper($0); $1=x} fișier de 1'

(pastrați primul ^-câmp separat; schimbați întreaga linie în majuscule; apoi înlocuiți primul câmp original).

drapel eg
Foarte apreciat, am încercat toată ziua să fac acest lucru corect.
Puncte:1
drapel cn

Cu bash simplu, avem nevoie de câteva variabile suplimentare:

pentru linia din 'foo^bar' 'foobar ^ foobar' 'a^b^c'; do
  prefix=${line%%^*}
  sufix=${line#*^}
  caps="${prefix}^${sufix^^}"
  printf '%s => %s\n' "$line" "$caps"
Terminat
foo^bar ==> foo^BAR
foobar ^ foobar ==> foobar ^ FOOBAR
a^b^c ==> a^B^C
  • ${var%%pattern} -> eliminați de la sfârșit cel mai lung subșir care se potrivește cu modelul
  • ${var#pattern} -> eliminați de la început cel mai scurt subșir care se potrivește cu modelul
  • ${var^^} -> majuscule

Ref: 3.5.3 Extinderea parametrilor Shell

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.