linux shell 大小写转换,关于shell:字符大小写转换(大写到小写,反之亦然)

我试图将小写字符转换为大写。我遇到了各种不同的选择,比如stackoverflow问题中的一个列表。但是,我看到这些只是印刷品。我想把它保存到另一个变量中,稍后再使用。有人能告诉我如何做到这一点吗?

您的输入是$a。新变量是$b。(借用@ghostdog74)

使用tr:

b=$( tr '[A-Z]' '[a-z]' <<< $a)

如果使用tcsh,则使用echo而不是<<

set b=`echo"$a" | tr '[A-Z]' '[a-z]'`

您应该将这些作为单独的答案发布:)

我开玩笑说:

是给TCSH的吗?请考虑下面您提到的给出错误。

#! /bin/tcsh   set a ="Helo World!"   echo $a '

shell在第4行给出错误:"非法变量名"。

嘿,阿比纳夫。我已经修复了tcsh版本。我很抱歉迟到了,不太熟悉tcsh。玩得开心;

是的,不鼓励有多个单独的答案(尤其是1行)。最好把它们都放在一个答案里

使用bash4.0:

b=${a,,}

喜欢你用三种神圣的语言来表达这一点。

我知道这是一篇老掉牙的文章,但我为另一个网站做了这个回答,所以我想我会把它贴在这里:

下面是程序员的答案……

上>下:使用Python:

b=`echo"print '$a'.lower()" | python`

或露比:

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,,}

或者点头,如果你有:

b=`echo"console.log('$a'.toLowerCase());" | node`

你也可以使用dd(但我不会!):

b=`echo"$a" | dd  conv=lcase 2> /dev/null`

下>上:

使用Python:

b=`echo"print '$a'.upeer()" | python`

或露比:

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^^}

或者点头,如果你有:

b=`echo"console.log('$a'.toUpperCase());" | node`

你也可以使用dd(但我不会!):

b=`echo"$a" | dd  conv=ucase 2> /dev/null`

另外,当你说"shell"时,我假设你的意思是bash,但是如果你能使用zsh,那么就很容易

b=$a:l

小写和

b=$a:u

对于大写字母。

使用perl:

b=$( perl -e 'print lc <>;' <<< $a )

使用awk:

b=$( awk '{print tolower($0)}' <<< $a )

前面所有的答案都是正确的,我只是在添加这个,因为如果您只是转换文本,那么不需要声明变量等。

echo changethistoupper | tr [a-z] [A-Z]

echo CHANGETHISTOLOWER | tr [A-Z] [a-z]

4c3a872cc4567f595518de78b5093bb8.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值