В системе Linux вам необходимо запустить внешний скрипт .
Вот документация :https://wiki.archlinux.org/index.php/OpenVPN#DNS
Скрипты можно найти в здесь или более новой версии Linux здесь , и вы можете вызвать их, добавив это в конфигурацию клиента openvpn:
script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
Я бы использовал awk
. Предполагая, что данные отформатированы точно в соответствии с вашими образцами данных, следующий результат даст желаемый результат:
awk -v MAX=0 '{ if(NR>1 && $3>MAX){WANT1=$1; WANT2=$2; MAX=$3}} END{print WANT1, WANT2}' infile > outfile
Предполагая, что ваши данные отформатированы точно так, как вы указали (, это особенно касается 3-го столбца, все числа выровнены по левому краю )и что эти данные предоставляются путем cat
чтения файла, вы можете попробовать это команда:
*input generating command* | sort -nrk3 | awk '{print $1 " " $2}' > output_file
Если ваши данные предоставляются другой командой или источником, измените cat
на эту другую команду. Для получения дополнительной информации см. этот пост , который я просто адаптировал под ваши нужды.
Я немного изменил приведенную выше команду, так как нет необходимости указывать sort
начинать с символа 1 столбца 3, так как sort всегда рассматривает пробел как разделитель. Конечно, можно передать входной файл прямо в sort
, как указал пользователь. Если заголовки также являются частью ваших данных, измените приведенную выше команду на:
*input generating command* | sort -nrk3 | awk '{if (NR>1) print $1 " " $2}' > output_file