123456789012345678
987654321098765432
123456789012345678
555555555555555555
123456789012345678
#!/bin/bash
# 读取文件并计算每个身份证号的数量
uniq -c example.txt \
# 仅显示数量大于1的行
| grep -v '^ *1 ' \
# 按数量排序
| sort -n \
# 用 awk 提取重复记录和身份证号
| awk '{ print $2 " " $3 }'
uniq -c example.txt
然后使用以下命令过滤掉只出现一次的记录:
grep -v '^ *1 '
接下来使用以下命令按数量(计数器)排序:
sort -n
最后使用以下命令从该排序结果中提取重复记录和身份证号:
awk '{ print $2 " " $3 }'
bash sortDuplicates.sh
输出应为:
123456789012345678