множественных шаблонов с sed (regex AND или condition)

Вы пробовали:

ssh -t username@hostname /bin/sh

Также вы можете попробовать скопировать по scp отсутствующую libncursesw.so.5 на ваш удаленный компьютер.

3
14.06.2018, 09:23
1 ответ

lex(o flexen sistemas Linux )es un programa que toma una especificación de escáner/lexer y la convierte en un programa C. Su especificación de escáner es de naturaleza similar a un programa awk, pero donde awkestá orientado a registros, lexestá "orientado a caracteres".

Usando lexcon la siguiente fuente enlexer.l:

%x OUTPUT
%%
                        int quoted = 0;

^[0-9]*[ \t]*"/test1/"  { BEGIN OUTPUT;             ECHO; }
<OUTPUT>\n              { if (!quoted) { BEGIN 0; } ECHO; }
<OUTPUT>[^\\]["]        { quoted = !quoted;         ECHO; }
<OUTPUT>.               {                           ECHO; }
.|\n                    ;

Este escáner utiliza un estado OUTPUTpara realizar un seguimiento de si queremos que se emitan los caracteres actuales o no. Entramos en este estado con BEGIN OUTPUTcuando encontramos una línea que se parece a

<number>  /test1/

(esto es manejado por la primera regla ). Salimos de este estado cuando finaliza una línea y actualmente no estamos escaneando una cadena entre comillas (, esto lo maneja la segunda regla ).

Una cadena entre comillas se inicia y finaliza con un -carácter escapado "(la tercera regla ). Todos los demás caracteres se pasan tal cual sin acción (la cuarta regla ).

Mientras no esté en el estado OUTPUT, ignoramos todo (la última regla ).

Tenga en cuenta que este es un escáner improvisado escrito para sus datos particulares. No maneja cadenas entre comillas que terminan con una barra invertida escapada ("some data \\"), pero funciona con los datos que ha mostrado.

Construyéndolo:

$ make lexer
lex  -o lex.lexer.c lexer.l
cc -O2 -pipe    -o lexer lex.lexer.c  -ll
rm -f lex.lexer.c

(en Linux, cuando se usa flex,puede que tenga que utilizarmake lexer LDLIBS=-ll)

Usarlo:

$./lexer <file
20  /test1/catergory="Food"
20  /test1/target="Adults, \"Goblins\", Elderly,
Babies, \"Witch\",
Faries"
20  /test1/type="Western"
20  /test1/end=category
20  /test1/Purpose=
20  /test1/my_purpose="To create
a fun-filled moment"
20  /test1/end=Purpose
5
27.01.2020, 21:15

Теги

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