我有一个看起来像这样的文件:
f1 | f2 | f3
--- ---- ---
T1 | 0.10 | tx1
T1 | 0.32 | tx2
T2 | 0.16 | tx1
T2 | 0.56 | tx3
T2 | 0.90 | tx2
Run Code Online (Sandbox Code Playgroud)
我想要的是将f1值与前一个值进行比较,如果匹配,则打印整行.此外,如果f1值出现超过2次,则只获得第二个,因此不允许重复.这只是一个例子,该文件包含3次,4次和5次f1,我也希望得到这些.
任何想法都是值得赞赏的,因为我还没有得到一个!我试过这段代码但是没有用:
awk '{ if ($1 != old) print; old = $1; }' foo
Run Code Online (Sandbox Code Playgroud)
我的预期输出如下:
f1 | f2 | f3
--- ---- ---
T1 | 0.32 | tx2
T2 | 0.56 | tx3
Run Code Online (Sandbox Code Playgroud)
像这样:
$ awk 'f1==$1&&hits[$1]==1{print}{f1=$1;hits[$1]++}' foo
T1 | 0.32 | tx2
T2 | 0.56 | tx3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |