Как уже было установлено, в разных дистрибутивах используются разные имена.
Имеются веские причины для обоих
sshd
, поэтомуsshd.service
sshd
означает «SSH Daemon» или «SSH Server», поэтому «SSH Server Service» будет двойным. Таким образом, это будет вопрос предпочтения сопровождающих дистрибутивов. Эти предпочтения также могут меняться со временем, я помню время, когда Suse переключился с ntp
на ntpd
для имени службы.
cut -f3 -d, "$file" | sort | uniq -cd | sed 's/ *//'
cut
использует запятую в качестве разделителя и выводит только третье поле sort
сортирует строки, чтобы можно было использовать uniq
uniq -c
подсчитывает количество последовательных повторяющихся строк, -d
заставляет выводить только дубликаты (, т.е. опускает уникальные значения)sed
удаляет начальные пробелы. Ан awk
один -вкладыш:
awk -F',' '{c[$3]++} END{for (i in c) {if (c[i]>1) print c[i],i}}' input.csv
awk
на использование ,
в качестве разделителя полей. $3
). c
(for (i in c)
), и, если «запись», связанная с этим индексом, больше единицы, выводит количество вхождений и соответствующее значение третьего столбец. Если вам нужен более точный контроль над форматированием вывода, вы можете использовать printf
вместо print
в блоке END
.