Mandriva Fórum

Programování => Shell, awk, sed ... => : Premysl October 20, 2010, 23:43:57



: Par dotazu k Bashi
: Premysl October 20, 2010, 23:43:57
Mam prikaz:  cat /home/prema/aaa | grep 'r' a potrebuji, aby misto cesty k souboru jsem zadal promenou,

napr:  
var="Ahoj svete"
cat $var| grep 'ete'         #bohuzel tento prikaz nefunguje

Dale bych potreboval, aby predchozi prikaz fungoval tak, ze mi nalezne radek, ktery konci na ete, zkousel jsem 'ete$' a ruzne hvezdicky a tecky pred ete$, ,ale nic nefungovalo.

Pak bych se chtel zeptat jak do retezce pridam odradkovani

var="Ahoj \n svete"  se mi zobrazi, s \n a bez odradkovani

DIk


: Re: Par dotazu k Bashi
: strublos October 21, 2010, 20:21:54
:
cd /tmp
echo "Hello" > soubor
echo "Hello ko" >> soubor
var="soubor"
cat $var | grep "lo$"

funguje bez problemu

:
t="heloo\ndalsi radek\na jeste jedem"
echo -e $t

pise
:
hello
dalsi radek
a jeste jeden


: Re: Par dotazu k Bashi
: _dworkin October 22, 2010, 09:04:50
var="Ahoj svete"
cat $var| grep 'ete'         #bohuzel tento prikaz nefunguje

Pletes si cat a echo. cat bude hledat soubory "Ahoj" a "svete". A u tech bude vypisovat obsah. Pokud to ma byt soubor s mezerou v nazvu dej to do uvozovek. echo rovnou vypise co mu predhodis.


var="Ahoj \n svete"  se mi zobrazi, s \n a bez odradkovani

V man echo mas odpoved na svoji otazku: "echo -e". At te nezmate ze pak uvidis jen svete kdyz tam mas grep.


Dale bych potreboval, aby predchozi prikaz fungoval tak, ze mi nalezne radek, ktery konci na ete, zkousel jsem 'ete$' a ruzne hvezdicky a tecky pred ete$, ,ale nic nefungovalo.

Me "ete$" funguje.