Siduction Forum

Siduction Forum => Scripting & Kernelhacking => Topic started by: bluelupo on 2013/09/01, 10:51:24

Title: [gelöst] Array sortiert ausgeben
Post by: bluelupo on 2013/09/01, 10:51:24
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?
Title: Re: Array sortiert ausgeben
Post by: ralul on 2013/09/01, 13:04:04
for ROW in ${ARRAY_ALLKERNEL[@]} ; do
  echo $ROW
done | sort -t"#" -n -k4
Title: Re: Array sortiert ausgeben
Post by: bluelupo on 2013/09/01, 20:09:17
Hi ralul,
Danke, hätte ich auch selber draufkommen können ;-)