abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 12:00 | Zajímavý projekt

Projekt Termbox umožňuje vyzkoušet si linuxové distribuce Ubuntu, Debian, Fedora, CentOS a Arch Linux ve webovém prohlížeči. Řešení je postaveno na projektu HyperContainer. Podrobnosti v často kladených dotazech (FAQ). Zdrojové kódy jsou k dispozici na GitHubu [reddit].

Ladislav Hagara | Komentářů: 7
dnes 11:00 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě CVE-2016-8655 v Linuxu zneužitelné k lokální eskalaci práv. Chyba se dostala do linuxového jádra v srpnu 2011. V upstreamu byla opravena minulý týden [Hacker News].

Ladislav Hagara | Komentářů: 0
včera 22:00 | Komunita

Přibližně před měsícem bylo oznámeno, že linuxová distribuce SUSE Linux Enterprise Server (SLES) běží nově také Raspberry Pi 3 (dokumentace). Obraz verze 12 SP2 pro Raspberry Pi 3 je ke stažení zdarma. Pro registrované jsou po dobu jednoho roku zdarma také aktualizace. Dnes bylo oznámeno, že pro Raspberry Pi 3 je k dispozici také nové openSUSE Leap 42.2 (zprávička). K dispozici je hned několik obrazů.

Ladislav Hagara | Komentářů: 5
včera 06:00 | Zajímavý software

OMG! Ubuntu! představuje emulátor terminálu Hyper (GitHub) postavený na webových technologiích (HTML, CSS a JavaScript). V diskusi k článku je zmíněn podobný emulátor terminálu Black Screen. Hyper i Black Screen používají framework Electron, stejně jako editor Atom nebo vývojové prostředí Visual Studio Code.

Ladislav Hagara | Komentářů: 38
včera 06:00 | Zajímavý článek

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2016 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2016. Kalendáře Perl Advent Calendar 2016 a Perl 6 Advent Calendar přinášejí každý den zajímavé informace o programovacím jazyce Perl. Stranou nezůstává ani programovací jazyk Go.

Ladislav Hagara | Komentářů: 9
3.12. 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 17
3.12. 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 25
2.12. 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 18
2.12. 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 6
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 775 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: nahrazeni prvnich x vyrazu jinym vyrazem

27.5.2005 15:15 Tomas Hrobarik | skóre: 4
nahrazeni prvnich x vyrazu jinym vyrazem
Přečteno: 76×
Zdravim vsechny, potreboval bych nahradit v jednom soubore prvnich x vyrazu jinym vyrazem. zkousel jsem
sed 's/vyraz1\{x\}/vyraz2/g'
ale to nefunguje. Nevite mi nekdo prosim poradit. diky

Odpovědi

27.5.2005 15:27 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
\{x\} má vyšší prioritu než konkatenace, viz info sed, man grep atd.
sed 's/\(vyraz1\)\{x\}/vyraz2/g'
27.5.2005 15:35 Tomas Hrobarik | skóre: 4
Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
sed 's/\(vyraz1\)\{x\}/vyraz2/g' nepomohlo, resp. nic nezamenilo. V cem je problem?
27.5.2005 15:47 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
Zkus napsat, co opravdu nahrazuješ, ne vyraz1 a x, protože bota bude někde jinde; co napsal twofish, to funguje.
27.5.2005 15:55 Tomas Hrobarik | skóre: 4
Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
napsal jsem sed 's/\(Na\)\{45\}/ K/g' ala10_nacl.pdb > pokus
27.5.2005 16:07 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
Hm, možná jsem teprve pochopil, co chceš. Sed umí opak, tj. nahradit výskyty až od nějakého, a nahradit konkrétní výskyt, ale nahradit prvních n AFAIK snadno nejde. Lze to udělat např.

sed '-e s/výraz/náhrada/'{,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,}

kde těch čárek je n-1. Ovšem pouze v případě, kdy náhrady nemohou vytvořit nová místa, kde se výraz matchne.
27.5.2005 16:25 Tomas Hrobarik | skóre: 4
Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
Ja netvrdim aby to byl striktne sed. Ale verim, ze existuje nejaky programek, ktery dokaze to co prave potrebuji a to je nahradit v souboru prvnich 45 vyrazu Na za vyraz K. btw.
sed '-e s/výraz/náhrada/'{,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,}
mi taky nepomohlo bez ohlkadu na pocet carek
27.5.2005 16:45 Tomas Hrobarik | skóre: 4
Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
pro lepsi nazornost prikladam ukazku souboru ktery chci zmenit
ATOM  15040  Na   Na  5012      36.160  49.470  53.120  1.00  0.00
ATOM  15041  Na   Na  5013      24.520  52.110  42.150  1.00  0.00
ATOM  15042  Na   Na  5014      51.240   1.070  22.880  1.00  0.00
ATOM  15043  Na   Na  5015      51.240   1.070  41.500  1.00  0.00
ATOM  15044  Na   Na  5016       0.710  52.110  11.040  1.00  0.00
ATOM  15045  Na   Na  5017      37.510  53.200  19.790  1.00  0.00
ATOM  15046  Na   Na  5018       1.610  47.900  27.350  1.00  0.00
ATOM  15047  Na   Na  5019      43.140  52.110  23.530  1.00  0.00
ATOM  15048  Na   Na  5020      37.510  53.200  38.410  1.00  0.00
ATOM  15049  Na   Na  5021       1.610  47.900  45.970  1.00  0.00
ATOM  15050  Na   Na  5022      43.140  52.110  42.150  1.00  0.00
ATOM  15051  Cl   Cl  5023      10.130   1.050  17.700  1.00  0.00
ATOM  15052  Cl   Cl  5024       9.030   0.860   1.330  1.00  0.00
ATOM  15053  Cl   Cl  5025       3.900  17.410  15.600  1.00  0.00
ATOM  15054  Cl   Cl  5026       8.590  13.740   0.160  1.00  0.00
ATOM  15055  Cl   Cl  5027      10.010  53.925  11.540  1.00  0.00
ATOM  15056  Cl   Cl  5028      10.130   1.050  36.320  1.00  0.00

