Я бы использовал awk
и сначала преобразовал Start Date & Time
и End Date & Time
в допустимую дату , которую команда date
может понять в этом формате yymmdd HH:mm
, а затем преобразовал каждую вэпохавремя для вычисления разницы в секундах .
$ awk '{endDateInEpoch="date -d""\""substr($NF,1,6)" "substr($NF,7,2)":"substr($NF,9,2)"\""" +%s";
endDateInEpoch |getline endDateInEpoch;close(endDateInEpoch);
startDateInEpoch="date -d""\""substr($6,1,6)" "substr($6,7,2)":"substr($6,9,2)"\""" +%s";
startDateInEpoch |getline startDateInEpoch;close(startDateInEpoch);
sec=endDateInEpoch-startDateInEpoch; sec*=(sec)?1:-1; print sec" seconds"
}' <(paste file[12])
100800 seconds
Обратите внимание, что сначала я делаю paste file[12]
, чтобы вставить оба файла1 и файл2 рядом друг с другом, что приведет к результату, как показано ниже, затем передаю это на вход awk
, где $NF
указывает на последнее поле 1804040400
как Дата и время окончания и поле #6 1804030000
как Дата и время начала с пробелами в качестве разделителей полей, что awk
' s по умолчаниюFS
F поле S оператор:
"Start Date & Time" = 1804030000 "End Date & Time" = 1804040400
Как указал @dirkt, сокеты RAW могут быть неспособны направлять пакеты на подинтерфейсы VLAN, если они привязаны к корневому устройству. Разумное решение, предложенное @dirkt, - использовать пару veth.
ip link add veth0-wifi type veth peer name veth0-app
ip link set veth0-wifi up
ip link set veth0-app up
ip link add link veth0-wifi name veth0-wifi.100 type vlan id 100
brctl addbr br0
brctl addif br0 veth0-wifi.100
ip link set br0 up
Установите bridge=br0 в hostapd.conf и привяжите приложение к veth0 -app
Альтернатива, предложенная @A.B, не изученная по техническим причинам, состоит в том, чтобы приложение публиковало кран-устройство, которое должно обеспечивать в основном ту же организацию.