从日志中排序唯一的URL

aki*_*aki 17 sorting shell logging uniq

我需要从Web日志中获取唯一的URL,然后对它们进行排序.我正在考虑使用grep,uniq,sort命令并将其输出到另一个文件

我执行了这个命令:

cat access.log | awk '{print $7}' > url.txt
Run Code Online (Sandbox Code Playgroud)

然后只获得唯一的一个并对它们进行排序:

cat url.txt | uniq | sort > urls.txt
Run Code Online (Sandbox Code Playgroud)

问题是我可以看到重复项,即使文件已排序,这意味着我的命令工作.为什么?

mou*_*iel 23

uniq | sort不起作用:uniq删除连续的重复项.

正确的方法是sort | uniq或更好sort -u.


Wil*_*ell 5

uniq需要对其输入进行排序,但是您在uniq之后排序.尝试:

$ sort -u < url.txt > urls.txt