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

  • adrianisen

    adrianisen

    25 Kasım 2009
  • Amazon Web Services

    Amazon Web S

    8 NİSAN 2009
  • ChannelRichard

    ChannelRicha

    7 Kasım 2008