我有一个文本文件,它是这样的:
header
p1
p2
p3
header
p4
p5
p6
header
p7
p8
p9
而且我想删除除第一个之外的所有标题,因此结果将是:
header
p1
p2
p3
p4
p5
p6
p7
p8
p9
我认为这可以通过打印所有不是 4、+1 倍数的行来实现(即不要打印 4+1、8+1、12+1 等行)。我知道如何不打印 4 的倍数的行:
cat tmp2 | awk '{if((NR % 4 != 0)) {print $0}}'
但我不知道如何使它不打印 4 的倍数,+1。我认为解决方案应该很简单,但我对如何到达那里有点困惑。
有很多方法可以做算术,可能我会这样做
awk 'NR==1 || (NR-1)%4' tmp2
因为它使意图显而易见。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句