opensuse
[Arriba] [Todas las Listas]

Re: [opensuse] Java Asistencia de guión (ligeramente OT)

To: opensuse@xxxxxxxxxxxx
Subject: Re: [opensuse] Java Asistencia de guión (ligeramente OT)
From: David Haller <dnh@xxxxxxxxxxxx>
Date: Tue, 20 Sep 2011 05:21:19 +0200
Delivered-to: opensuse@xxxxxxxxxxxxxxxxxxx
Delivery-date: Mon, 19 Sep 2011 23:42:39 -0400
Envelope-to: traductor@xxxxxxxxxxx
In-reply-to: <j57i0j$qqp$1@saturn.local.net>
List-archive: <http://lists.opensuse.org/opensuse/>
List-help: <mailto:opensuse+help@opensuse.org>
List-owner: <mailto:opensuse+owner@opensuse.org>
List-post: <mailto:opensuse@opensuse.org>
List-subscribe: <mailto:opensuse+subscribe@opensuse.org>
List-unsubscribe: <mailto:opensuse+unsubscribe@opensuse.org>
Mail-followup-to: opensuse@xxxxxxxxxxxx
Mailing-list: contact opensuse+help@xxxxxxxxxxxx; run by mlmmj
Organization: What?
References: <201109182047.49943.p.nikolic1@btinternet.com> <j56tpt$p9h$1@saturn.local.net> <201109191435.18504.p.nikolic1@btinternet.com> <j57i0j$qqp$1@saturn.local.net>
User-agent: Mutt/1.5.21 (2010-09-15)
Hola,

En *Mon, 19 *Sep 2011, Por *Jessen escribió:
>*sed -*e/\#unknown{^*n/#unknown{^*g' -*e *s'/}/}\*n/*g' -*e *s'/;/;\*n/*g' <*filename
>
>(todavía no seguro si necesitas huir el *curly *brackets).

Tú  no, cuando *sed utiliza expresiones regulares básicas (ve 'hombre 7 *regex'),
así que necesitas huir {} para conseguir "comportamiento" especial (si cualquier).

Y no necesitas para utilizar -*e para cada expresión, justo uso:

    *sed -*e/\#unknown{^*n/#unknown{^*g; *s/}/}\*n/*g; *s/;/;\*n/*g' <*filename

o más *readble:

    *sed -*e/\#unknown{^*n/#unknown{^*g;
            *s/}/}\*n/*g;
            *s/;/;\*n/*g' <*filename

*Albeit, hay algunos casos raros donde necesitas para utilizar '-*e'
tiempo múltiple, *IIRC cuándo una expresión tiene que trabajar en el resultado(!)
De una expresión anterior, pero aparentemente *GNU *sed 4.2.1 tiene que
fijo.

Oh, y *JFTR: no cada *sed mangos '\*n'! *E.*g. *GNU *sed Arriba de hasta que hace
unos cuantos años (al menos #uno 10*yr viejo uno  no). En aquellos casos, tienes que
*embed el (enmascarado por *backslash) *linebreaks literalmente:

    *sed -*e/\
{/#unknown{^*g;
            *s/}/}\
/*g;
            *s/;/;\
/*g' <*filename

*BTW: prefiero el *linebreak después del '#default{^' de un bloque, *i.*e.:

    *sed -*e/{\#unknown{^*n/*g; *s/}/}\*n/*g; *s/;/;\*n/*g'

*HTH,
-*dnh

-- 
*Unsubscribing de un *mailing te lista *subscribed a es una prueba de IQ
básica para usuarios de Internet.
                    -- Autor *unknown, visto en el PCR-1000 lista
-- 
A *unsubscribe, *e-correo: *opensuse+unsubscribe@xxxxxxxxxxxx
Puesto que órdenes adicionales, *e-correo: *opensuse+help@xxxxxxxxxxxx


Hello,

On Mon, 19 Sep 2011, Per Jessen wrote:
>sed -e 's/{/\n{/g' -e s'/}/}\n/g' -e s'/;/;\n/g' <filename
>
>(still not sure if you need to escape the curly brackets).

You don't, as sed uses basic regular expressions (see 'man 7 regex'),
so you need to escape {} to get "special" behaviour (if any).

And you don't need to use -e for each expression, just use:

    sed -e 's/{/\n{/g; s/}/}\n/g; s/;/;\n/g' <filename

or more readble:

    sed -e 's/{/\n{/g;
            s/}/}\n/g;
            s/;/;\n/g' <filename

Albeit, there are some rare cases where you do need to use '-e'
multiple times, IIRC when one expression has to work on the result(!)
of a previous expression, but apparently GNU sed 4.2.1 has got that
fixed.

Oh, and JFTR: not every sed handles '\n'! E.g. GNU sed up until a few
years ago (at least a 10yr old one didn't). In those cases, you have
to embed the (masked by backslash) linebreaks literally:

    sed -e 's/{/\
{/g;
            s/}/}\
/g;
            s/;/;\
/g' <filename

BTW: I prefer the linebreak after the '{' of a block, i.e.:

    sed -e 's/{/{\n/g; s/}/}\n/g; s/;/;\n/g'

HTH,
-dnh

-- 
Unsubscribing from a mailing list you subscribed to is a basic IQ
test for Internet users.
                    -- Author unknown, seen on the PCR-1000 list
-- 
To unsubscribe, e-mail: opensuse+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse+help@xxxxxxxxxxxx


<Anterior por Tema] Tema Actual [Siguiente por Tema>