macos - 在Mac上的bash中从大写到小写

标签 macos bash case

我正在编写一个bash脚本,该脚本需要将字符串转换为小写字母。问题是我在Mac上执行此操作,因此'tr'不可用。如何在Mac上进行此操作?

我要解决的问题是我的脚本需要识别扩展名是.gif还是.jpg,并且我不想检查.jpeg,.jPeg,.JPEG,.JPeg ,等等等等……如果有一种更聪明的方法,而不仅仅是转换为小写字母并测试gif,jpg和jpeg,我全是耳朵:)

更新:
我是一个白痴。这台Mac“没有”这些基本的文本转换程序的原因是因为在进行某些测试时,我用“hello”覆盖了PATH> _ <

最佳答案

在bash中,您可以使用nocaseglob

shopt -s nocaseglob
for file in *.jpg *.jpeg *.gif
do
  echo "$file"
done
#turn off
shopt -u nocaseglob

一般以各种方式转换案例
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

关于macos - 在Mac上的bash中从大写到小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2505771/

相关文章:

linux - 在 bash shell 中的 for 循环内连接字符串变量

regex - 从这么多文件的开头删除数字的最快方法是什么?

scala - 如何在Scala案例类中使用特殊字符

ruby - 试图在 case 语句中引用更早的 'case'

python - 切换到Python 3.6.5_1后,显示的版本仍然是3.7.2

java - Mac OS X 的 Swing 调整

linux - 如何使用 sed 获取 xml 值

SQL SELECT 使用 CASE 语句,但有多个条件

macos - 使用 Matlab 和其他程序在 Mac 上导出 PNG 时出现白线

ios - Metal 质感比原图暗