On 07/27/12 15:18, Kaminar:
narazil jsem na takovou vec. Nevite nekdo, jak se chova v grepu
nasledujici regex:

grep -e '\`' soubor

Vyraz se shoduje s jakymkoliv radkem. Podle me by se mel shodovat
pouze s radky, ve kterych se vyskytuje alespon jeden znak `.


Myslim, ze ne. Jastli's tam ten backslash daval kvuli shellu, tak to je spatne, protoze v apostrofech nema zpetnej apostrof zadnej specialni vyznam.

Jo, kdyby to bylo v uvozovkach, to by byla jina, to by ten backslash byl potreba. Ale takhle tam neam co delat a do grepu dorazil cely ten dvojznak.

Nakonec, nejlip to uvidis, kdyz porovnas vystupy:
echo -n "\`" | sed -n l
a
echo -n '\`' | sed -n l


Nevim co pro grep znamena escapovany zpetny apostrof. Ma takovou teorii, ze nic a protoze nevi co je to za znak, tak ho uplne vynecha. No a prazdnej retezec matchne kazdej radek.

V programu sed se to chova podle meho ocekavani:
sed -ne '/\`/p' soubor

Sed ma chovani vuci neznamejm backslashovanejm znakum patrne implementovano jinak.

Coz nelze obema programum vycitat - \` konstrukt je v podstate "chyba" a neda se spolehnout, ze se s ni vsichni vyporadaji stejne.


Dan
--
FreeBSD mailing list ([email protected])
http://www.freebsd.cz/listserv/listinfo/users-l

Odpovedet emailem