我有以下格式的平面文件
Keyword:
First line
Keyword:
line1
Line2
Keyword:
abc
def
jkl
Keyword:
123456
opertxt
我正在使用下面的awk命令并在file2中获取输出
awk 'BEGIN { RS = "Keyword:" } {$1=$1} 1' file1 > file2
file2看起来像这样
First line
line1 Line2
abc def jkl
123456 opertxt
我不想像这样输出,而是希望输出像下面的模式一样,删除关键字的行
First line
line1
Line2
abc
def
jkl
123456
opertxt
有人可以建议使用awk或sed的解决方案。 感谢
答案 0 :(得分:2)
您可以使用以下任何一种:
sed '/^Keyword:$/d' file
sed
查找完全Keyword:
和d
的行。{/ p>
awk '$0 == "Keyword:" {next} 1' file
它会检查完全Keyword:
的行并使用next
跳过它们。然后1
为True,因此它会执行默认的awk操作:{print $0}
。
或更好更短(thanks Jaypal!):
awk '$0 != "Keyword:"' file
$ awk '$0 == "Keyword:" {next} 1' file
First line
line1
Line2
abc
def
jkl
123456
opertxt
$ sed '/^Keyword:$/d' file
First line
line1
Line2
abc
def
jkl
123456
opertxt