Это сделает то, что вы хотите:
wget -qO- http://website.com/site/ | \
sed -n -e "/^ *file: */ { s/^ *file: *'//; s/', *$//p}" > output.txt
Решение было комбинацией вещей, частично вдохновленных этим .
правило udev
# Lawicel CANUSB module
ACTION=="add", ENV{ID_MODEL}=="CANUSB", ENV{SUBSYSTEM}=="tty", RUN+="/usr/local/bin/slcan_add_wrapper.sh $kernel"
slcan _добавить _wrapper.sh
#!/bin/sh
# Call shell script binding can device
/usr/bin/logger "[udev] Lawicel CANUSB detected - running /usr/local/bin/slcan_add.sh on $1"
echo /usr/local/bin/slcan_add.sh $1 | at now
slcan _доп.ш
#!/bin/sh
# Bind the USBCAN device
sleep 1
/usr/bin/logger "binding $1 to slcan0"
slcand -o -c -f -s6 /dev/$1 slcan0
sleep 2
ifconfig slcan0 up
Решение сочетает в себе использование at
для того, чтобы udev не убивал скрипт из-за слишком долгой работы, а также немного волшебства sleep
в начале slcan_add.sh
. Запуск slcan_add.sh
из терминала вручную работает без сна, но по какой-то причине правило udev отказывается без сна, я не знаю почему, и я не хочу больше устранять эту проблему.
Если кто-то найдет более чистое решение, я приму его.