相关疑难解决方法(0)

在sed或awk中大写字符串

我有三种类型的字符串,我想在bash脚本中大写.我认为sed/awk是我最好的选择,但我不确定.考虑到以下要求,最好的方法是什么?

  1. 单词
    例如 taco -> Taco

  2. 由连字符分隔的多个单词,
    例如 my-fish-tacos -> My-Fish-Tacos

  3. 由下划线分隔的多个单词,
    例如 my_fish_tacos -> My_Fish_Tacos

bash awk sed

17
推荐指数
3
解决办法
9512
查看次数

每行第一个字母大写

我有一个如下所示的列表:

david
Sam
toNy
3matt
5$!john
Run Code Online (Sandbox Code Playgroud)

我希望将每行中第一次出现的字母大写。因此,如果该行不以字母开头,则转到下一个可能的字母并将其变为大写。所以上面的例子应该输出:

David
Sam
ToNy
3Matt
5$!John
Run Code Online (Sandbox Code Playgroud)

我已尝试以下操作,但如果该行以数字或符号开头,则它不会将第一次出现的字母大写:

sed  's/^\(.\)/\U\1/' myfile.txt > convertedfile.txt
Run Code Online (Sandbox Code Playgroud)

我已经在这个网站上搜索了答案,它们都给出了与上面一行相同的问题

regex unix linux terminal sed

-1
推荐指数
1
解决办法
718
查看次数

标签 统计

sed ×2

awk ×1

bash ×1

linux ×1

regex ×1

terminal ×1

unix ×1