【发布时间】:2017-02-19 14:16:04
【问题描述】:
我想以某些字母开头的单词的最后一个字母大写。
示例:At The Movies 到 AT ThE Movies
我试过了……
$ sed 's/\<[ABEXY][[:alpha:]]*\([[:alpha:]]\>\)/\U\1/g' file1
但这会将我尝试更改的所有单词替换为最后一个字母的大写
也试过了:
$ sed '/\<[ABEXY][[:alpha:]]*\([[:alpha:]]\>\)/ y/\1abcdefghijklmnopqrstuvwxyz/\1ABCDEFGHIJKLMNOPQRSTUVWXYZ/' file1
但回拨不适用于sed y,所以我只是全部大写。
【问题讨论】:
-
tr不是要使用的命令;它无条件地映射它被告知要映射的所有字符。 -
感谢您的建议 :)