我想将 Mac Bash 中的文件名在每个点/句点后更改为首字母大写,文件扩展名除外。
one.two.three.four.txt
Run Code Online (Sandbox Code Playgroud)
One.Two.Three.Four.txt
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法:
echo 'one.two.three.four.txt' | awk 'BEGIN{FS=OFS="."} NF==1{$1=toupper($1)} {for (i=1;i<NF;i++) $i=toupper($i)} 1'
Run Code Online (Sandbox Code Playgroud)
但这会导致输出:
ONE.TWO.THREE.FOUR.txt
Run Code Online (Sandbox Code Playgroud)
所以它使所有内容都大写(扩展名除外)。
我正在寻找小写的初始资本和扩展名。
awk
在 Mac Bash 中使用as寻找解决方案sed \U
是行不通的(对我来说到目前为止还行不通)。
提前致谢