Portál AbcLinuxu, 10. května 2025 06:20

Dotaz: BASH - Kontrola znaků v array

5.8.2012 21:05 MM
BASH - Kontrola znaků v array
Přečteno: 221×
Odpovědět | Admin
Ahoj, potřebuji nějak zjistit jestli pole SPACE_CHAR obsahuje hedaný znak ($i), použil jsem tohle ale nefunguje to korektně, jelikož když je $i 1, vyhodnotí se podmínka jako pravdivá, já ale potřebuji aby bral čísla v poli jako celek, jedno číslo je vždy v závorkách. Poradí někdo? Díky
SPACE_CHAR=("9" "17" "18" "10")

i=0;

for i in ....
do
..
..
  MATCH=$(echo "${SPACE_CHAR[*]:0}" | grep -o "$i")
  [[ ! -z "$MATCH" ]] && echo "číslo $i se v array nachází.."
..
..
done
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

5.8.2012 21:25 Kit
Rozbalit Rozbalit vše Re: BASH - Kontrola znaků v array
Odpovědět | | Sbalit | Link | Blokovat | Admin
A k čemu to bude dobré? Možná by bylo vhodnější použít regulární výraz, strukturu case nebo asociativní pole - záleží na účelu.
5.8.2012 22:55 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: BASH - Kontrola znaků v array
Odpovědět | | Sbalit | Link | Blokovat | Admin
Co to? Něco jako toto?
#!/bin/bash  

SPACE_CHAR=("9" "17" "18" "10")
i=1

for item in ${SPACE_CHAR[@]}
do
  if [ "$i" -eq "$item" ]; then
    echo "Found"
    break
  fi
done

PS: Porovnává čísla
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

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.