------------------------------------------------------------

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
schorschruffneck
Beiträge: 174
Registriert: 29.04.2012 22:55:06

------------------------------------------------------------

Beitrag von schorschruffneck » 04.06.2014 01:42:50

------------------------------------------------------------------------------------------------------------------------------------------------------------
Zuletzt geändert von schorschruffneck am 06.06.2014 09:52:36, insgesamt 2-mal geändert.

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: awk multidimensionales array

Beitrag von Cae » 04.06.2014 03:09:33

Also ich kann mit dem Kauderwelsch da nicht allzu viel anfangen, vermutlich geht es deinem awk-Interpreter genauso ;).

Der Grossteil wird so nicht ausfuehrbar sein und sieht fuer mich eher nach einem zusammengestoppelten Merkzettel aus. Da kommen Variablen vor, die nirgends offensichtlich definiert (kein Problem in awk) oder wieder ausgelesen werden (wofuer gibt es sie dann?). Ich habe gerade leider nicht die Disziplin, auf jeden Punkt einzeln einzugehen, aber du willst anscheinend bestimmte Felder addieren. Dazu kann ich folgendes Beispiel anbieten:

Testdaten:

Code: Alles auswählen

$ seq 10 | awk '{print("test foo "$0" bar "($0 + 1)" baz boom");}' >testdata
$ cat testdata
test foo 1 bar 2 baz boom
test foo 2 bar 3 baz boom
test foo 3 bar 4 baz boom
test foo 4 bar 5 baz boom
test foo 5 bar 6 baz boom
test foo 6 bar 7 baz boom
test foo 7 bar 8 baz boom
test foo 8 bar 9 baz boom
test foo 9 bar 10 baz boom
test foo 10 bar 11 baz boom
$ 
Es soll jeweils die dritte und fuenfte Spalte jeder Zeile addiert und die Summe bestimmt werden:

Code: Alles auswählen

$ cat script.awk
#!/usr/bin/awk -f

BEGIN {
	sum = 0;
}

{
	sum += $3 + $5;
}

END {
	print(sum);
}
$ awk -f script.awk testdata
120
$ 
Ich hoffe, das ist halbwegs selbsterklaerend.

Nochmal kurz zu oben:

Code: Alles auswählen

a = (b += c)
ist zwar eine valide Abkuerzung fuer

Code: Alles auswählen

b += c
a = b
-- aber das ist furchtbar unuebersichtlich und verwirrt, was gerade beim Versuch, die Sprache besser kennenzulernen, ueberhaupt nicht foerderlich ist. Unten hast du's auch mit geschweiften Klammern {} geschrieben, das ist schon mal komplett verkehrt ;).

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

schorschruffneck
Beiträge: 174
Registriert: 29.04.2012 22:55:06

Re: awk multidimensionales array

Beitrag von schorschruffneck » 04.06.2014 08:58:01

-------------------------------------------------------------------------------------------------------------------------------------------------------
Zuletzt geändert von schorschruffneck am 06.06.2014 09:41:05, insgesamt 1-mal geändert.

Liffi
Beiträge: 2306
Registriert: 02.10.2004 01:33:05

Re: awk multidimensionales array

Beitrag von Liffi » 04.06.2014 10:02:43

Ich will jetzt niemandem AWK ausreden, aber möglichweise hilft dir ein Blick auf Perl. Vermutlich ist die Verbreitung von AWK und Perl ähnlich. Aber zum Programmieren ist letzteres einfacher.

Benutzeravatar
Meillo
Moderator
Beiträge: 8817
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: awk multidimensionales array

Beitrag von Meillo » 04.06.2014 10:23:46

Liffi hat geschrieben:Ich will jetzt niemandem AWK ausreden, aber möglichweise hilft dir ein Blick auf Perl. Vermutlich ist die Verbreitung von AWK und Perl ähnlich. Aber zum Programmieren ist letzteres einfacher.
Dieser Hinweis ist nicht ganz daneben. Wenn ich selbst auch ein grosser awk-Fan bin, so ist es doch immer wichtig das passende Werkzeug fuer das jeweilige Problem zu waehlen.

Wenn ich im Titel ``awk'' und ``multidimensionales Array'' lese, dann werde ich unweigerlich angespannt. Awk hat naemlich *keine* mehrdimensionalen Arrays, jedenfalls nicht in der portablen Variante. Gawk hat das wohl, aber da kenne ich mich nicht aus. Alles was es im (portablen) awk gibt sind zusammengesetzte Arrayindices mit etwas Syntactic Sugar. Insofern: Wenn man mehrdimenionale Arrays will oder braucht, dann sollte man eine andere Sprache waehlen. (Es kann aber natuerlich auch sein, dass das Problem gar keine mehrdimensionalen Arrays erfordert, aber das ist wieder eine andere Frage ....)


