awk - 我想使用 awk 从第 27 行开始删除每第 n 行
问题描述
我有一个大文本文件,它的标题有 27 行。我想将标题保留在新文件中,但是在数据开始的第 28 行我只想保留每 10 行。
所以我的新文件看起来就像我的原始文件,它将包含 27 行标题,但不是所有数据都在那里,只有每 10 行将包含在新文件中。
我一直在尝试使用'awk',我也尝试过'sed'我可以让它每10行给我一次,但我不能让它包含标题行,即从第28行开始,然后每10行给一次
解决方案
请您尝试以下操作。
awk 'FNR<=27{print;next} ++count%10==0{print;count=""}' Input_file
或者如果你想让它更通用,所以在这里添加变量,可以在这里更改变量值并根据需要获得结果。
awk -v lines_till_print="27" -v nth_line_print="10" '
FNR<=lines_till_print{
print
next
}
++count%nth_line_print==0{
print
count=""
}
' Input_file
推荐阅读
- docker - Zabbix - Web 服务超时
- html - 在 Html 中,什么时候应该使用 ./ 以及什么时候应该使用 / 来包含文件
- android - 带有片段的 ViewPager2 中的无限滚动
- java - Java 字节码 - 为什么要跳过偏移量?
- node.js - Node.js Fetch 说证书过期
- reactjs - ReactJS - react-router-dom history.push 不适用于 BrowserRouter
- php - 如何更改 Apache 使用的 PHP 版本?
- sycl - (SYCL) local_accessor 问题(没有名为“local_accessor”的模板)
- python - 解码以 ANSI 格式编码的 .bin 文件
- django - django登录模拟单元测试