cat test.txt
serverabc.test.net
serverabc.qa.net
serverabc01.test.net
serverstag.staging.net
serverstag.test.net
这里我需要在分隔符''之前匹配重复的字符串。 所以预期的产量将如下所示。因为字符串“serverabc”和“serverstag”被发现是重复的。请帮忙。
serverabc.test.net
serverabc.qa.net
serverstag.staging.net
serverstag.test.net
答案 0 :(得分:1)
awk
救援!
$ awk -F\. '{c[$1]++; a[$1]=a[$1]?a[$1]RS$0:$0}
END{for(k in c) if(c[k]>1) print a[k]}' file
serverabc.test.net
serverabc.qa.net
serverstag.staging.net
serverstag.test.net
答案 1 :(得分:0)
如果它不会被使用,我可能会做这样的事情:
cut -f1 -d\. foo.txt | sort |uniq -c | grep -v " 1 " | cut -c 9-|sed 's/\(.*\)/^\1\\./' > dup.host
grep -f dup.host foo.txt
serverabc.test.net
serverabc.qa.net
serverstag.staging.net
serverstag.test.net