Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: BASH - praca z textom [vyřešeno]  (Přečteno 3772 krát)

Peterx

  • Aktivní člen
  • *
  • Příspěvků: 403
BASH - praca z textom [vyřešeno]
« kdy: 20 Srpna 2009, 09:56:43 »
Zdravim kazdeho.
Hladam nejake navody ako pracovat z BASH z textom. Ako naist nieco v texte a niekam to zapisat. Ako precitat urcity riadok, urcity znak, naist riadok a vypisat nasledujucich niekolko riadkov, precitat riadok, niekam zapisat, potom dalsi a dalsi atd...

Nenajde sa niekde nejaky manual, alebo aspon zoznam prikazov ktore si uz nastudujem?
Proste hladam nieco komplexneho.
Dik
« Poslední změna: 20 Srpna 2009, 13:58:12 od Premet »

nettezzaumana

  • Host
Re: BASH - praca z textom
« Odpověď #1 kdy: 20 Srpna 2009, 10:27:34 »

Peterx

  • Aktivní člen
  • *
  • Příspěvků: 403
Re: BASH - praca z textom
« Odpověď #2 kdy: 20 Srpna 2009, 10:32:40 »
Dik za odpoved, fajn zdroj, urcite si to nastudujem... Ale kym to nastudujem potrebujem par veci vyriesit, pre to by som uvital konkretnejsie odpovede :)

premet

  • Host
Re: BASH - praca z textom
« Odpověď #3 kdy: 20 Srpna 2009, 10:43:00 »
Dik za odpoved, fajn zdroj, urcite si to nastudujem... Ale kym to nastudujem potrebujem par veci vyriesit, pre to by som uvital konkretnejsie odpovede :)
Až si nebudeš s něčím vedět rady tak napiš a my ti pomůžem :).

Peterx

  • Aktivní člen
  • *
  • Příspěvků: 403
Re: BASH - praca z textom
« Odpověď #4 kdy: 20 Srpna 2009, 10:52:51 »
No je par veci z ktorimi si neviem pomoct :)

1 moj problem je tu:
http://forum.ubuntu.cz/index.php/topic,38443.0.html

Este by som rad zistil ako mozem precitat urcity riadok zo suboru.. nieco ako cat -riadok 5 subor.txt :)
 
A este ma trapi jedna vec.
Potrebujem spravit takyto skript:
wget http://adresa/(1 riadok zo suboru)
wget http://adresa/(2 riadok zo suboru)
wget http://adresa/(3 riadok zo suboru)... az kym su riadky

nasledne
rozbal 1 riadok zo suboru
rozbal 2 riadok zo suboru
rozbal x riadok zo suboru

atd...
Tu mi ide o to ze potrebujem stiahnut textak kde je zoznam suborov ktore ma stiahnut, nasledne rozbalit a mozno s nimi este nieco spravit.

premet

  • Host
Re: BASH - praca z textom
« Odpověď #5 kdy: 20 Srpna 2009, 11:36:05 »
Kód: [Vybrat]
sed '2!d' souborvypíše druhou řádku ze souboru

pak to můžeš třeba použít jako tar -parametry `sed '2!d' soubor` a rozbalí ti to ten druhý řádek, jako název nebo co tam z toho bereš

snad to není blbost, teprv sem vstával tak mi to moc nemyslí  ;D

Peterx

  • Aktivní člen
  • *
  • Příspěvků: 403
Re: BASH - praca z textom
« Odpověď #6 kdy: 20 Srpna 2009, 11:42:47 »
Tak toto pomohlo, uz to len zapisat nejako tak aby bral vsetky riadky napriklad takto:

X=1
parameterX=sed 'X!d' soubor
parameterX+1=sed 'X+1!d' soubor
parameterX+1+1=sed 'X+1+1!d' soubor

z tym ze ak su v subore 3 riadky tak to skonci takto:
parameterX+1+1+1=sed 'X+1+1+1!d' soubor  / cize parameter3=sed '3!d' soubor

je to mozne?

Peterx

  • Aktivní člen
  • *
  • Příspěvků: 403
Re: BASH - praca z textom
« Odpověď #7 kdy: 20 Srpna 2009, 13:17:41 »
Niekto pridal odpoved, ale mne sa nezobrazuje, neviem preco...
Odpoved bola tato:
"
Splácal sem něco takovýho, vypadá to, že to funguje tak vyzkoušej
Kód:
Kód: [Vybrat]
#!/bin/bash

