相关疑难解决方法(0)

将文件中每行的第一个字母更改为大写

我需要将文件中每行的第一个字母更改为大写,例如

the bear ate the fish.
the river was too fast.
Run Code Online (Sandbox Code Playgroud)

会成为:

The bear ate the fish.
The river was too fast.
Run Code Online (Sandbox Code Playgroud)
  • 该文件包含一些特殊字母:a,a,á,à,ǎ,ā,b,c,d,e,e,é,è,ě,ē,f,g,h,i,i,í,ì ,ǐ,ī,j,k,l,m,n,o,o,ó,ò,ǒ,ō,p,q,r,s,t,u,u,ú,ù,ǔ,ü,ǘ ,ǜ,ǚ,ǖ,ū,v,w,x,y和z.
  • 这些字母的大写形式是:A,A,Á,À,Ǎ,Â,B,C,D,E,E,É,È,Ě,Ē,F,G,H,I,I,Í, Ì,Ǐ,Ī,J,K,L,M,N,O,O,Ó,Ò,Ǒ,Ō,P,Q,R,S,T,U,U,Ú,Ù,Ǔ,Ü, Ǘ,Ǜ,Ǚ,Ǖ,Ū,V,W,X,Y和Z.

如何将文件中每行的第一个字母更改为大写?

bash case unicode-string

8
推荐指数
3
解决办法
9657
查看次数

每行第一个字母大写

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

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
查看次数

标签 统计

bash ×1

case ×1

linux ×1

regex ×1

sed ×1

terminal ×1

unicode-string ×1

unix ×1