使用 Sed 将每个单词的首字母大写 [英] Using Sed to capitalize the first letter of each word
本文介绍了使用 Sed 将每个单词的首字母大写的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我想大写的数据:
molly w. bolt 334-78-5443
walter q. bugg 984-49-0032
noah p. way 887-12-0921
kerry t. bricks 431-09-1239
ping h. yu 109-32-9845
这是我迄今为止编写的脚本,用于将姓名的首字母大写,包括首字母
Here is the script I have written so far to capitalize the first letter of name including initial
h
s/(.).*/1/
y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/
G
s/(.)
(.)(.*)/13/
/ [a-z]/{
h
s/([A-Z][a-z]* )([a-z]).*/2/
y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/
G
s/(.)
([A-Z][a-z]* )(.)(.*)/214/
}
/ [a-z]/{
h
s/([A-Z][a-z]* )([a-z]).*/2/
y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/
G
s/(.)
([A-Z][a-z]* )(.)(.*)/214/
}
它给了我:
MOLLY W. BOLT 334-78-544Molly 3. bolt 334-78-5443
WALTER Q. BUGG 984-49-003Walter 2. bugg 984-49-0032
NOAH P. WAY 887-12-092Noah 1. way 887-12-0921
KERRY T. BRICKS 431-09-123Kerry 9. bricks 431-09-1239
PING H. YU 109-32-984Ping 5. yu 109-32-9845
我只想拥有:
Molly W. Bolt 334-78-544
Walter Q. Bugg 984-49-003
Noah P. Way 887-12-092
Kerry T. Bricks 431-09-123
Ping H. Yu 109-32-984
我会改变什么?
推荐答案
这个 (GNU sed) 怎么样:
How about this (GNU sed):
$ sed 's/[a-z]/u&/g' myfile
Molly W. Bolt 334-78-5443
Walter Q. Bugg 984-49-0032
Noah P. Way 887-12-0921
Kerry T. Bricks 431-09-1239
Ping H. Yu 109-32-9845
这篇关于使用 Sed 将每个单词的首字母大写的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文