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

  • Joshua Bane

    Joshua Bane

    24 Temmuz 2007
  • Video-Tutorials.Net

    Video-Tutori

    15 Mart 2011
  • xCraash

    xCraash

    6 Temmuz 2012