Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Mit AWK Tabellenspalten sortieren

Mitglied: Jashugan

Jashugan (Level 1) - Jetzt verbinden

22.11.2011 um 15:18 Uhr, 5875 Aufrufe, 8 Kommentare

Servus,

ich würde gerne mit AWK Tabellenspalten sortieren. Das Setting ist ähnlich dem Folgenden:

Gegeben ist ein "*.csv"-File mit Semikolon-getrennten Werten der Form

c a b
12 4 3
99 23 222

Die Spalten bekomme ich nicht immer in der gleichen Reihenfolge. Da ich die Daten in Excel zur Auswertung exportieren möchte, brauche ich einen Befehl der mir die Spalten unabhängig von der Ursprungsreihenfolge in die richtige Reihenfolge bringt die ich vorgebe (meinetwegen c-b-a). Auch Alphabetisch sortiert würde mir weiterhelfen.

Hat das schonmal jemand gemacht?

Grüße
Jashugan
Mitglied: 60730
22.11.2011 um 15:39 Uhr
moin,

awk? Excel?
Windoof oder Tux?

Abgesehen davon - weißt du ja - das das immer etwas bescheiden ist, wenn man nachträglich an Daten rumspielt...

Unter d00f würde ich ja tendieren
01.
Set /p csv=<laufwerk:\pfad\datei.csv
02.
echo %csv%| findstr /c: "a;b;c"  && goto abc
03.
echo %csv%| findstr /c: "a;c;b"  && goto acb
04.
echo %csv%| findstr /c: "b;c;a"  && goto bca
05.
echo %csv%| findstr /c: "b;a;c"  && goto bac
06.
echo %csv%| findstr /c: "c;a;b"  && goto cab
07.
echo %csv%| findstr /c: "c;b;a"  && goto cba
08.
echo schonwieder anders & goto end
09.

10.
:abc
11.
rem ...
Aber du siehst, das ist etwas arg düster ..

Schau lieber zu, dass dir die datenquelle immer in der richtigen Reihenfolge sortiert geliefert wird....

Gruß

edit: etwas vereinfacht, falls es mal jemand findet, der sowas braucht - Obwohl ich mich ausdrücklich davon distanziere. /edit
Bitte warten ..
Mitglied: Jashugan
22.11.2011 um 15:48 Uhr
bin dran, aber die Tabelle ist sehr groß, weshalb deine Lösung wirklich nur begrenzt gut ist :-S

Habe an die 30 Spalten und ca. 1000 Zeilen (+- 900).
Bitte warten ..
Mitglied: 60730
22.11.2011 um 16:18 Uhr
Servus,

naja - die Frage Wind00f oder Tux? ist ja dann geklärt....

Aber das ist doch alles - und bei 30 Spalten erstrecht - komplett wahnsinniges Unterfangen..

Wenn ich in der Schule richtig aufgepasst habe, dann sind das 900 mögliche Varianten...

Begrenzt gut ist aber nett untertrieben.

Gruß
Bitte warten ..
Mitglied: Jashugan
22.11.2011 um 16:22 Uhr
Windows, TUX und OSX wäre alles möglich um die Frage noch zu befriedigen.
"EDIT: Wind00f wird ohne Nullen wohl zensiert
"

Ich habe deinen Rat ernst genommen und schaue gerade nach Möglichkeiten den Input den ich von einem fremden Tool bekomme als alphabetisch sortiert vorrauszusetzen.

Damnach erübrigt sich dieser Post, dennoch falls es jemand weiß, ich bin mir sicher es geht mit AWK ;)

Manchmal erkennt man (falsche) Lösungen erst wenn man über die Probleme spricht. ;)
Bitte warten ..
Mitglied: 64748
22.11.2011 um 19:47 Uhr
Guten Abend,

eine Frage, wieso öffnest Du die csv-Datei nicht direkt mit Excel?

Dann bringst Du in Excel Deine Spalten in die richtige Reihenfolge.

Und wegen awk, da wirst Du hier http://www.linuxquestions.org/questions/programming-9/ eine Antwort bekommen. Allerdings nur wenn Du schon eigenen Code vorweisen kannst.

Markus
Bitte warten ..
Mitglied: Biber
22.11.2011 um 19:58 Uhr
Moin Jashugan,

ich trau mich ja kaum, es so schreiben, aber....

