我有三种类型的字符串,我想在bash脚本中大写.我认为sed / awk是我最好的选择,但我不确定.考虑到以下要求,最好的方法是什么?
>单词
例如taco – >塔克
>用连字符分隔的多个单词
例如my-fish-tacos – >我-鱼炸玉米饼
>由下划线分隔的多个单词
例如my_fish_tacos – > My_Fish_Tacos
没有必要使用捕获组(虽然&是某种方式):
echo "taco my-fish-tacos my_fish_tacos" | sed 's/[^ _-]*/\u&/g'
输出:
Taco My-Fish-Tacos My_Fish_Tacos
转义的小写“u”将匹配的子字符串中的下一个字符大写.