每当“The”一词出现在行首时,我都想将其移至行尾,并将行中新的第一个单词大写。例如,“The heaven”变成“Heaven the”。我正在尝试在我的图书馆中测试这一点。
答案1
这应该有效:
sed 's/^The \(.*\)/\u\1 the/'
答案2
如果你sed
没有\u
:
awk '$1 ~ "^The" {the=tolower($1); $1=""; char=toupper(substr($0,2,1)); rest=substr($0,3); print char rest, the}' inputfile
为 分配一个空值会使$
字段分隔符(空格)保持不变。第一个substr()
从字符 2 开始跳过该空格。末尾附近的逗号会打印OFS
(输出字段分隔符,默认为空格)。