通过Shell脚本(Ubuntu)在CSV中查找重复记录

时间:2018-11-19 18:28:25

标签: csv awk

我的csv以下

name,mobile
name1,123456
name2,98765
name1,123456
name3,98765
name1,123456
name4,344545443

如果两个记录具有移动性,则该记录将被视为重复记录。但是在打印重复记录时,第一条记录必须忽略

所以我的输出应该是这样

name,mobile
name1,123456
name1,123456
name2,98765

因此,这里的123456是文件中的3次,但是我只想打印两次,所以第一次出现是唯一的,而所有其他出现都是重复的。

我尝试过

awk -F, 'NR==FNR {++A[$2]; next} A[$2]>1'  file1.csv file1.csv

它给了我

name1,123456
name2,98765
name1,123456
name3,98765
name1,123456

这不是忽略第一次出现

请帮助我

1 个答案:

答案 0 :(得分:3)

据我所知,您要输出第二个字段至少出现两次的记录,但不输出第一个实例。

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: example-com
spec:
  ...
  minReadySeconds: 30 
  template:
    metadata:
      labels:
        app: example-com
    spec:
      imagePullSecrets:
      - name: myregistrykey
      containers:
      - name: example-com
        ...
        livenessProbe:
         httpGet:
          scheme: "HTTP"
          path: "/_ah/health"
          port: 80
          httpHeaders:
           - name: Host
             value: example.com
         initialDelaySeconds: 35
         periodSeconds: 35
        readinessProbe:
         tcpSocket:
          port: 80
         initialDelaySeconds: 35
         periodSeconds: 35
       ...

给出示例数据,打印出来

awk -F, '++seen[$2] > 1' file

这是输入数据的第4、5、6行。