【发布时间】:2013-11-08 13:32:33
【问题描述】:
我有一堆需要清理的文本文件。我使用的是 UNIX bash,所以 AWK 或 grep 都不错。
文本文件看起来像这样:
1766 1789
1764 1790
1762 1849
0
1357 1817
1366 1857
0
360 42
352 95
0
293 142
302 181
delete-this
0
302 181
0
我想要的是删除所有带有“0”的行,“delete-this”,只有一行两列或三行两列。
结果应该是这样的:
1766 1789
1762 1849
1357 1817
1366 1857
360 42
352 95
293 142
302 181
非常感谢!
更多信息:第 1 行第 2 列和第 2 行第 2 列之和应大于 1,否则必须删除第 2 行。
【问题讨论】:
-
您的示例输出中缺少一些行。为什么
1764 1790消失了?另外,only one row with two columns or three rows with two columns是什么意思? -
前三行应该只有两行!因为第 1 行第 2 列和第 2 行第 1 列的差异 = 1。
-
所以你只想匹配被
0s包围的2/3行块。