Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: test a regex  (Přečteno 1279 krát)

Uran

  • Aktivní člen
  • *
  • Příspěvků: 341
test a regex
« kdy: 13 Dubna 2011, 10:30:57 »
Potrebuji vypsat obsah doc souboru a jejich nazvy obsahujici urcity regex. Nasledujici skript mi nefunguje. Jde ve fci test pouzivat regex?

Kód: [Vybrat]
find . -iname '*.doc' | while read F
do if [ "`catdoc "$F" | egrep -o -m 1 MULCOA.*45.*0,045`" = "MULCOA.*45.*0,045" ]
then echo "=====Zacatek====="
echo "$F"
catdoc "$F"
echo "=====Konec====="
fi
done

Nic nevypise.

Retezec ktery hledam pomoci egrep-u je nasledujici (cele to komplikuje to ze kolega, ktery to pise nekdy pouziva mezeri misto tab a jine tipograficke pra....).
Kód: [Vybrat]
$ catdoc RECOM.doc/test.doc | egrep -o -m 1 MULCOA.*45.*0,045
MULCOA 45 - 0,045

"Pouze text v MS Wordu je opravdu čistý, příteli."

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re: test a regex
« Odpověď #1 kdy: 13 Dubna 2011, 11:26:00 »
Co třeba takto ta podmínka:

Kód: [Vybrat]
if [[ `catdoc "$F" | egrep -m 1 "MULCOA.*45.*0,045"` ]]
přepínač -o by tam byl v tomto případě zbytečně
« Poslední změna: 13 Dubna 2011, 11:33:20 od GdH »

daysleeper

  • Stálý člen
  • **
  • Příspěvků: 1206
Re: test a regex
« Odpověď #2 kdy: 13 Dubna 2011, 11:32:59 »
nebo proste
Kód: [Vybrat]
if catdoc "$F" | egrep -o -m 1 "MULCOA.*45.*0,045"; then

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re: test a regex
« Odpověď #3 kdy: 13 Dubna 2011, 11:42:34 »
nebo proste
Kód: [Vybrat]
if catdoc "$F" | egrep -o -m 1 "MULCOA.*45.*0,045"; then

Máš recht, ale raději:

Citace
if catdoc "$F" | egrep -q -m 1 "MULCOA.*45.*0,045"; then

Uran

  • Aktivní člen
  • *
  • Příspěvků: 341
Re: test a regex
« Odpověď #4 kdy: 13 Dubna 2011, 13:32:58 »
Dekuji uz to funguje.

Co vsak catdoc nezvlada jsou dokumenty ulozene "metodou" fast saved. Zkousel jsem podobny programek (antiword), ale je na tom obdobne.
Neznate nejakou alternativu, pripadne jde pouzivat openoffice pres CLI?
"Pouze text v MS Wordu je opravdu čistý, příteli."

 

Provoz zaštiťuje spolek OpenAlt.