Portál AbcLinuxu, 10. května 2025 05:07

Dotaz: Jak vybrat awkckem nebo treba grepem cast textu

31.5.2006 16:26 awk
Jak vybrat awkckem nebo treba grepem cast textu
Přečteno: 102×
Odpovědět | Admin
Mám text např.:
gsdfgsdf
gdfgsd
první
....
další
54646
fasdfa
konec
fasd
fasdf
asf4564
a potřebuju vybrat text od první až po konec
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

David Watzke avatar 31.5.2006 16:43 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Jak vybrat awkckem nebo treba grepem cast textu
Odpovědět | | Sbalit | Link | Blokovat | Admin
grep -A 999999999 první ok
:-D
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
31.5.2006 17:54 awk
Rozbalit Rozbalit vše Re: Jak vybrat awkckem nebo treba grepem cast textu
No problém je v tom, že v tom souboru je pokaždý jiný počet řádků mezi těmi počátečními, co potřebuju vybrat, proto potřebuju přesně definovat, že začínat to bude tím a končit zase tamtím.
David Watzke avatar 31.5.2006 18:02 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Jak vybrat awkckem nebo treba grepem cast textu
Už chápu, napsal jsi po konec a mně nedošlo, že myslíš slovo "konec" :-D
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
David Šmíd avatar 31.5.2006 17:53 David Šmíd | skóre: 10 | blog: dsmid
Rozbalit Rozbalit vše Re: Jak vybrat awkckem nebo treba grepem cast textu
Odpovědět | | Sbalit | Link | Blokovat | Admin
awk '/^první$/ { tisk=1 } { if (tisk) { print } } /^konec$/ { tisk=0 }'
Jediné "intuitivní" rozhraní je bradavka. Všechno ostatní se musíte naučit. -- Bruce Ediger, o uživatelském rozhraní
31.5.2006 18:33 awk
Rozbalit Rozbalit vše Re: Jak vybrat awkckem nebo treba grepem cast textu
supr, funguje, děkudu moc.
31.5.2006 19:35 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Jak vybrat awkckem nebo treba grepem cast textu
Konečně si můžu zase něco napsat v Pythonu, tralala:
tiskni = False
for line in file('soubor'):
  line = line.strip()
  if tiskni:
    print line
    if line == 'konec': break
  else:
    if line == 'první':
      print line
      tiskni = True
A mělo by to být i efektivnější, jelikož neprochází celý soubor, ale pouze do řetězce "konec" a krom toho každý řádek porovnává pouze jednou.
31.5.2006 20:05 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Jak vybrat awkckem nebo treba grepem cast textu
Mě si vůbec nevšímejte.
f = file('soubor')
while 1:
  line = f.next().strip()
  if line == 'první': break
print line
while 1:
  line = f.next().strip()
  print line
  if line == 'konec': break
A těch neodchycených výjimek taky ne ;-)
31.5.2006 22:41 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Jak vybrat awkckem nebo treba grepem cast textu
Jak se v takovémhle případě, prosím pěkně, měří efektivita dvojího nebo jednoho porovnávání? :-D

A nevěřím, že by v gawku nešel napsat exit.
31.5.2006 23:10 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Jak vybrat awkckem nebo treba grepem cast textu
Jak se v takovémhle případě, prosím pěkně, měří efektivita dvojího nebo jednoho porovnávání? :-D
Přiznávám, že jsem ji fakt neměřil. Ale buď se porovnává jednou anebo dvakrát. To je jediná věc, kterou jsem tím chtěl sdělit.
A nevěřím, že by v gawku nešel napsat exit.
Tak to jsme dva. Ale víru bych do toho netahal ;-)
31.5.2006 22:34 Pavel1 | skóre: 33
Rozbalit Rozbalit vše Re: Jak vybrat awkckem nebo treba grepem cast textu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Na to je dobrý sed :
$ sed -n "/první/,/konec/ p" soub.txt
první
....
další
54646
fasdfa
konec
1.6.2006 12:17 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Jak vybrat awkckem nebo treba grepem cast textu
To je pěkné, to jsem neznal. Díky...
1.6.2006 14:43 miso | skóre: 36 | blog: iSCSI_initiator_howto | Praha
Rozbalit Rozbalit vše Re: Jak vybrat awkckem nebo treba grepem cast textu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Skoda, ze za tie priklady nemozem davat body (vsetci plny pocet), dik ;-)
Project Satan infects Calculon with Werecar virus

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.