Portál AbcLinuxu, 14. července 2025 08:43


Dotaz: bash vypsani znaku

petka avatar 15.1.2011 20:55 petka | skóre: 25 | blog: heydax | Klasterec N/O
bash vypsani znaku
Přečteno: 353×
Odpovědět | Admin

Zrovna ted tu resim urcite jednoduchou vec , ale nedari se mi pres awk grep nebo sed separovat urcitiy radek .

Konkretne potrebuju vypsat slovo , ale pokud se v souboru vyskytuje to same slovo , ale s dalsim pridavkem tak se vypisou oba radky . Jde mi o to aby se vypsalo konkretni slovo ne slovo spojene s dalsim slovem .

Priklad budu chitit vypsat radek se slovem karel , ale v souboru budu mit dalsi slovo karlovo , tak se vypisou oba radky . Ale me jde jen o radek kde se vyskytuje jen karel a ne i karlovo .

Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...

Řešení dotazu:


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

Odpovědi

15.1.2011 21:13 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
Rozbalit Rozbalit vše Re: bash vypsani znaku
Odpovědět | | Sbalit | Link | Blokovat | Admin
Já asi nerozumím Vašemu dotazu, protože regulérní výraz "karel" v grep karel <soubor> určitě nebude vyhovovat řádku, kde je pouze "karlovo", ale ne "karel". Nebo Vám jde o to, vypsat řádky, které obsahují karel, ale neobsahují karlovo. Mohl byste možná zkusit popsat daný problém ještě jednou?
http://prirucka.ujc.cas.cz/?ref=785&id=790.
petka avatar 15.1.2011 21:24 petka | skóre: 25 | blog: heydax | Klasterec N/O
Rozbalit Rozbalit vše Re: bash vypsani znaku

Omlovam se nedoslo mi to , tak znovu budu mit slovo karel a dalsi slovo treba karelovo .

Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
Řešení 1× (buff)
15.1.2011 21:49 pavel
Rozbalit Rozbalit vše Re: bash vypsani znaku
grep -w "karel"
15.1.2011 21:56 Miklik | skóre: 27 | Krnov
Rozbalit Rozbalit vše Re: bash vypsani znaku
Jo, tohle je lepší, než to co jsem napsal níže.
Netvrdím to, ale možná je to pravda.
petka avatar 16.1.2011 09:27 petka | skóre: 25 | blog: heydax | Klasterec N/O
Rozbalit Rozbalit vše Re: bash vypsani znaku

Nefunguje pokud retezec obsahuje tecku . Priklad 'karel' a 'novy.karel' , vypise oba radky . S tim grep to byla jedna z prvnich moznosti co jsem zkousel .

Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
16.1.2011 13:54 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: bash vypsani znaku
No lze to napsat i zběsile, ale lehce čitelně nebo stašně nečitelně /podle toho kdo se dívá/ (dělené na konci či začátku řádku nebo ‚bílým znakem‘):
grep -E '^karel$|\skarel$|^karel\s|\skarel\s' file
Pak tu máme další (rozumnější) možnosti (jen konec/začáte/mezera)
grep -E '(^| )karel($| )'
či (jen konec/začáte/‚bílý znak‘)
grep -E '(^|\s)karel($|\s)' file
či (jen konec/začáte/.‘)
grep -E '(^|\.)karel($|\.)' file
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
15.1.2011 21:55 Miklik | skóre: 27 | Krnov
Rozbalit Rozbalit vše Re: bash vypsani znaku
grep " karel " soubor

Je třeba dát na začátek a konec mezeru.Ale bude to třeba napsat lépe, protože na začátku výrazu může být buď mezera a nebo začátek řádku a na konci mezera a nebo konec řádku. Mělo by to být něco s [] závorkami.
Netvrdím to, ale možná je to pravda.

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.