Утилита для получения из списка и запуска (уникальной) команды для каждого элемента

Сделал это, используя противоположную идею - маршрутизировал всех, кроме "прямого" пользователя, на vpn вместо того, чтобы направлять прямого пользователя на интерфейс wlan. IP-адреса VPN-сети статичны

for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done
echo 1 > /proc/sys/net/ipv4/route/flush

iptables -t mangle -A OUTPUT -m owner ! --uid-owner direct2net -j MARK --set-mark 42
iptables -t mangle -A OUTPUT -d (vpn ip) -j MARK --set-mark 0

iptables -t nat -A POSTROUTING -m mark --mark 42 -j SNAT --to-source (local ip in vpn's network)

ip rule add fwmark 42 table 42
ip route add default via (vpn network gateway) dev tun0 table 42
0
09.03.2018, 12:24
1 ответ

«Правильный» инструмент для запуска команды в серии строк из стандартного ввода (или где-либо еще )— этоxargs:

grep error log.txt | xargs -r -d\\n -n 1 bash -c 'echo ${0:20:10}'

Однако в вашем примере действительно лучше использоватьcut:

grep error log.txt | cut -c21-30
3
28.01.2020, 02:24

Теги

Похожие вопросы