Was ich in diesem und anderen Vorlaeuferthreads aber feststelle ist etwas ganz anderes. Da hilft weder awk noch Perl, denn das Problem ist der Trial'n'Error-Ansatz ohne die Grundkonzepte der Sprache zu erlernen. @schorschruffneck, die Probleme in deinen awk-Threads sind die Folge deiner oberflaechlichen Beschaeftigung mit der Sprache.
schorschruffneck hat geschrieben: zusammenstoppeln oder etappenweise, muss ja mal was sinnvolles ergeben.
Dieser Meinung bin ich nicht. Vielmehr wirst du deine Probleme loesen, wenn du strukturiert an das Erlernen der Sprache herangehst statt nur Codeschnipsel zusammenzuklatschen.

Awk ist eine kleine Sprache, die kann man in wenigen Tagen erlernen. Tu das von unten nach oben, statt wie bisher von oben nach unten. Wenn in deinem aktuellen Problem Perl vielleicht die bessere Sprache ist, so ist die Situation dort aber die gleiche: Lerne die Sprache! Dies wird bei der weit maechtigeren (und ``bunteren'') Sprache Perl natuerlich um einiges aufwaendiger ist. Du musst eine Sprache aber nicht voll kennen, die Grundkonzepte aber, die solltest du dir unbedingt anschauen. Bei guten Sprachen erklaert sich daraus dann der Rest.
Use ed once in a while!

Benutzeravatar
Phineas
Beiträge: 348
Registriert: 20.06.2012 20:26:19

Re: --------------------------------------------------------

Beitrag von Phineas » 07.06.2014 17:10:48

schorschruffneck hat geschrieben:------------------------------------------------------------------------------------------------------------------------------------------------------------
Na klasse. Alle Antworten waren für den Arsch.
[ironie]
Das wird die Hilfsbereitschaft enorm erhöhen.
[/ironie]

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: --------------------------------------------------------

Beitrag von Cae » 07.06.2014 17:23:20

Fragt sich, wer da sabotiert hat. Kann schliesslich auch an z.B. im Internetcafe vergessenen Zugangsdaten liegen. Womit nicht der TE schuld waere, sondern ein ehrloser Vollidiot, der den Login missbraeuchlich verwendet hat.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

owl102

Re: --------------------------------------------------------

Beitrag von owl102 » 07.06.2014 20:00:41

Cae hat geschrieben:Fragt sich, wer da sabotiert hat. Kann schliesslich auch an z.B. im Internetcafe vergessenen Zugangsdaten liegen. Womit nicht der TE schuld waere, sondern ein ehrloser Vollidiot, der den Login missbraeuchlich verwendet hat.
Wer im Internetcafe hat denn nichts besseres zu tun, als 174 minus 7 Beiträge zu nullen, und das über einen Zeitraum von ca. 2,5 Stunden?
Zuletzt geändert von owl102 am 08.06.2014 10:02:30, insgesamt 1-mal geändert.

Radfahrer

Re: --------------------------------------------------------

Beitrag von Radfahrer » 07.06.2014 20:38:41

Wegen solcher Kleinkindergehirne sollte Feltel vielleicht überlegen, die Editierfunktion für Beiträge zeitlich zu begrenzen. 10 Minuten sollten für Korrekturen reichen.

DeletedUserReAsG

Re: --------------------------------------------------------

Beitrag von DeletedUserReAsG » 07.06.2014 21:28:27

Woanders gibt’s die Sperre, sobald ein Beitrag drunter steht. Hielte ich für sinnvoll, dann käme es auch nicht zu „überlesenen“ Edits.

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: --------------------------------------------------------

Beitrag von Cae » 07.06.2014 21:50:02

Und was ist mit sowas wie [1]? Grossartiger Beitrag, vor knapp drei Monaten geschrieben und seitdem 20 Mal aktualisiert. Der zugehoertige Thread hat ueber 60 Beitraege, da moechte man sich nicht die Infos haendisch zusammenklicken. Der momentane Zustand hat Vorteile, ist aber halt nicht sabotagesicher. Wir denken bereits ueber das Problem nach.

Gruss Cae

[1] viewtopic.php?p=981206#p981206
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

Gunman1982
Beiträge: 923
Registriert: 09.07.2008 11:50:57
Lizenz eigener Beiträge: MIT Lizenz

Re: --------------------------------------------------------

Beitrag von Gunman1982 » 07.06.2014 22:19:13

