SORU
6 EKİM 2009, Salı


Bash: bir dizinin elemanları Katılır mısın?

Bash böyle bir dizi var:

FOO=( a b c )

Nasıl virgül ile bu unsurları katılabilirim? Örneğin, üretim 4**.

CEVAP
23 ŞUBAT 2010, Salı


Başka bir çözüm:

#!/bin/bash
foo=('foo bar' 'foo baz' 'bar baz')
bar=$(printf ",%s" "${foo[@]}")
bar=${bar:1}

echo $bar

Edit: ama çok karakter uzunluğu değişken ayırıcısı: aynı

#!/bin/bash
separator=")|(" # e.g. constructing regex, pray it does not contain %s
foo=('foo bar' 'foo baz' 'bar baz')
regex="$( printf "${separator}%s" "${foo[@]}" )"
regex="${regex:${#separator}}" # remove leading separator
echo "${regex}"
# Prints: foo bar)|(foo baz)|(bar baz

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • akalyne

    akalyne

    13 Mayıs 2009
  • KRQE

    KRQE

    6 AĞUSTOS 2007
  • Toddler Fun Learning

    Toddler Fun

    8 ŞUBAT 2013