如何使用awk导出原始唯一值

时间:2018-09-11 17:27:03

标签: bash awk

此命令非常适合串联重复项并仅提供唯一值:

awk '!x[$0]++' filewithdupes > newfile

但是,我想保留 原始唯一值。

示例:

如果我在CSV列中有这组简单的值:

1
1
2
2
3

上面的命令输出:

1
2
3

但是我想要

3

如何修改此命令以保留原始唯一值?还是有一个更适合我要执行的命令的命令?

3 个答案:

答案 0 :(得分:1)

您可以使用此RestAssured.baseURI = "http://127.0.0.1:3000/Admin"; String **response** = RestAssured.given(). when().get().then().extract().asString(); Assert.assertEquals(response, ""); System.out.println("Body is : " + response); 打印仅出现一次的记录:

awk

awk '{x[$0]++} END{for (i in x) if (x[i] == 1) print i}' filewithdupes

答案 1 :(得分:1)

请您尝试以下。

awk 'FNR==NR{a[$0]++;next} a[$0]==1'  Input_file Input_file

答案 2 :(得分:1)

如果您的文件已经按照示例进行了排序,则最简单的将是

$ uniq -u file

3

否则,将执行双重扫描算法

$ awk 'NR==FNR{a[$1]++; next} a[$1]==1' file{,}

3