我有一个html链接列表,其中大多数都是重复的,如下面这个例子 – >
> http://example.com/some/a-test-link.html > http://example.com/some/a-test-link.html > http://example.com/some/another-link.html > http://example.com/some/another-link.html > http://example.com/some/again-link.html > http://example.com/some/again-link.html
我不需要两次相同的链接,所以我需要删除重复并只保留一个链接.我怎么能用正则表达式做到这一点?或SED / AWK(我不确定哪种技术最好.)?我正在使用ubuntu操作系统和文本编辑sublime文本3.
谢谢
解决方法
使用awk非常简单:
awk '!seen[$0]++' file
这基本上意味着:
awk "!($0 in seen) {seen[$0];print}"
因此,如果该行不在数组中,它将添加并打印它.将跳过所有后续行(如果它们存在于数组中).
$cat file > http://example.com/some/a-test-link.html > http://example.com/some/a-test-link.html > http://example.com/some/another-link.html > http://example.com/some/another-link.html > http://example.com/some/again-link.html > http://example.com/some/again-link.html $awk '!seen[$0]++' file > http://example.com/some/a-test-link.html > http://example.com/some/another-link.html > http://example.com/some/again-link.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。