27.5.2005 16:59 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
Od oka by na tohle asi bylo jednodušší použít awk
27.5.2005 17:29 Tomas Hrobarik | skóre: 4
Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
a mohl bys mi poradit nejaky skript. Ja to zas az tak neovladam.
27.5.2005 18:55 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
{
  if (n < 45)
    n += gsub(/a/, "ble")
  print
}
Teda nic moc, protože se na řádku, kde to překročí 45 výskytů, nahradí všechny. Lze se tomu vyhnout, ale sehlaly mi už tři teorie, co vlastně chceš, takže se nebudu pouštět do větších akcí...
27.5.2005 19:02 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
Něco na způsob
awk '{while (i < 45 && sub("Na", " K")) i++; print; }'
sub() vrací 1 pokud se provedla substituce. Má to zase ten problém, že náhrada nesmí jít nahradit podruhé.
27.5.2005 19:05 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
Pakliže víš, co chce, já vím, jak to řešit správně ;-)
27.5.2005 19:10 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
_Algoritmus_, jak to řešit správně, vím, nevím jak to _úsporně_ zapsat v awku... :-|
27.5.2005 19:32 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
Hm, OK, nejlepší, na co jsem přišel, používalo gsub() + půlení intervalu na substituci posledních výskytů, aby jich bylo správně 45.

No, než to Pichi napíše v dc, tak Python:
#/usr/bin/python
import re, sys

r = re.compile(r'vyraz')
repl = 'replacement'
m = 13

n = 0
for line in sys.stdin:
    if n < m:
        i = len(r.findall(line))
        line = r.sub(repl, line, max(i + n - m, 0))
        n += i
    sys.stdout.write(line)
27.5.2005 19:49 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
s/13/45/
30.5.2005 11:51 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
dc na řetězce není nic moc. Uvažoval bych o perlu :-)
perl -pe 'next if $a>45; while ($a++ <45 and s/vyraz/replacement/){};'
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
30.5.2005 11:55 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
Nebo prakticky totéž
perl -pe 'next if $a>=45; while ($a++ <45 and s/vyraz/replacement/){};
a nebo
perl -pe 'next unless $a<45; while ($a++ <45 and s/vyraz/replacement/){};
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
30.5.2005 12:16 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
To by tady fungovalo. Ale když jsem chtěl, aby se to chovalo korektně, i když replacement může vytvořit nová místa, kde matchne vyraz, skončil jsem u Pythonu.
30.5.2005 12:45 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
Jojo. Máš pravdu. Tohle se v perlu moc elegantně nedělá. Nicméně v zadání takový požadavek není. Krom toho jsem si to přes oběd nechal trohu projít lavou a mám tam dost blbou chybu a asi už trpím stařeckou demencí (ve 30) a nejsem schopen opustit myšlenku - next. Takže snad na čtvrtý pokus
perl -pe '$a++ while $a<45 and s/vyraz/replace/'
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
30.5.2005 13:30 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
Elegance se poněkud vytrácí, ale jde to.
perl -pe '$l=0; while($a<45 and substr($_,$l) =~ s/vyraz/replace/){$a++; $l=length($_)-length($'\'')}'
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
27.5.2005 19:47 Tomas Hrobarik | skóre: 4
Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
Diky. Moc jste mi pomohli. Btw. nevite o nejaky dobry strance na webu s tutorialama jak psat skripty?
31.5.2005 13:44 tomas
Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem

Hodně skriptů pro práci s PDB soubory je napsáno v Perlu. I původní PDB databáze z BNL byla napsána z 90% v Perlu. Při zpracování PDB souborů se lítají regulárními výrazy jen za druhým a Perl je v tomto prvotřídní.

Co se týče otázky tutoriálu Perlu bych zkusil třeba tady:

http://docs.linux.cz/programming/interpreted/perl/

nebo si vyberte ve studnici vědění

google: perl tutorial site:cz
google: perl pdb basic
http://www.perlmol.org/ ...

tj

Založit nové vláknoNahoru

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

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.