Portál AbcLinuxu, 15. července 2025 03:00


Dotaz: slucovani 2 radku do sebe-awk,shell

25.1.2007 09:32 Terka | skóre: 13
slucovani 2 radku do sebe-awk,shell
Přečteno: 161×
Odpovědět | Admin
prosim o pomoc se skriptem

zdroj:

            ako          df        a#
asdfaf asdfasdf sad adsf asdf af a fasdf as

---------------------------------------------------
chci u vsech radku co obsahuji na konci #
zamenit prazdne mezery obsahem z nasledujiciho radku

            ako          df        a#(tady uz mezery nejsou)
      ^             ^         ^
      |             |         |
      |             |         |
asdfaf asdfasdf sad adsf asdf af a fasdf as

vysledek:
asdfaf asdfaako sad adsf dfdf af a a#
asdfaf asdfasdf sad adsf asdf af a fasdf as

diky,
Terka
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

25.1.2007 10:48 ams | skóre: 10
Rozbalit Rozbalit vše Re: slucovani 2 radku do sebe-awk,shell
Odpovědět | | Sbalit | Link | Blokovat | Admin
/#$/ {
        s1 = $0;           # prvni radek (koncici #)
        getline; s2 = $0 ; # druhy radek
        s = "";            # vysledek
        for ( i=1; i<=length(s1) ; i++ ) {
                if ( substr(s1,i,1) == " " ) {
                        s = s substr(s2,i,1);
                } else {
                        s = s substr(s1,i,1);
                }
        }
        print s;
        print s2;
}
25.1.2007 15:13 Terka | skóre: 13
Rozbalit Rozbalit vše Re: slucovani 2 radku do sebe-awk,shell
diky, funguje to pekne, projedu to ad to poradne pochopim
25.1.2007 15:34 Terka | skóre: 13
Rozbalit Rozbalit vše Re: slucovani 2 radku do sebe-awk,shell
Jo chapu, kdyz se to cte, je to docela jednoduche. Pridava po znaku do retezce s a znak bere z s1 nebo z s2. Zkousela jsem to delat pres urceni pozice non-white znaku a nahrady cele dlouhe mezery z dalsiho radku, ale tohle je jednodussi. Diky, T.
29.1.2007 16:23 Terka | skóre: 13
Rozbalit Rozbalit vše Re: slucovani 2 radku do sebe-awk,shell
A šlo by vytisknout všechny řádky, nejen ty pozměněné?
29.1.2007 16:25 Terka | skóre: 13
Rozbalit Rozbalit vše Re: slucovani 2 radku do sebe-awk,shell
zdroj:

ako df a# asdfaf asdfasdf sad adsf asdf af a fasdf as af asfas fasfa s fasfas fasf asdf asfas f asdfadsdf asdf asfas fasf asfas fasf asf as

--------------------------------------------------- chci u vsech radku co obsahuji na konci # zamenit prazdne mezery obsahem z nasledujiciho radku

ako df a#(tady uz mezery nejsou) ^ ^ ^ | | | | | | asdfaf asdfasdf sad adsf asdf af a fasdf as

vysledek: asdfaf asdfaako sad adsf dfdf af a a# asdfaf asdfasdf sad adsf asdf af a fasdf as af asfas fasfa s fasfas fasf asdf asfas f asdfadsdf asdf asfas fasf asfas fasf asf as diky, Terka
29.1.2007 16:27 Terka | skóre: 13
Rozbalit Rozbalit vše Re: slucovani 2 radku do sebe-awk,shell
tak jeste jednou

zdroj:

            ako          df        a#
asdfaf asdfasdf sad adsf asdf af a fasdf as
asdfas fasd fasdf asfasf asdfa sdfas fas
a sdfa sdfdasf asfdas fads fasdfasfasd fa
a sdfas fafas fasdf asdfasd fasdf asf

---------------------------------------------------
chci u vsech radku co obsahuji na konci #
zamenit prazdne mezery obsahem z nasledujiciho radku

            ako          df        a#(tady uz mezery nejsou)
      ^             ^         ^
      |             |         |
      |             |         |
asdfaf asdfasdf sad adsf asdf af a fasdf as
asdfas fasd fasdf asfasf asdfa sdfas fas
a sdfa sdfdasf asfdas fads fasdfasfasd fa
a sdfas fafas fasdf asdfasd fasdf asf

vysledek:
asdfaf asdfaako sad adsf dfdf af a a#
asdfaf asdfasdf sad adsf asdf af a fasdf as
asdfas fasd fasdf asfasf asdfa sdfas fas
a sdfa sdfdasf asfdas fads fasdfasfasd fa
a sdfas fafas fasdf asdfasd fasdf asf

diky,
Terka


29.1.2007 16:39 Terka | skóre: 13
Rozbalit Rozbalit vše Re: slucovani 2 radku do sebe-awk,shell
{
    if ($0~/#$/)
        {s1 = $0;           # prvni radek (koncici #)
        getline; s2 = $0 ; # druhy radek
        s = "";            # vysledek
        for ( i=1; i<=length(s1) ; i++ ) {
                if ( substr(s1,i,1) == " " ) {
                        s = s substr(s2,i,1);
                } else {
                        s = s substr(s1,i,1);
                }
        }
        print s;
        print s2}
     else
        {print}
}

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.