Shell 将大写字母转换为小写字母,反之亦然
我试图将小写字符转换为大写。我遇到了各种各样的选择,比如在StackOverflow的一个列表。然而,我看到的是,这些只是印刷品。我想把它保存到另一个变量中,以后可以使用。Shell 将大写字母转换为小写字母,反之亦然,shell,unix,Shell,Unix,我试图将小写字符转换为大写。我遇到了各种各样的选择,比如在StackOverflow的一个列表。然而,我看到的是,这些只是印刷品。我想把它保存到另一个变量中,以后可以使用。 有人能告诉我如何做到这一点吗?您的输入是$a。新变量是$b (摘自@ghostdog74) 使用tr: b=$( tr '[A-Z]' '[a-z]' <<< $a) b=$( awk '{print tolower($0)}' <<< $a ) b=${a,,} b=$( perl
有人能告诉我如何做到这一点吗?您的输入是
$a
。新变量是$b
(摘自@ghostdog74) 使用
tr
:
b=$( tr '[A-Z]' '[a-z]' <<< $a)
b=$( awk '{print tolower($0)}' <<< $a )
b=${a,,}
b=$( perl -e 'print lc <>;' <<< $a )
使用awk:
b=$( tr '[A-Z]' '[a-z]' <<< $a)
b=$( awk '{print tolower($0)}' <<< $a )
b=${a,,}
b=$( perl -e 'print lc <>;' <<< $a )
b=$(awk'{print tolower($0)}'使用bash
4.0:
b=$( tr '[A-Z]' '[a-z]' <<< $a)
b=$( awk '{print tolower($0)}' <<< $a )
b=${a,,}
b=$( perl -e 'print lc <>;' <<< $a )
使用perl
:
b=$( tr '[A-Z]' '[a-z]' <<< $a)
b=$( awk '{print tolower($0)}' <<< $a )
b=${a,,}
b=$( perl -e 'print lc <>;' <<< $a )
b=$(perl-e'print lc;”我知道这是一篇老掉牙的帖子,但我为另一个网站做了这个回答,所以我想把它贴在这里:
下面是一个答案
上->下:
使用python:
b=`echo "print '$a'.lower()" | python`
b=`echo "print '$a'.upeer()" | python`
或红宝石:
b=`echo "print '$a'.downcase" | ruby`
b=`echo "print '$a'.upcase" | ruby`
或者Perl(可能是我最喜欢的):
或PHP:
b=`php -r "print strtolower('$a');"`
b=`php -r "print strtoupper('$a');"`
或Awk:
b=`echo "$a" | awk '{ print tolower($1) }'`
b=`echo "$a" | awk '{ print toupper($1) }'`
或Sed:
b=`echo "$a" | sed 's/./\L&/g'`
b=`echo "$a" | sed 's/./\U&/g'`
或Bash 4:
b=${a,,}
b=${a^^}
或NodeJS(如果您有):
b=`echo "console.log('$a'.toLowerCase());" | node`
b=`echo "console.log('$a'.toUpperCase());" | node`
您也可以使用dd
(但我不会!)
下部->上部:
b=$( tr '[A-Z]' '[a-z]' <<< $a)
b=$( awk '{print tolower($0)}' <<< $a )
b=${a,,}
b=$( perl -e 'print lc <>;' <<< $a )
使用python:
b=`echo "print '$a'.lower()" | python`
b=`echo "print '$a'.upeer()" | python`
或红宝石:
b=`echo "print '$a'.downcase" | ruby`
b=`echo "print '$a'.upcase" | ruby`
或者Perl(可能是我最喜欢的):
或PHP:
b=`php -r "print strtolower('$a');"`
b=`php -r "print strtoupper('$a');"`
或Awk:
b=`echo "$a" | awk '{ print tolower($1) }'`
b=`echo "$a" | awk '{ print toupper($1) }'`
或Sed:
b=`echo "$a" | sed 's/./\L&/g'`
b=`echo "$a" | sed 's/./\U&/g'`
或Bash 4:
b=${a,,}
b=${a^^}
或NodeJS(如果您有):
b=`echo "console.log('$a'.toLowerCase());" | node`
b=`echo "console.log('$a'.toUpperCase());" | node`
您也可以使用dd
(但我不会!)
另外,当你说“shell”时,我假设你的意思是bash
,但是如果你能使用zsh
,就很容易了
b=$a:l
用于小写和
b=$a:u
对于大写。前面的所有答案都是正确的,我只是添加了这个,因为如果您只是转换文本,就不需要声明变量等
echo changethistoupper | tr [a-z] [A-Z]
echo CHANGETHISTOLOWER | tr [A-Z] [a-z]
你应该把这些答案作为分开的答案:)这是针对TCSH的吗?考虑下面提到的错误。<代码> > /bin /TCSH设置A=“Helo World!”ECHA$ $'Hi'AbHiav。我已经修复了<代码> TCSH 版本。抱歉,我迟到了,不太熟悉<代码> TCSH < /代码>。玩得开心!不鼓励有多个单独的答案(尤其是一行)。最好把它们都放在一个答案中这太棒了。把zsh
上的第一个字母大写怎么样,你有这些命令的参考资料吗@nettux@mochadwi您将使用b=${(C)a}
。请参见zsh文档中的参数扩展部分: