Bash 将grep匹配导入sed
我有一个文件可能如下所示:Bash 将grep匹配导入sed,bash,Bash,我有一个文件可能如下所示: EntryName1 1234 1234 1234 EntryName2 EntryName3 1234 1234 1234 [...] 我需要删除所有后跟空行的条目。我可以用grep-E'^$'-b1myfile.txt将空行和对应的entryName进行grep 现在我想以某种方式将这些作为模式导入sed,以便从文件中删除这些行。我该怎么做 编辑:预期的输出将是这样的(留空行也可以)。 使用awk awk '/^$/ { a = ""; next }
EntryName1
1234
1234
1234
EntryName2
EntryName3
1234
1234
1234
[...]
我需要删除所有后跟空行的条目。我可以用grep-E'^$'-b1myfile.txt
将空行和对应的entryName进行grep
现在我想以某种方式将这些作为模式导入sed,以便从文件中删除这些行。我该怎么做
<>编辑:预期的输出将是这样的(留空行也可以)。
使用awk
awk '/^$/ { a = ""; next }
{ printf "%s", a; a = $0 ORS }
END { printf "%s",a }' file
使用awk
awk '/^$/ { a = ""; next }
{ printf "%s", a; a = $0 ORS }
END { printf "%s",a }' file
较短的
awk
:
awk 'p != "" && NF{print p} {p=$0} END{print p}' file
较短的
awk
:
awk 'p != "" && NF{print p} {p=$0} END{print p}' file
使用
gawk
和multicharRS
支持:
gawk 'BEGIN{RS="\n[^\n]+\n\n"}1' file
使用
gawk
和multicharRS
支持:
gawk 'BEGIN{RS="\n[^\n]+\n\n"}1' file
你能告诉我们预期的产量吗?谢谢,好主意。编辑了OP并添加了预期的结果。您能告诉我们预期的输出吗?谢谢,好主意。编辑了OP并添加了预期结果。我应该指出,并非所有条目都以“Entry”开头。这只是一个玩具的例子。我的错。我应该指出,并非所有条目都以“Entry”开头。这只是一个玩具的例子。我的错。