Frage mich was einen dazu animiert sich so zu verhalten. Ist man noch nicht bei dem Standpunkt angekommen das wenn man googelt und eine Lösungsbeschreibung eines Problems findet dieses sehr viel hilfreicher ist als "Beschreibung des Problems"->"Aussage das es gelöst wurde"/"Editierter post der nun leer ist oder nur noch --- enthällt".

Oder hat man nun Angst das anhand der Probleme die man beschreibt etwaige inn-/ausländische Regierungsstellen nun weitere Angriffsvektoren für einen besitzen? Oder möchte man einfach nur egoist sein und vergrämt es anderen das sie auch Lösungen zu ihren Problemen finden.

Radfahrer

Re: --------------------------------------------------------

Beitrag von Radfahrer » 07.06.2014 22:26:07

ER war wohl einfach nur gnatzig.
Das haben kleine Kinder ja manchmal. Bei den meisten legt sich das, wenn sie erwachsen werden. Manche bleiben eben geistig da stehen.

DeletedUserReAsG

Re: --------------------------------------------------------

Beitrag von DeletedUserReAsG » 07.06.2014 23:15:52

Cae hat geschrieben:Und was ist mit sowas wie [1]? Grossartiger Beitrag, vor knapp drei Monaten geschrieben und seitdem 20 Mal aktualisiert. Der zugehoertige Thread hat ueber 60 Beitraege, da moechte man sich nicht die Infos haendisch zusammenklicken. Der momentane Zustand hat Vorteile, ist aber halt nicht sabotagesicher. Wir denken bereits ueber das Problem nach.

Gruss Cae

[1] viewtopic.php?p=981206#p981206
Sowas gehört ins Wiki. Dafür wurde das erfunden.

Benutzeravatar
detix
Beiträge: 1705
Registriert: 07.02.2007 18:51:28
Wohnort: MK

Re: --------------------------------------------------------

Beitrag von detix » 08.06.2014 10:24:03

Wieso ist schorschruffneck eigentlich noch angemeldet?
Bei solchen Aktionen bin ich für die sofortige Sperrung des Kontos!
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!

Gunman1982
Beiträge: 923
Registriert: 09.07.2008 11:50:57
Lizenz eigener Beiträge: MIT Lizenz

Re: --------------------------------------------------------

Beitrag von Gunman1982 » 08.06.2014 11:24:22

detix hat geschrieben:Wieso ist schorschruffneck eigentlich noch angemeldet?
Bei solchen Aktionen bin ich für die sofortige Sperrung des Kontos!
Auf welcher Grundlage? War weder Beleidigend noch Werbung ...
Mit welchem weiteren Nutzen?

Benutzeravatar
detix
Beiträge: 1705
Registriert: 07.02.2007 18:51:28
Wohnort: MK

Re: --------------------------------------------------------

Beitrag von detix » 08.06.2014 11:42:42

Sämtliche seiner Fragen und Antworten hat er gelöscht, womit mindestens genauso viel Fragen und Antworten hier leer im Raum stehen,
worin liegt da noch der Nutzen für andere Interessierte?
Es ist halt nur meine persönliche Meinung zu diesem (mittlerweile dem 2ten) Vorfall, einfach eine schäbige Art und Weise!
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22359
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: --------------------------------------------------------

Beitrag von KBDCALLS » 08.06.2014 13:01:19

Zumindest ist schorschruffneck gesperrt , so das er sich nicht mehr anmelden kann .
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Benutzeravatar
Dogge
Beiträge: 1895
Registriert: 13.09.2010 11:07:33
Lizenz eigener Beiträge: MIT Lizenz

Re: --------------------------------------------------------

Beitrag von Dogge » 08.06.2014 13:26:21

Cae hat geschrieben:Und was ist mit sowas wie [1]? Grossartiger Beitrag, vor knapp drei Monaten geschrieben und seitdem 20 Mal aktualisiert. Der zugehoertige Thread hat ueber 60 Beitraege, da moechte man sich nicht die Infos haendisch zusammenklicken. Der momentane Zustand hat Vorteile, ist aber halt nicht sabotagesicher. Wir denken bereits ueber das Problem nach.

Gruss Cae

[1] viewtopic.php?p=981206#p981206
Könnte man ja von nem Mod einarbeiten lassen. Bedeutet halt eine Verzögerung und Mehraufwand für die Moderatoren.
Kann man die Editierfunktion evtl. für einzelne Beiträge wieder gezielt freischalten lassen?

Es ist ja nicht das erste Mal, dass hier jemand sämtliche Beiträge löscht... Das ergibt dann Threads die man gleich löschen könnte, weil die Zusammenhänge nicht mehr da sind...
Debian Testing + Gnome | Linux-Anfänger seit 04/2003
http://files.mdosch.de/2014-07/0xE13D657D.asc

