grep, sed & spol. - jak vyloupnout z radky text od do

oldfrog na volny.cz oldfrog na volny.cz
Pondělí Únor 10 19:29:45 CET 2003


>
>
>z textoveho souboru, ktery vypada asi takto
>
>...
>jmeno: Petr
>prijmeni: Novak
>vyska: 165 cm
>...
>
>potrebuju na prikazove radce co nejjednodussim zpusobem (bez Perlu, Pythonu
>atd.)
>postupne vyloupnout 'Petr', 'Novak', '165 cm'.
>  
>
Pomoci unixoveho shellu je to asi nejjednoduzsi, viz. prilohy.

OldFrog.
------------- další část ---------------
#!/bin/sh

## Skript pro "parsovani" textu.
## Pouziti: ./parse1 < vstup.txt
##
## Predpokladany format vstup.txt:
## jmeno: Petr
## prijmeni: Novak
## vyska: 165 cm


## cte  vstup  radek  po radku, slova 
## na radku jsou oddelena bilym znakem,
## nacte je do promennych A, B, C:

while read A B C
do
 echo "Novy radek:"
	echo "  A=$A"
	echo "  B=$B"
	echo "  C=$C"
done

## cte  vstup  radek  po radku, slova 
## na radku jsou oddelena bilym znakem,
## nacte je do pole ABC:

#while read -a ABC
#do
# echo "Novy radek:"
#	echo "  ABC[0]=${ABC[0]}"
#	echo "  ABC[1]=${ABC[1]}"
#	echo "  ABC[2]=${ABC[2]}"
#done

## cte  vstup  radek  po radku za konec
## radku povazuje znak "#", slova na 
## radku jsou oddelena bilym znakem,
## nacte je do promennych A, B, C:

#while read -d "#" -a ABC
#do
#  echo "Novy radek:"
#	echo "  ABC[0]=${ABC[0]}"
#	echo "  ABC[1]=${ABC[1]}"
#	echo "  ABC[2]=${ABC[2]}"
#done



------------- další část ---------------
#!/bin/sh

## Skript pro "parsovani" textu.
## Pouziti: ./parse2 < vstup.txt
##
## Predpokladany format vstup.txt:
## jmeno: Petr
## prijmeni: Novak
## vyska: 165 cm

## cte radek po radku, vynecha prvni
## slovo z radku a zbytek vypise na 
## obrazovku

ZPRACUJ_RADEK(){
	shift 1;
	echo "$*";
}

while read RADEK
do
 echo "Novy radek:"
 ZPRACUJ_RADEK $RADEK;
done

------------- další část ---------------
jmeno: Petr
prijmeni: Novak
vyska: 165 cm


Další informace o konferenci Linux