0

我基本上有这些 xml 文件,我需要在其中更改第一个字母

例如。结果:

我试过了:sed 's/<structure name=\"/\U\/g'

但是,这会将整个单词更改为大写。有人可以帮我吗?

4

2 回答 2

0
sed 's/<structure name=\"\(.\)/<structure name=\"\U\1/'

sed只会将被替换的字符串转换为大写。我们可以使用捕获组仅将序列后的第一个字符转换为大写。

否则,您也可以使用\E,它类似于\U,除了它停止转换字符而不是启动它。

于 2013-06-25T23:41:49.387 回答
0

\U用于转换所有字符。您将需要使用\u来转换第一次出现。

此外,您需要对它们进行分组以确保转换正确的字母:

sed 's/\(<structure name=\"\)\(.\)/\1\u\2/' xml-file
于 2013-06-26T00:50:35.487 回答