[gelöst] Array sortiert ausgeben

Started by bluelupo, 2013/09/01, 10:51:24

Previous topic - Next topic

bluelupo

Hallo zusammen,
ich habe da ein kniffliges Problem zum Arrays in der Bash. Ein Array mit folgenden Inhalt ist vorhanden:


3.10-0.towo-siduction-amd64#03-Jul-2013#10:19#20130703
3.10-10.towo-siduction-amd64#31-Aug-2013#17:39#20130831
3.10-4.towo-siduction-amd64#03-Aug-2013#18:01#20130803
3.10-9.towo-siduction-amd64#24-Aug-2013#17:06#20130824
3.4-5.towo-siduction-amd64#17-Jul-2012#08:55#20120717
3.5-2.towo-siduction-amd64#18-Aug-2012#10:50#20120818
3.5-3.towo-siduction-amd64#30-Aug-2012#19:10#20120830
3.5-4.towo-siduction-amd64#15-Sep-2012#16:20#20120915
3.5-4.towo.1-siduction-amd64#29-Sep-2012#18:45#20120929
3.6-0.towo-siduction-amd64#01-Oct-2012#13:00#20121001
3.6-1.towo-siduction-amd64#08-Oct-2012#16:35#20121008
3.6-10.towo-siduction-amd64#10-Dec-2012#20:55#20121210
3.6-2.towo-siduction-amd64#15-Oct-2012#07:45#20121015


Ich möchte nun das Array nach der letzten Spalte (Datumsfeld) sortiert ausgeben, damit ich eine chronologische Reihenfolge bekomme.

So geb ich das Array unsortiert aus, wie vorgegeben.

for ROW in ${ARRAY_ALLKERNEL[@]}
  do
  echo $ROW
done


So gehts nicht, das bewirt keine Sortierung

for ROW in ${ARRAY_ALLKERNEL[@]}
  do
  echo $ROW | sort -t"#" -n -k4
done


Irgendwo habe ich einen Denkfehler drinnen. Wie kann ich eine Array korrekt nach einer bestimmmten Spalte sortiert ausgeben?

ralul

for ROW in ${ARRAY_ALLKERNEL[@]} ; do
  echo $ROW
done | sort -t"#" -n -k4
experiencing siduction runs better than my gentoo makes me know I know nothing

bluelupo

Hi ralul,
Danke, hätte ich auch selber draufkommen können ;-)