SORU
16 EYLÜL 2011, Cuma


Nasıl BASH bir dizi sıralamak için

Bash bir dizi, örneğin var

array=(a c b f 3 5)

Diziyi sıralamak istiyorum. Sadece sıralı bir şekilde içerik görüntülemek, ama sıralanan öğeleri içeren yeni bir dizi almak için. Yeni bir sıralı dizi tamamen yeni bir ya da eski olabilir.

CEVAP
3 AĞUSTOS 2012, Cuma


Gerçekten çok fazla kod da gerek kalmıyor

IFS=$'\n' sorted=($(sort <<<"${array[*]}"))

Destekler elemanları (bir yeni satır değil sürece), boşluklarveBash 3 çalışır.x.

örneğin:

$ array=("a c" b f "3 5")
$ IFS=$'\n' sorted=($(sort <<<"${array[*]}"))
$ printf "[%s]\n" "${sorted[@]}"
[3 5]
[a c]
[b]
[f]

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Caroline Martin

    Caroline Mar

    19 EYLÜL 2008
  • kourtneyannmakeup

    kourtneyannm

    19 ŞUBAT 2012
  • undrmyumbrellaa

    undrmyumbrel

    25 Temmuz 2012