Я пытался преобразовать строчные буквы в верхний регистр. Я столкнулся с различными альтернативами, например, одним списком в StackOverflow question. Однако, что я увидел, что они только что напечатаны. Я хочу сохранить его в другую переменную, которую я могу использовать позже. Может ли кто-нибудь сказать, как я могу это достичь?Преобразование символа в регистр Верхний регистр для нижнего и наоборот
ответ
Ваши данные $a
. Новая переменная $b
.
(заимствован из here написанных @ ghostdog74)
использования tr
:
b=$(tr '[A-Z]' '[a-z]' <<< $a)
если вы используете tcsh
, а затем использовать echo
вместо <<<
:
set b=`echo "$a" | tr '[A-Z]' '[a-z]'`
использование awk
:
b=$(awk '{print tolower($0)}' <<< $a)
использованием bash
4,0:
b=${a,,}
Любовь, как вы показали это на трех благочестивых языках. –
использованием perl
:
b=$(perl -e 'print lc <>;' <<< $a)
Я знаю, что это старенькая пост, но я сделал этот ответ на другой сайт так Я думал, что разместил его здесь:
здесь приходит программистам ответить ....
UPPER -> ниже: использование питона:
b=`echo "print '$a'.lower()" | python`
Или Ruby:
b=`echo "print '$a'.downcase" | ruby`
Или Perl (вероятно, мой любимый):
b=`perl -e "print lc('$a');"`
Или PHP:
b=`php -r "print strtolower('$a');"`
Или Awk:
b=`echo "$a" | awk '{ print tolower($1) }'`
Или Sed:
b=`echo "$a" | sed 's/./\L&/g'`
Или Bash 4:
b=${a,,}
Или NodeJS, если у вас есть:
b=`echo "console.log('$a'.toLowerCase());" | node`
Вы также можете использовать dd
(но я бы не стал!):
b=`echo "$a" | dd conv=lcase 2> /dev/null`
ниже -> ВЕРХНЯЯ:
использование питона:
b=`echo "print '$a'.upeer()" | python`
Или Ruby:
b=`echo "print '$a'.upcase" | ruby`
Или Perl (вероятно, мой любимый):
b=`perl -e "print uc('$a');"`
Или PHP:
b=`php -r "print strtoupper('$a');"`
Или Awk:
b=`echo "$a" | awk '{ print toupper($1) }'`
Или Sed:
b=`echo "$a" | sed 's/./\U&/g'`
Или Bash 4:
b=${a^^}
Или NodeJS, если у вас есть:
b=`echo "console.log('$a'.toUpperCase());" | node`
Вы можете также использовать dd
(но я бы не стал!):
b=`echo "$a" | dd conv=ucase 2> /dev/null`
Кроме того, когда вы говорите, «оболочка» Я предполагаю, что вы имеете в виду bash
но если вы можете использовать zsh
это так же просто, как
b=$a:l
для нижнего корпуса и
b=$a:u
для верхнего регистра.
Вы должны разместить их как отдельные ответы :) – khachik
я шучу :) – khachik
Это для Tcsh? Рассмотрим следующее, поскольку вы упомянули ошибку.
Оболочка дает мне ошибку: «Недопустимое имя переменной». по строке 4 – Abhinav