shell中查找不同的记录(实在不会)
发布于 9 年前 作者 jiangliqin 3716 次浏览 最后一次编辑是 8 年前 来自 问答

我已经将一列数据格式化了,类似于 13301131289,3,30 13301131289,3,30 13301131289,3,30 13301131289,3,30 13301095073,4,30 13301095073,4,30 13301095073,4,30 13301095073,4,30 13301095073,4,30 13301095073,4,30 13301095073,4,30 13301095073,4,30 13301079661,3,30 13301079661,3,30 这里只是截取部分,如何用awk 查找出第一列相同,而第二列不同的记录?请各位对shell熟悉的朋友指点下,感谢!

6 回复

不太明白你的具体需求,如果只是想合并相同项可以使用uniq 或者 sort -u 试试

@guoqiyi 我知道去重uniq,我现在想第一列相同但第二列不同的记录,用awk -F ‘,’ 来区分列数的

哪位大神会呢,请指点迷津哈!感激不尽

这用 shell 做比较麻烦,还不如用 node.js 处理。写出来的脚本也可以在 shell 中调用

来自酷炫的 CNodeMD

@klesh 你说node的shell模块吧?

awk -F ‘,’ ‘BEGIN{while(getline << “filename”){all[$1]=$2}}{if($1 in all && all[$1] != $2) print}’ filename From Noder

回到顶部