Izdelava skripte za obdelavo tekstovne datoteke

Zdravo,

Imam tekstovno datoteko iz katere bi rad pobral podatke in jih zapisal v drugo datoteko kot CSV.
sed -n '/iskani niz/'= datoteka.txt mi vrne številko vrstice. V skripti bi rad to vrstico shranil v spremenljivo in nato to vrstico zapisal v novo datoteko.
Ne znam številke shraniti v spremenljivko. Prebrskal sem precej strani brez uspeha!
vrstica=sed -n '/iskani niz/'= datoteka.txt mi izpiše številko vrstice na ekran in javi napako.

Primer datoteka.txt

Izdelek
iskani niz1     <--- poiščem ta tekst
artikel1
tekst
vrednost1     <--- zapišem to vrednost
tekst
vrednost2     <--- zapišem to vrednost
Izdelek
iskani niz2    <--- poiščem naslednji tekst
artikel2
tekst
vrednost1
tekst
vrednost2

in tako naprej!

Nova datoteka.csv
artikel1;artikel2; itd
vrednost1;vrednost1; itd
vrednost2;vrednost2; itd

Za pomoč se vnaprej zahvaljujem :)

Lep pozdrav!
Dušan

Komentarji

  • Večino kode sem že uspel napisati.

    Sedaj mi dela težave samo še ukaz 'sed'. (zaenkrat) :)

    stevilka=$(sed -n '/^Moj iskani tekst/'= datoteka.txt)
    echo vrnjena $stevilka  #  najde več vrstic ki vsebujejo iskani tekst. Potrebujem samo prvo.

    stevilka=${stevilka::3}  # Return the first three characters
    vrsta=$(($stevilka))              # spremenim niz v številko

    echo prva vrsta $vrsta         # pravilno pokaže številko

    sed '$vrsta,$d' datoteka.txt     # tukaj pa se veselje ustavi, sed spremenljivke $vrsta ne prepozna kot številko.

    sed '123,$d' datoteka.txt  # pravilno pobriše vrste od 123 do konca

    Kakšna je pravilna sintaksa?

    Lep pozdrav!
    Dušan
  • Na hitro sem se poigral (nisem se ukvarjal s tem že 5-6 let) in awk bi po moje to rešil boljše.. 
    Hiter primer
    $ stevilka=$(cat datoteka.txt | awk '/iskani niz/' | awk '{print NR " " $0;exit;}' | awk '{print $1}'); echo stevilka
    to je rezultat 15min googleanja :) upam da ti kaj pomaga.

    LP
Za komentiranje se prijavite ali pa se vpišite.