unix - 如何在unix中按4行的段将文件分成两部分
问题描述
我正在寻找一种如何将我的文件一分为二的方法,在这里没有找到答案。我有一个大文件(数百万行),想将它分成两个文件,总是四行,即前四行(1,2,3,4)进入第一个输出文件,后四行行 (5,6,7,8) 进入第二个输出文件,然后第三四行 (9,10,11,12) 再次进入第一个输出文件,依此类推。我相信会有办法- 可能使用 awk (?) 但我无法正确...非常感谢!
解决方案
所有你需要的是
awk 'NR%4==1{c=!c} {print > ("out"c)}'
看:
$ seq 10 | awk 'NR%4==1{c=!c} {print $0 " > " ("out"c)}'
1 > out1
2 > out1
3 > out1
4 > out1
5 > out0
6 > out0
7 > out0
8 > out0
9 > out1
10 > out1
推荐阅读
- sql - 将值平均分成 12 个连续的月份 (SQL Server)
- varnish - Varnish script for warming cache
- c# - What is the easiest way to get the latest value from an Observable in C#
- spring - Why does basicReject does not work with Apache Qpid?
- c# - How to correctly instantiate a spark session with dotnet spark?
- sql-server - SQL Server - 从触发器名称未知的表中删除所有触发器
- javascript - 需要帮助修复我的康威生命游戏代码
- c# - 从 .NET Core 2.2 迁移到 3.0-preview-9 后,模型绑定停止工作
- python - How to iterate an arbitrary function using vectorisation
- c# - How to make a link expire after click