Portál AbcLinuxu, 10. května 2025 00:16

Dotaz: porovnavanie ci je subor textovy

8.12.2006 13:59 jurikkk
porovnavanie ci je subor textovy
Přečteno: 110×
Odpovědět | Admin
potreboval by som zisti ci je subor textovy ale neviem ci idem na to spravne pretoze tu mi vypise chybu "unary operator expected

#!/bin/bash

a=ahoj.txt

x= echo $a | grep -o '...?'

if [ '$x' = txt ]

then

echo je textovy

else

echo nieje

fi

moze sa to vobec takto zistovat? ak nie poradte mi prosim ako

dakujem
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

8.12.2006 14:17 AloneInTheDark | skóre: 21
Rozbalit Rozbalit vše Re: porovnavanie ci je subor textovy
Odpovědět | | Sbalit | Link | Blokovat | Admin
nevim pro jaky ucel to potrebujes, ale nestacila by na to utilita file ? umi rozpoznavat mnoho typu souboru .... (inst. balicek se obvykle jmenuje file ) http://packages.debian.org/stable/utils/file
Any technology distinguishable from magic is insufficiently advanced.
8.12.2006 14:22 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: porovnavanie ci je subor textovy
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ak chcete príponu súboru použi napríklad:
#! /bin/sh
filename=súbor.txt
ext=${filename##*.}
echo $ext
8.12.2006 14:22 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: porovnavanie ci je subor textovy
Odpovědět | | Sbalit | Link | Blokovat | Admin
Co znamená ci je subor textovy. To co naznacujete v tom skriptu, vypadá, že se pokoušíte zjistit jestli název souboru končí na .txt To by pak bylo velmi jednoduché
#!/bin/bash
a=ahoj.txt
if [[ "$a" = *.txt ]]
then
  echo je textovy
else
  echo nieje
fi
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
8.12.2006 14:31 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: porovnavanie ci je subor textovy
Alebo ak ti nezáleží na veľkosti písmen, tak:
#!/bin/bash
a=ahoj.txt
if [[ "$a" = *.[Tt][Xx][Tt] ]]
then
  echo je textovy
else
  echo nieje
fi
To iba pre inšpiráciu
jose17 avatar 8.12.2006 15:42 jose17 | skóre: 44 | blog: Joseho_blog | Bratislava
Rozbalit Rozbalit vše Re: porovnavanie ci je subor textovy
a ešte jedno riešenie:
a=file.txt; [ "${a//*\.[tT][Xx][tT]/true}" = "true" ] && echo "txt subor" || echo "nie je txt subor"
Ja vim, on vi, ty nano!
8.12.2006 14:31 jurikkk
Rozbalit Rozbalit vše Re: porovnavanie ci je subor textovy
to je presne ono dakujem moc pekne

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.