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

  • Make:

    Make:

    23 Mart 2006
  • Photoshop Pro Help

    Photoshop Pr

    1 Ocak 2007
  • TopDJMag TV

    TopDJMag TV

    29 Temmuz 2010