在文本文件的行首添加一个词

Add a word at the beginning of the line in a text file

搜索以 "zone" 开头的行组,并在上一行的开头添加单词 "Heading"。预先感谢您的帮助

代码:

    Zoning A
     zone zonename1
     zone zonename2
     zone zonename3

   Team B
     zone zonename4
     zone zonename5

期望的输出:

     Heading Zoning A
       zone zonename1
       zone zonename2
       zone zonename3

     Heading Team B
        zone zonename4
        zone zonename5

如果你可以使用 perl

perl -000 -pe 's/^/Heading/;s/\s+/ /' inputfile
Heading Zoning A
     zone zonename1
     zone zonename2
     zone zonename3

Heading Team B
     zone zonename4
     zone zonename5

使用 awk。只要组标题不是以单词 zone:

开头
$ awk '
/^ *zone/&&p!~/^ *zone/ {
    sub(/^ */,"&Heading ",p)
}
NR>1 { print p }
{ p=[=10=] }
END { print p }
' file
    Heading Zoning A
     zone zonename1
     zone zonename2
     zone zonename3

   Heading Team B
     zone zonename4
     zone zonename5