小编Iqb*_*akh的帖子

将文件名中所有以“.”分隔的部分的第一个字母转换为大写,Mac Bash 中最后一个字母除外

我想将 Mac Bash 中的文件名在每个点/句点后更改为首字母大写,文件扩展名除外。

我尝试了以下方法:

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是行不通的(对我来说到目前为止还行不通)。

提前致谢

bash text-processing macos

3
推荐指数
1
解决办法
2345
查看次数

标签 统计

bash ×1

macos ×1

text-processing ×1