使用 SED 将字符移动到行尾 (EOL)

使用 SED 将字符移动到行尾 (EOL)

每当“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(输出字段分隔符,默认为空格)。

相关内容