Рейтинг:0

Как я могу сделать буквы заглавными после определенного символа

флаг eg

Как сделать заглавными буквы перед определенным символом? (^)

Я пытаюсь сделать обратную ссылку выше.

Я хочу использовать все заглавные буквы после определенного символа или слова.

Это может быть использование awk, sed или bash.

пример

перед

 фу^бар
 фубар ^ фубар

после

 foo^BAR
 ^ ФООБАР

Спасибо

Рейтинг:1
флаг hr

С СЭД:

sed 's/\^.*/\U&/' файл

(^ экранирован, чтобы удалить его особое значение в качестве якоря начала строки; вы также можете использовать [^])

или авк

awk -F^ 'НАЧАТЬ {OFS=FS} {x=$1; $0=верхний($0); $1=x} 1' файл

(сохранить первое ^-разделенное поле; изменить всю строку на верхний регистр; затем замените исходное первое поле).

флаг eg
Большое спасибо, я пытался весь день, чтобы сделать это правильно.
Рейтинг:1
флаг cn

С простым bash нам нужна пара дополнительных переменных:

для строки в 'foo^bar' 'foobar ^ foobar' 'a^b^c'; делать
  префикс=${строка%%^*}
  суффикс=${строка#*^}
  заглавные буквы = "${префикс}^${суффикс^^}"
  printf '%s ==> %s\n' "$line" "$caps"
сделано
foo^bar ==> foo^BAR
foobar ^ foobar ==> foobar ^ FOOBAR
а ^ б ^ с ==> а ^ В ^ С
  • ${вар%%шаблон} -> удалить из конца самую длинную подстроку, соответствующую шаблону
  • ${вар#шаблон} -> удалить с начала самую короткую подстроку, соответствующую шаблону
  • ${вар^^} -> капитализировать

Ссылка: 3.5.3 Расширение параметров оболочки

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.