--> bei einem Datenbank-SELECT-Befehl wäre die physikalische Reihenfolge der Spalten egal....hast du nix SQL-sprechendes?

Wenn dieser "Import-in-geänderter-Spaltenreihenfolge" regelmäßig zu erwarten ist, dann lass doch (innerhalb einer Excel-Tabelle) einen kleinen Excel-ADO-VBA-Schnipsel drüberlaufen. Von Blatt B = "Importiert wie geliefert" nach Blatt A = "Neu angeordnet".

Oder eben wie von hmarkus skizziert von Blatt B= "Importiert wie geliefert" nach Blatt A = "Neu angeordnet" mit SVerweis()/Index() und Indirekt()

Grüße
Biber
Bitte warten ..
Mitglied: Jashugan
22.11.2011 um 22:26 Uhr
Ja, eine Datenbank wäre ein Traum, das geht aber leider leider nicht. (Anforderungen etc.)

Danke für eure Anregungen und Tips. Ich habe nun erwirken können, dass der Input den ich bekomme alphabetisch geordnet ist.

Grüße,
Jash
Bitte warten ..
Mitglied: 64748
23.11.2011 um 08:53 Uhr
Guten Morgen,

bezogen auf meinen Kommentar oben habe das gerade mal mit Excel ausprobiert (Office 2010).

So geht es:
Datei in Excel öffnen,
dann alle Daten markieren,
Daten -> Sortieren klicken, es öffnet sich das "Sortieren"-Dialogfeld.
Dann unter Optionen "Spalten sortieren" auswählen
und nach der ersten Zeile sortieren.
Das wars

Gruß

Markus
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Linux Erklärbär zu awk gesucht
gelöst Frage von lexa-lexaBatch & Shell5 Kommentare

Hi, warum funktioniert folgendes *nicht*: FS="/backups"; SIZE=$(df -P So (ohne $FS) gehts jedoch: SIZE=$(df -P Ich will das in ...

Neue Wissensbeiträge
Firewall
PfSense 2.5.0 benötigt doch kein AES-NI
Tipp von ChriBo vor 22 StundenFirewall1 Kommentar

Hallo, Wie sich einige hier erinnern werden hat Jim Thompson in diesem Aritkel beschrieben, daß ab Version 2.5.0 ein ...

Internet
Copyright-Reform: Upload-Filter
Information von Frank vor 2 TagenInternet1 Kommentar

Hallo, viele Menschen reden aktuell von Upload-Filtern. Sie reden darüber, als wären es eine Selbstverständlichkeit, das Upload-Filter den Seitenbetreibern ...

Google Android

Blokada: Tracking und Werbung unter Android unterbinden

Information von AnkhMorpork vor 2 TagenGoogle Android1 Kommentar

In Ergänzung zu meinem vorherigen Beitrag: Blokada efficiently blocks ads, tracking and malware. It saves your data plan, makes ...

Google Android
Facebooks unsichtbare Datensammlung
Information von AnkhMorpork vor 2 TagenGoogle Android2 Kommentare

Rund 30 Prozent aller Apps im Play-Store nehmen Kontakt zu Facebook auf, sobald man sie startet. So erfährt der ...

Heiß diskutierte Inhalte
Linux Userverwaltung
LogIn Versuche beschränken auf EINEN Versuch
gelöst Frage von GarroshLinux Userverwaltung23 Kommentare

Folgendes Problem Ich habe einen dezidierten Server beim Hoster gemietet, installiert ist Ubuntu 18.04.2 LTS‬ und als Webinterface Plesk. ...

Backup
Wo installiert man Veeam bei SoHo?
Frage von EDVMan27Backup14 Kommentare

Hallo, nachdem ich die neue Veeam CE bei mir getestet habe, wollte ich es einmal bei einem Kunden testen. ...

Ubuntu
Exchange Alternative auf Ubuntu
Frage von TELLOUbuntu11 Kommentare

Hi NG, wir müssen für unsere Kleine Firma (5 User) das Email / Kalendersystem neu einrichten. Ich könnte jetzt ...

Batch & Shell
Tasklist überprüfen
Frage von IleiesBatch & Shell10 Kommentare

Hallo zusammen, Wie kann ich in Batch überprüfen, ob gerade der Prozess "Skype.exe" ausgeführt wird? Also nicht so dass ...