Рабочая станция Fedora 30 ломает маршрутизатор Wi-Fi

Al reemplazar $1también reemplaza la parte inicial de$10(y $11, y $12etc. ). $1se reemplaza por var1, por lo que $10se reemplaza porvar10(var1y el sobrante 0de$10).

Debe ser más específico con su expresión regular para que solo coincida con el número específico que le preocupa, y nada más.

Hay dos formas de hacerlo correctamente:

  1. Modificar la expresión regular en la sustitución para que coincida con lo correcto (difícil ).
  2. Primero haga coincidir las cadenas más largas, por ejemplo, sustituyéndolas en el orden de $10a $1en lugar de $1a$10(o cualquiera que sea la cantidad de variables que tenga ).

Uso de la segunda opción:

awk 'NR == FNR { split($0, vars, "|"); next }
     { for (i = length(vars); i >= 1; --i) gsub("\\$" i, vars[i]) } 1' debug-replace-value debug-form-letter

Para los textos dados, esto genera

The first field is var1, the second var2, the third var3,
the 10th field is varA,but  the 10th correct value  is varA.
1
01.08.2019, 18:59
1 ответ

Это оказался известный DDoS-вирус, как описано здесь:

https://superuser.com/questions/863997/ddos-virus-infection-as-a-unix-service-on-a-debian-8-vm-webserver

0
28.01.2020, 00:05

Теги

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