#!/bin/bash
data=$(lynx -dump "http://wxdata.weather.com/wxdata/weather/local/14225?cc=*&unit=f&dayf=1" | grep -A 2 -m 1 "<tmp>")
for pattern_to_find in tmp flik t
do
echo $data | tr " " "\n" | sed -ne "/<$pattern_to_find>/s#\s*<[^>]*>\s*##gp"
done
Выход
51
51
Mostly
echo $data | tr " " "\n" | sed -ne '/<pattern_to_find>/s#\s*<[^>]*>\s*##gp'
tr " " "\n" - заменяет пробелы на \n
Выход
Элемент списка
n - подавляет печать всех строк
e - script [!d9 ]
/<pattern_to_find>/ - находит строки, содержащие указанный шаблон, что может быть, например, <tmp>
next - это подстановочная часть s///p, которая удаляет все, кроме желаемого значения, где / заменяется на # для лучшей читаемости:
s#\s*<[^>]*>\s*##gp
\s* - включает в себя белые пробелы, если они существуют (то же самое в конце) <[^>]*> представляет <xml_tag> как альтернативную причину отсутствия жадного регулярного выражения <.*?> работа для sed g - заменяет все, например, закрытие xml </xml_tag> тега
Источник @vldbnc
Я не знаю, какой способ отключить каналы 5 гц от вашего беспроводного устройства. Возможно, мы могли бы изучить код драйвера и вывести его в конечном итоге.
Однако вы заинтересованы в быстром решении, потому что «... я, вероятно, собираюсь перестроить всю свою установку ...».
Network Manager включает в себя метод игнорирования некоторых устройств. Я предлагаю вам запустить:
sudo iwlist scan
Найти MAC-адрес точек доступа 5 ГГц. Вот пример проверки с моей машины в качестве примера:
wlp3s0 Scan completed :
Cell 01 - Address: XX:2B:B0:DC:45:XX
Channel:149
Frequency:5.745 GHz (Channel 149)
Quality=60/70 Signal level=-50 dBm
Encryption key:on
ESSID:"GBR5"
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s
36 Mb/s; 48 Mb/s; 54 Mb/s
Mode:Master
После того, как у вас есть список, затем отредактируйте /etc/NetworkManager/NetworkManager.conf, чтобы добавить новую строку:
unmanaged-devices=mac:xx:2b:b0:dc:45:xx
Вы должны добавить все устройства, которые вы хотите игнорировать, разделенные полуколониями. Вот пример из man-страницы:
unmanaged-devices=mac:00:22:68:1c:59:b1;mac:00:1E:65:30:D1:C4
Я отмечаю, что, по-видимому, не имеет значения, являются ли адреса верхними или нижними.
После редактирования, перезапустите NM :
sudo service network-manager restart
Любое улучшение?
Я не знаю, какой способ отключить каналы 5 гц от вашего беспроводного устройства. Возможно, мы могли бы изучить код драйвера и вывести его в конечном итоге.
Однако вы заинтересованы в быстром решении, потому что «... я, вероятно, собираюсь перестроить всю свою установку ...».
Network Manager включает в себя метод игнорирования некоторых устройств. Я предлагаю вам запустить:
sudo iwlist scan
Найти MAC-адрес точек доступа 5 ГГц. Вот пример проверки с моей машины в качестве примера:
wlp3s0 Scan completed :
Cell 01 - Address: XX:2B:B0:DC:45:XX
Channel:149
Frequency:5.745 GHz (Channel 149)
Quality=60/70 Signal level=-50 dBm
Encryption key:on
ESSID:"GBR5"
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s
36 Mb/s; 48 Mb/s; 54 Mb/s
Mode:Master
После того, как у вас есть список, затем отредактируйте /etc/NetworkManager/NetworkManager.conf, чтобы добавить новую строку:
unmanaged-devices=mac:xx:2b:b0:dc:45:xx
Вы должны добавить все устройства, которые вы хотите игнорировать, разделенные полуколониями. Вот пример из man-страницы:
unmanaged-devices=mac:00:22:68:1c:59:b1;mac:00:1E:65:30:D1:C4
Я отмечаю, что, по-видимому, не имеет значения, являются ли адреса верхними или нижними.
После редактирования, перезапустите NM :
sudo service network-manager restart
Любое улучшение?