Отредактировано: добавлена установка и демонстрация
Необходимо учесть по крайней мере некоторые краевые случаи, такие как
Яблоко
. ((a + b) + c)
(повторяющиеся открывающие скобки. тезис
Все я рекомендую pcregrep
решение:
pcregrep -Min --color=auto '\b([^[:space:]]+)[[:space:]]+\1\b' file
Очевидно, цвет и номер строки ( n
опция) является необязательным, но обычно приятно иметь.
На дистрибутивы на основе Debian можно установить через:
$ sudo apt-get install pcregrep
Выполните команду на jefferson _ typo.txt
, чтобы увидеть:
$ pcregrep -Min --color=auto '\b([^[:space:]]+)[[:space:]]+\1\b' jefferson_typo.txt
1:He has has refused his Assent to Laws, the most wholesome and necessary
3:He has forbidden his Governors to pass Laws of immediate and
and pressing importance, unless suspended in their operation till his
5:Assent should be be obtained; and when so suspended, he has utterly
Приведенное выше является просто захватом текста, но на поддерживаемом цветом терминале совпадения окрашиваются:
-121--58134-
При условии, что существует менее 999 999 строк:
grep -A 999999 '19/Jan/2016:22:' access_log
Но это было бы лучшим решением, так как это не ограничивает количество строк после матча:
sed -n '/19\/Jan\/2016:22:/,$p' access_log
-121--52715-
используйте sed вместо
sed -n '\#19/Jan/2016:22:#,${//p}' access.log
, где
является подэкспрессией, которое требуется найти в строках после 19/Jan/2016: 22:
Что вам нужно, так это маршрутизация на основе политик. См.man ip-rule
Настройте правило для соответствия маршрутизатору 2
ip rule add from router2 table 200
Настройте маршрут для этого правила, который указывает на правильный шлюз. $GATEWAY
должен быть шлюзом по умолчанию или маршрутизатором 1 перед запуском VPN.
ip route add default via $GATEWAY table 200