我试图将小写字符转换为大写字母。我遇到了各种替代方案,例如StackOverflow question上的一个列表。但是,我看到这些只是打印出来的。我想将它保存到另一个我以后可以使用的变量。 任何人都可以告诉我如何实现这一目标吗?
答案 0 :(得分:6)
您的输入为$a
。新变量为$b
(借用@ ghostdog74撰写的here)
使用 tr
:
b=$( tr '[A-Z]' '[a-z]' <<< $a)
如果您使用tcsh
,则使用echo
代替<<<
:
set b=`echo "$a" | tr '[A-Z]' '[a-z]'`
答案 1 :(得分:3)
使用 bash
4.0 :
b=${a,,}
答案 2 :(得分:2)
使用 awk
:
b=$( awk '{print tolower($0)}' <<< $a )
答案 3 :(得分:2)
使用 perl
:
b=$( perl -e 'print lc <>;' <<< $a )
答案 4 :(得分:2)
我知道这是一个古老的帖子,但我为另一个网站做了这个答案,所以我想我会把它发布在这里:
程序员回答......UPPER - &gt;下强>: 使用python:
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`
更低 - &gt; UPPER 强>:
使用python:
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
表示大写。
答案 5 :(得分:0)