nev*_*int 40 unix linux bash sed
如何将单词的第一个字母替换为大写字母,例如
Trouble me
Gold rush brides
Run Code Online (Sandbox Code Playgroud)
成
Trouble Me
Gold Rush Brides
Run Code Online (Sandbox Code Playgroud)
tan*_*ens 70
这行应该这样做:
sed -e "s/\b\(.\)/\u\1/g"
Run Code Online (Sandbox Code Playgroud)
gho*_*g74 22
使用awk
:
awk '{for(i=1;i<=NF;i++){ $i=toupper(substr($i,1,1)) substr($i,2) }}1' file
Run Code Online (Sandbox Code Playgroud)
输出将是:
Trouble Me
Gold Rush Brides
Run Code Online (Sandbox Code Playgroud)
rek*_*sri 13
使用以下sed命令来大写每个单词的第一个字母.
echo -e "Trouble me \nGold rush brides" | sed -r 's/\<./\U&/g'
Run Code Online (Sandbox Code Playgroud)
产量
Trouble Me
Gold Rush Brides
Run Code Online (Sandbox Code Playgroud)
该-r
开关通知sed
使用扩展的正则表达式.该指令,sed
然后告诉它" 小号地球与替换"(在s
开头)的图案\<.
与图案\U&
摹 lobally,即所有实例中的每一行(这是g
在端改性).我们正在搜索的模式\<.
是寻找单词边界(\<
)后跟任何字符(.
).替换模式是\U&
,在\U
指示sed
要进行以下文字大写和&
是一个代名词\0
,它是指"一切是匹配的".在这种情况下,"匹配的所有内容"正是.
匹配的内容,因为字符边界不包含在匹配中(相反,它们是锚点).什么.
匹配是一个字符,所以这是什么,是上套管.
小智 5
我有撇号所以,解决第一个解决方案......
mike@mike-laptop3:~$ echo "BEST WESTERN PLUS BOB's INN" | tr "[A-Z]" "[a-z]" | sed -e "s/\b\(.\)/\u\1/g"
Run Code Online (Sandbox Code Playgroud)
贝斯特韦斯特普拉斯鲍勃旅馆
mike@mike-laptop3:~$ echo "BEST WESTERN PLUS BOB's INN" | tr "[A-Z]" "[a-z]" | sed "s/\( \|^\)\(.\)/\1\u\2/g"
Run Code Online (Sandbox Code Playgroud)
贝斯特韦斯特普拉斯鲍勃旅馆
归档时间: |
|
查看次数: |
38191 次 |
最近记录: |