小编The*_*ner的帖子

如何将列表中的特定文本转换为大写?

我想让所有来自以“ United”开头的国家/地区的驱动程序名称大写。

例如:

20  [United Kingdom] Nigel Mansell                 188 31
Run Code Online (Sandbox Code Playgroud)

20  [United Kingdom] NIGEL MANSELL                 188 31
Run Code Online (Sandbox Code Playgroud)

我正在使用的命令:

cat f1.txt | sed -r 's/[^ ]"United"\s+[A-Z]+[a-z]*]\s+[A-Z]+[a-z]*\s+[A-Z]+[a-z]*-?[A-Z]?+[a-z]?*/\U&/g'
Run Code Online (Sandbox Code Playgroud)

完整名单:

Rank Country         Driver                      Races Wins
1   [United Kingdom] Lewis Hamilton                264 94
3   [Spain] Fernando Alonso                        311 32
8   [United Kingdom] Jenson Button                 306 15
11  [Netherlands] Max Verstappen                   116 9
17  [United Kingdom] David Coulthard               246 13
20  [United Kingdom] Nigel Mansell                 188 31
26  [United Kingdom] Jackie Stewart                100 …
Run Code Online (Sandbox Code Playgroud)

linux sed awk text-processing

4
推荐指数
2
解决办法
362
查看次数

标签 统计

awk ×1

linux ×1

sed ×1

text-processing ×1