gpt4 book ai didi

awk - 如何删除一个空行和仅当它不为空时的下一行

转载 作者:行者123 更新时间:2023-12-04 06:24:24 24 4
gpt4 key购买 nike

我有一个包含结构的两列文件

1 2
10 1

10 1
10 3
102 40


102 40
25 5
53 4

53 4
35 6
64 5
456 4


456 4
243 535
435 6

所以空白行上方和下方的数字相同。但是空白行并不统一(它们是单行、双行或三行)。我想删除每个空白行之后的数字和该数字上方的空白行。

我期望的输出应该是这样的

1 2
10 1
10 3
102 40

25 5
53 4
35 6
64 5
456 4

243 535
435 6

我试过这样做:

sed -e '/pattern/,+1d' input_file 

你看我的模式在变化,我没能解决问题。

最佳答案

这可能对你有用(GNU sed):

sed 'N;/^\n\S/d;P;D' file

在整个文件长度内打开一个两行窗口。

如果窗口的第一行是空的而第二行不是,则删除这两行。

否则,打印/删除第一行并重复。

关于awk - 如何删除一个空行和仅当它不为空时的下一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62128274/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com