我试图将小写字符转换为大写.我遇到了各种其他选择,例如StackOverflow 问题中的一个列表.但是,我看到这些只是打印出来的.我想将它保存到另一个我以后可以使用的变量.任何人都可以告诉我如何实现这一目标?
我知道这是一篇陈旧的帖子,但我为另一个网站做了这个答案,所以我想我会在这里发布:
程序员的回答来了....
上 -> 下:使用 python:
b=`echo "print '$a'.lower()" | python`
Run Code Online (Sandbox Code Playgroud)
或者红宝石:
b=`echo "print '$a'.downcase" | ruby`
Run Code Online (Sandbox Code Playgroud)
或 Perl(可能是我最喜欢的):
b=`perl -e "print lc('$a');"`
Run Code Online (Sandbox Code Playgroud)
或 PHP:
b=`php -r "print strtolower('$a');"`
Run Code Online (Sandbox Code Playgroud)
或者 awk:
b=`echo "$a" | awk '{ print tolower($1) }'`
Run Code Online (Sandbox Code Playgroud)
或 Sed:
b=`echo "$a" | sed 's/./\L&/g'`
Run Code Online (Sandbox Code Playgroud)
或 Bash 4:
b=${a,,}
Run Code Online (Sandbox Code Playgroud)
或者 NodeJS,如果你有的话:
b=`echo "console.log('$a'.toLowerCase());" | node`
Run Code Online (Sandbox Code Playgroud)
你也可以使用dd(但我不会!):
b=`echo "$a" | dd conv=lcase 2> /dev/null`
Run Code Online (Sandbox Code Playgroud)
下 -> 上:
使用蟒蛇:
b=`echo "print '$a'.upeer()" | python`
Run Code Online (Sandbox Code Playgroud)
或者红宝石:
b=`echo "print '$a'.upcase" | ruby`
Run Code Online (Sandbox Code Playgroud)
或 Perl(可能是我最喜欢的):
b=`perl -e "print uc('$a');"`
Run Code Online (Sandbox Code Playgroud)
或 PHP:
b=`php -r "print strtoupper('$a');"`
Run Code Online (Sandbox Code Playgroud)
或者 awk:
b=`echo "$a" | awk '{ print toupper($1) }'`
Run Code Online (Sandbox Code Playgroud)
或 Sed:
b=`echo "$a" | sed 's/./\U&/g'`
Run Code Online (Sandbox Code Playgroud)
或 Bash 4:
b=${a^^}
Run Code Online (Sandbox Code Playgroud)
或者 NodeJS,如果你有的话:
b=`echo "console.log('$a'.toUpperCase());" | node`
Run Code Online (Sandbox Code Playgroud)
你也可以使用dd(但我不会!):
b=`echo "$a" | dd conv=ucase 2> /dev/null`
Run Code Online (Sandbox Code Playgroud)
此外,当您说“shell”时,我假设您的意思是bash但如果您可以使用zsh它就像
b=$a:l
Run Code Online (Sandbox Code Playgroud)
对于小写和
b=$a:u
Run Code Online (Sandbox Code Playgroud)
对于大写。
你的意见是$a.新变量是$b.
(从这里借来的@ ghostdog74)
使用tr:
b=$( tr '[A-Z]' '[a-z]' <<< $a)
Run Code Online (Sandbox Code Playgroud)
如果你使用tcsh,那么使用echo而不是<<<:
set b=`echo "$a" | tr '[A-Z]' '[a-z]'`
Run Code Online (Sandbox Code Playgroud)