i=5

for x in foo{1,2,3,4,5}
    do
       x=$(sed "${i}!d" soubor)
       echo $x ## tady si dej operaci jakou chceš, já sem to jenom tiskl ten řádek
       i=$((i+1))
done
"

Je to fajn len ma trapi tento riadok:
for x in foo{1,2,3,4,5}
musim tam totiz napisat kazdy riadok z ktorim to ma vykonat, avsak ja dopredu neviem kolko ich bude.
Ja by som to potreboval napisat tak aby to proste na poslednom riadku skoncilo. ci ich je 100, alebo len 5.

premet

  • Host
Re: BASH - praca z textom
« Odpověď #8 kdy: 20 Srpna 2009, 13:20:07 »
Jo to sem psal já, ale je to blbost, nefunguje to tak jak sem to myslel a chtěl.

Možná něco takovýho
Kód: [Vybrat]
#!/bin/bash

for x in $(seq 1 $(wc -l soubor | awk '{print $1}'))
    do
       foo=$(sed "${x}!d" soubor)
       echo $foo ## tady si dej operaci jakou chceš, já sem to jenom tiskl ten řádek
done

snad to aspon trochu pomůže, nebo tě to přiblíží k tomu co chceš, já teď mizím tak když tak pomůže někdo jinej nebo večer. BBT určitě přijde s něčím lepším jak ho znám :)
« Poslední změna: 20 Srpna 2009, 13:30:32 od Premet »

Peterx

  • Aktivní člen
  • *
  • Příspěvků: 403
Re: BASH - praca z textom
« Odpověď #9 kdy: 20 Srpna 2009, 13:29:21 »
To asi budem potrebovat dalsiu radu :)

premet

  • Host
Re: BASH - praca z textom
« Odpověď #10 kdy: 20 Srpna 2009, 13:32:01 »
To asi budem potrebovat dalsiu radu :)
Počkej až přijde Bad Batz Maru (nebo jak si to NTZ píše), určitě něco vymyslí  ;).

premet

  • Host
Re: BASH - praca z textom
« Odpověď #11 kdy: 20 Srpna 2009, 13:37:14 »
Hehe a já tady plácám takový ty, ale v tvojím případě by to šlo nejspíš aj způsobem
Kód: [Vybrat]
cat soubor | while read line; do echo $line; donesamozřejmě místo echo $line můžeš dát jakoukoliv akci

Peterx

  • Aktivní člen
  • *
  • Příspěvků: 403
Re: BASH - praca z textom
« Odpověď #12 kdy: 20 Srpna 2009, 13:39:57 »
Super, presne toto som potreboval :)
Dik

Este malickost. Je njako mozne zmazat medzeri pred a po texte?

premet

  • Host
Re: BASH - praca z textom
« Odpověď #13 kdy: 20 Srpna 2009, 13:43:27 »
Přes while read line ti to stejně mezery nenačte :)

jinak třeba
Kód: [Vybrat]
[prema@fedora ~]$ echo " ahoj a b c d " | sed 's/\ //g'
ahojabcd
« Poslední změna: 20 Srpna 2009, 13:47:29 od Premet »

Peterx

  • Aktivní člen
  • *
  • Příspěvků: 403
Re: BASH - praca z textom
« Odpověď #14 kdy: 20 Srpna 2009, 13:56:43 »
Dik za pomoc uz mi to funguje :)

Uran

  • Aktivní člen
  • *
  • Příspěvků: 341
Re: BASH - praca z textom
« Odpověď #15 kdy: 28 Srpna 2009, 13:34:53 »
Super, presne toto som potreboval :)
Dik

Este malickost. Je njako mozne zmazat medzeri pred a po texte?


Tady ( http://sed.sourceforge.net/sed1line_cz.html ) se nalezaji uz hotove zajimave ukazky manipulace textem pomoci sed-u.
"Pouze text v MS Wordu je opravdu čistý, příteli."

Peterx

  • Aktivní člen
  • *
  • Příspěvků: 403
Re: BASH - praca z textom [vyřešeno]
« Odpověď #16 kdy: 02 Září 2009, 08:50:20 »
Dik, velmi uzitocne, doporucujem kazdemu  ;D

 

Provoz zaštiťuje spolek OpenAlt.