Portál AbcLinuxu, 12. května 2025 09:14

Dotaz: BASH - Odebrání jednoho znaku ze stingu

2.8.2012 12:55 MM
BASH - Odebrání jednoho znaku ze stingu
Přečteno: 174×
Odpovědět | Admin
Jak můžu odebrat každou sec. jeden znak z řetězce? Přidávání je jednoduché ale na opačný úkon jsem nic nenašel :( Dík\
a="."
i=5
until [ $i == 0 ]
 do
  echo $a
  echo "Konec za $i sec."
  sleep 1
  ((--i))
  a=$a."
done
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

2.8.2012 13:05 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: BASH - Odebrání jednoho znaku ze stingu
Odpovědět | | Sbalit | Link | Blokovat | Admin
#!/bin/bash
="."
i=5
until [ $i == 0 ]
 do
  echo $a
  echo "Konec za $i sec."
  sleep 1
  ((--i))
  a="$a."
done

i=5
until [ $i == 0 ]
 do
  echo $a
  echo "Konec za $i sec."
  sleep 1
  ((--i))
  a="${a:0:$i}"
done
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
2.8.2012 13:37 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: BASH - Odebrání jednoho znaku ze stingu

Případně

while [ -n "$a" ]; do
  echo "$a"
  # buď  a="${a:0:$[${#a}-1]}"
  # nebo a="${a%?}"
  # nebo a="${a:1}"
  # nebo a="${a#?}"
  sleep 1
done
2.8.2012 14:17 MM
Rozbalit Rozbalit vše Re: BASH - Odebrání jednoho znaku ze stingu
Moc děkuji ;)
2.8.2012 20:45 Kit
Rozbalit Rozbalit vše Re: BASH - Odebrání jednoho znaku ze stingu
Odpovědět | | Sbalit | Link | Blokovat | Admin
a="${a%?}"

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.