我正在编写一个bash脚本,需要将字符串转换为小写.问题是我在mac上这样做,所以'tr'不可用.我怎么能在mac上这样做呢?
我试图解决的问题是我的脚本需要识别扩展名是.gif还是.jpg - 我不想检查.jpeg,.jPeg,.JPEG,.JPeg等等...如果有一种更聪明的方法,只需转换为小写并测试gif,jpg和jpeg,我都是耳朵:)
更新:
我是个白痴.这个mac"没有"这些基本文本转换程序的原因是因为我在做一些测试时用"hello"覆盖了PATH> _ <
gho*_*g74 14
在bash中,你可以使用nocaseglob
shopt -s nocaseglob
for file in *.jpg *.jpeg *.gif
do
echo "$file"
done
#turn off
shopt -u nocaseglob
Run Code Online (Sandbox Code Playgroud)
一般来说,转换案件,各种方式
echo "stRING" | awk '{print toupper($0)}'
echo "STRING" | tr "[A-Z]" "[a-z]" # upper to lower
echo "StrinNG" | sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' #lower to upper
Run Code Online (Sandbox Code Playgroud)
这是内置于bash:
将$ y转换为大写:
y="this Is A test"
echo "${y^^}"
Run Code Online (Sandbox Code Playgroud)
并将$ y转换为小写:
y="THIS IS a TeSt"
echo "${y,,}"
Run Code Online (Sandbox Code Playgroud)