Benutzeravatar
Patsche
Beiträge: 3261
Registriert: 21.06.2013 01:47:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: /home/10001101001

Re: --------------------------------------------------------

Beitrag von Patsche » 08.06.2014 14:27:18

Ist was spezielles passiert? Streit? Oder hat er einfach so gelöscht? Grundsätzlich ist es natürlich sein Recht seine Beiträge zu löschen, denn er ist ja der Verfasser. Eine Sperre einzubauen würde ich persönlich gut finden, aber ob das gesetztlich in Ordnung geht? Ich habe da zu wenig Erfahrung. Einig sind wir uns alle: Das ist mehr als antisozial. Vielleicht war er verärgert über Linux und möchte Redmond einen gefallen tun?

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: --------------------------------------------------------

Beitrag von smutbert » 08.06.2014 14:45:06

In einem anderen (kleineren) Forum, in dem ich hin und wieder mitlese und seltener mitdiskutiere, ist es so, dass man Beiträge nur eine gewissen Zeit lang editieren kann — vielleicht ~15-30 Minuten. Dort geht mir das unheimlich oft auf den Wecker, wenn mir nach dieser Frist ein blöder Tippfehler auffällt und ich ihn nicht korrigieren kann. Im Debianforum wäre es in Einzelfällen vielleicht sogar schlimmer, wenn man irrtümlich einen potentiell gefährlichen Rat gibt.
Im anderen Forum wäre es übrigens vermutlich kein Problem den Admin zu bitten, den Beitrag noch einmal zum Editieren freizuschalten oä, aber gemacht habe ich das noch nie.

Außerdem könnte man dann nicht mehr den Eröffnungsbeitrag editieren, um dem Titel ein [unlösbar], [gelöst], [erledigt] oder was auch immer voranzustellen, nehme ich an.


So selten wie hier so etwas passiert, wäre ich eindeutig dafür alles so zu belassen wie es ist. Schließlich funktioniert es doch die überwiegende Zeit hervorragend (oder bekomme ich vieles nicht mit?).

Benutzeravatar
TRex
Moderator
Beiträge: 8074
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: --------------------------------------------------------

Beitrag von TRex » 08.06.2014 15:08:09

Patsche hat geschrieben:Ist was spezielles passiert? Streit? Oder hat er einfach so gelöscht? Grundsätzlich ist es natürlich sein Recht seine Beiträge zu löschen, denn er ist ja der Verfasser. Eine Sperre einzubauen würde ich persönlich gut finden, aber ob das gesetztlich in Ordnung geht? Ich habe da zu wenig Erfahrung. Einig sind wir uns alle: Das ist mehr als antisozial. Vielleicht war er verärgert über Linux und möchte Redmond einen gefallen tun?
Nichts ist passiert, nicht eine einzige Nachricht.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

cronoik
Beiträge: 2049
Registriert: 18.03.2012 21:13:42
Lizenz eigener Beiträge: GNU Free Documentation License

Re: --------------------------------------------------------

Beitrag von cronoik » 08.06.2014 22:22:11

Smutbert hat meiner Meinung nach recht. Wir können hier noch so viele Sachen einbauen, aber eine Lücke wird es immer geben und die "normalen" Nutzer werden dadurch nur behindert. Ich bin dafür das es so bleibt wie es ist.
Hilf mit unser Wiki zu verbessern!

Colttt
Beiträge: 2987
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: --------------------------------------------------------

Beitrag von Colttt » 09.06.2014 00:04:43

Kann man das ganze nicht einfach wieder herstellen?
Debian-Nutzer :D

ZABBIX Certified Specialist

Benutzeravatar
joahlen
Beiträge: 1725
Registriert: 22.10.2010 03:02:41

Re: --------------------------------------------------------

Beitrag von joahlen » 09.06.2014 01:22:52

Wäre es nicht vielleicht eine gute Idee diesen Thread zu schließen?

Je nach dem wie der Saboteur gestrickt ist, geilt er sich daran auf, dass man sich hier seinetwegen Gedanken macht.

Vielleicht weil sich sonst im wirklichen Leben kein Mensch jemals einen Gedanken um ihn macht.

JO
Es ist alles schon gesagt, nur nicht von allen.... Karl Valentin

Debian Jessie, XFCE auf älteren Think_pads (ab T21 bis T60/X60) und IBM/M55 SFF (C2D, 8 GB)
Any customer can have a car painted any colour that he wants so long as it is black. Henry Ford
Gilt auch für Laptops

Antworten