OT: grep

Dan Lukes dan at obluda.cz
Fri Jul 27 16:29:48 CEST 2012


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


More information about the Users-l mailing list