0xb*_*00d 3 command-line bash text-processing
我想从 csv 文件中删除几行。
规则很简单(保持行如果):
来源
Test1, 0.0, 1
Test1, 0.2, 1
Test1, 10.0, 3
Test2, 0.1, 1
Test2, 0.3, 3
Test2, 1.0, 5
Test2, 11.0, 7
Run Code Online (Sandbox Code Playgroud)
结果
Test1, 0.0, 1
Test1, 10.0, 3
Test2, 0.1, 1
Test2, 11.0, 7
Run Code Online (Sandbox Code Playgroud)
我想用 awk 和一些 if 语句来做这个,但我不确定我是否可以创建一个在记录处理之间传输的变量。
编辑:这隐藏在评论部分(来自我):
我刚刚发现变量可以在记录之间使用。与 C 不太一样的东西。除非有人给出我认为对其他人有用的答案或有人要求我提供答案,否则我将删除此问题。
小智 5
因为它被标记为 awk
awk -F", *" 'x!=$1||$2>=y+10{y=$2;print}{x=$1}' file
Test1, 0.0, 1
Test1, 10.0, 3
Test2, 0.1, 1
Test2, 11.0, 7
Run Code Online (Sandbox Code Playgroud)