Я использовал приведенную ниже команду awk, чтобы найти количество вхождений
пример файла
cat файл1
praveen ajay
praveen
ajay monkey praveen
praveen boy praveen
команда:
awk '{print gsub("praveen",$0)}' file1 | awk 'BEGIN{sum=0}{sum=sum+$1}END{print sum}'
выход
awk '{print gsub("praveen",$0)}' file1 | awk 'BEGIN{sum=0}{sum=sum+$1}END{print sum}'
5
Я случайно нашел возможную причину проблемы, я попытался установить netsniff -ng, и каким-то образом его установка устранила отставание, и единственное заметное изменение заключалось в том, что Systemd -timesyncd был удален, я изучаю, как это происходит. связанные с моей сетевой проблемой.
Linux имеет встроенную поддержку -для keepalive
. вы можете изменить настройку с помощью sysctl
, чтобы иметь возможность настраивать параметры ядра во время выполнения.
Процедуры, включающие поддержку активности, используют три пользовательских -управляемых переменных:
tcp_keepalive_time
:интервал между последним отправленным пакетом данных, (простые ACK не считаются данными )и первым подтверждением активности; после того, как соединение помечено как требующее поддержания активности, этот счетчик больше не используется
tcp_keepalive_intvl
:интервал между последовательными проверками активности, независимо от того, чем за это время обменялось соединение
tcp_keepalive_probes
:количество неподтвержденных тестов, которые необходимо отправить, прежде чем соединение будет считаться разорванным и будет уведомлен прикладной уровень
Вы можете попытаться изменить это значение с помощью:
echo 600 > /proc/sys/net/ipv4/tcp_keepalive_time
echo 60 > /proc/sys/net/ipv4/tcp_keepalive_intvl
echo 20 > /proc/sys/net/ipv4/tcp_keepalive_probes
Если это решит вашу проблему, вы можете сделать изменение постоянным на /etc/sysctl.conf
с помощью:
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_intvl = 60
net.ipv4.tcp_keepalive_probes = 20