Что-то подобное должно делать то, что вы хотите:
#! /bin/sh
for f in ./file*; do
sort -u "$f"
done | \
sort | \
uniq -c | \
sort -rn | \
head -40
Смысл for
заключается в том, чтобы убедиться, что каждая строка подсчитывается только один раз на файл. Смысл остальной части конвейера состоит в том, чтобы подсчитать вхождения.
Я использую службы Systemd для запуска «киосков» -в стиле Pi (под управлением систем CentOS ). Systemd загружает данные из нескольких каталогов конфигурации, но обычно вы должны размещать службы Systemd в/etc/systemd/system/
Конечно, существуют некоторые требования к тому, что должно содержаться в файле службы, но пока он находится в этом каталоге, sudo systemctl enable foo.service
включает эту службу. Если вы поместили свои сервисы в этот каталог и по-прежнему сталкиваетесь с ошибками, проверьте файл сервиса. Он должен содержать как минимум:
[Unit]
Description=Sample Script Startup
[Service]
Type=idle
ExecStart=/valid/path/to/an/executable/file
[Install]
WantedBy=multi-user.target
Атрибуты Type
и WantedBy
могут различаться в зависимости от того, чего вы пытаетесь достичь, поэтому прочитайте документацию !