Вы, вероятно, хотите использовать sort
и uniq -c
для получения корректных количеств затем используйте sed
или awk
сделать заключительное форматирование. Что-то вроде этого:
sort file | uniq -c | awk '{printf "%s : %s\n", $1, $2}'
На Ваш исходный вопрос можно было, вероятно, ответить с тем же основным конвейером, но сначала редактированием входа:
sed -e 's/http:\/\///' -e 's/^www\.//' file | sort | uniq -c |
awk '{printf "%s : %s\n", $1, $2}'
Если это не точно корректно, можно переделать sed
и awk
команды для получения форм имени хоста и корректного выходного формата. Например, чтобы чистить правую сторону более длинных URL:
sed -e 's/http:\/\///' -e 's/^www\.//' -e 's/\/..*$//' file |
sort | uniq -c |
awk '{printf "%s : %s\n", $1, $2}'
Я был очень близок. Мне нужно было включить no_root_squash в / etc / exports:
/srv/nfs 204.54.0.0/16(rw,fsid=0,insecure,no_subtree_check,async,no_root_squash)
/srv/nfs/yukon 204.54.0.0/16(rw,nohide,insecure,no_subtree_check,async,no_root_squash)
И хотя оба mount.nfs $ serverip: / yukon / mnt
и mount.nfs $ serverip: / srv / nfs / yukon / mnt
работал, мне нужен был полный путь для командной строки Linux:
console=ttyS0,115200 rootwait rw nfsroot=$serverip:/srv/nfs/yukon ip=dhcp root=/dev/nfs
Я бы посоветовал проверить / etc / exports, /etc/hosts.deny, /etc/hosts.allow на сервере, чтобы узнать, разрешен ли адрес, выделенный dhcp (204.54.80.37).