在设定的记录间隔内,我需要删除 4 行/记录。这可以用 awk 或 sed 完成吗?
我有一个文件,每 70 条记录就有一个换页符。这导致在我的输出中打印一个空行。
我想使用 awk 或 sed 删除换页前的四 (4) 行,因此我的页面现在有 66 行长。
那应该消除我的空白页。
我传递的文件是一个假脱机文件中的数千条记录,我希望有一个简单的解决方案。我试过了
sed -n -e '65~68p;
但我认为我的 unix 机器上没有可用的,因为当我尝试运行该命令时出现错误。
awk '{if ((NR%70) <65) print $0;}' inputfile
应该做的工作。
sed 'H;g;s:[^\n]::g;/.\{64\}/{N;N;N;s:.::g; x;s:\n::p;d};${x;s:\n::;p};d' FILE
此行将删除第 65, 65*2, ..., 65*K 行之后的下 3 行。
如果要删除多于 3 行,请添加更多 N;N;N;。
pbhd 在我发布之前给出了一个很好的解决方案,但如果你想使用 python 来做的话:
import sys
s = sys.stdin.read()
for page in s.split('\f'):
lines = page.splitlines()
print '\n'.join(lines[:-4]) + '\f'