簡體   English   中英

bash打印僅前n個字符匹配的完整行

[英]bash print complete lines where just the first n characters match

我為某些文件創建了哈希排序列表

ffb01af8fda1e5c3b74d1eb384d021be1f1577c3 *./Pictures/camera/London 170713/P9110042.JPG
ffb01af8fda1e5c3b74d1eb384d021be1f1577c3 *./Pictures/london/P9110042.JPG

在有重復的哈希(只是哈希)的地方,我想打印所有匹配項的整行

所以說那里有哈希ABC

A 1
B 2
B 3
C 4
C 5
C 6

在此示例中,除第一行外,所有行均應打印

B 2
B 3
C 4
C 5
C 6

在繼續之前,請查找fdupes

如果您不想使用專門用於查找重復文件的強大工具,則可以使用sort | uniq sort | uniq

$ cat file
A 1
B 2
B 3
C 4
C 5
C 6

$ sort file | uniq -w 1 -D
B 2
B 3
C 4
C 5
C 6

使用awk可以做到(也可以使用未排序的文件):

awk 'FNR==NR{seen[$1]++; next} seen[$1]>1' file file
B 2
B 3
C 4
C 5
C 6

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM