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 Eine Liste mit Wörter, die nach Häufigkeit sortiert sind updaten ohne Liste jedes Mal neu erstellen

Mitglied: takitano

takitano (Level 1) - Jetzt verbinden

11.09.2019, aktualisiert 16:55 Uhr, 219 Aufrufe, 3 Kommentare

Hallo liebe Gemeinde,

Ich habe eine Wortliste, die so aussieht:

quartal4_2018.txt:
01.
Opel-Astra:3577
02.
VW-Golf:3466
03.
VW-Touran:2432
04.
Opel-Corsa:1566
Also Links steht das Auto und recht (immer durch den Doppelpunkt getrennt) - Verkaufshäufigkeit.

Nur kommt ein neues Quartal und ich bekomme eine neue Liste die so aussieht:

01.
Opel-Astra
02.
VW-Golf
03.
Opel-Corsa
04.
VW-Golf
05.
VW-Golf
06.
VW-Touran
Nun soll diese neue Liste zu der alten Liste hinzugefügt werden. Dabei sollen die Automarken nach Häufigkeit sortiert werden. Bis jetzt habe ich es wie folgt gemacht: eine alte Liste "quartalneu.txt" raus (noch ohne Häufigkeit-Sortierung), die sieht ähnlich wie die Liste Nr.2, aber mit deutlcih mehr Positionen natürlich.

Danach:

1) Eine neue Liste erstellen:
01.
cat alteliste.txt neueliste.txt > quartalneu.txt
2) Jetzt nach Häufigkeit sortieren:
01.
cat quartalneu.txt< | sort -T "$(pwd)/" | uniq -c | sort -nr -T "$(pwd)/" | sed 's/:[ \t]*//' > quartal1_2019.txt
Danach sieht es so aus:

quartal1_2019.txt:
01.
Opel-Astra:3578
02.
VW-Golf:3469
03.
VW-Touran:2433
04.
Opel-Corsa:1567
Besteht die Möglichkeit die Liste quartal4_2018.txt: direkt updaten und nach Häufigkeit sortieren ohne jedesmal die ursprungliche Liste ohne Häufigkeitssortierung anzuwenden?
Mitglied: ukulele-7
LÖSUNG 11.09.2019 um 17:04 Uhr
Ohne dir wirklich gut helfen zu können: Das sind eigentlich Aufgaben von Datenbanken (aggregieren, gruppieren, etc.). Willst/musst du wirklich mit Textdateien arbeiten?
Bitte warten ..
Mitglied: takitano
11.09.2019 um 17:15 Uhr
Oh, Steine auf mein Kopf!!! Aber natürlich! Wie ich selbst auf die Idee nicht gekommen?! Vielen Dank!
Bitte warten ..
Mitglied: psuser
11.09.2019, aktualisiert um 18:36 Uhr
Würde natürlich auch zur Datenbank raten, hier trotzdem noch zur Frage des Threads falls es jemand waeum auch immer gebrauchen kann:
01.
#!/bin/bash
02.
oldfile="quartal4_2018.txt"
03.
newlist="quartalneu.txt"
04.
newfile="quartal1_2019.txt"
05.
new=$(cat "$newlist" | sort | uniq -c | sed -re 's/^\s*([0-9]+) (.*)/\2:\1/')
06.
tmp=$(mktemp)
07.
awk -F":" -v n="$new" '{if (match(n,$1":([0-9]+)",arr)){print $1":"arr[1]+$2}}' "$oldfile" | sort -nrt ":" -k 2 >"$tmp"
08.
mv "$tmp" "$newfile"
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Textdatei (.txt) Wort für Wort auslesen per batch (Spaltenweise)

Frage von pdiddoBatch & Shell1 Kommentar

Hi, ich habe eine Textdatei (.txt). Diese hat mehrere Zeilen. Ich möchte diese gerne Spalte für Spalte auslesen, sodass ...

Batch & Shell

TODO List in ( Batch )

gelöst Frage von clragonBatch & Shell4 Kommentare

Hallo Liebe Forum-Nutzer Ich habe heute versucht, mir eine Batch zu schreiben die Notizen anzeigt, aka eine Todo Liste ...

Windows Tools

eml nach Empfängeradresse sortiert verschieben

Frage von AS-N00Windows Tools13 Kommentare

Hallo, ich habe hier hundert tausende *.eml Dateien, also E-Mails aus unserer ERP-Software. Die möchte ich gerne in ein ...

Windows 7

Win7 firewall list von

Frage von AtoAtoWindows 77 Kommentare

hallo in Win7 kann ich mit dem Befehl netsh advfirewall firewall show rule status=enabled name=all zeige alle Rules, die ...

Neue Wissensbeiträge
Windows Server

Active Directory ESE Version Store Changes in Server 2019

Information von Dani vor 3 TagenWindows Server

Moin, Last month at Microsoft Ignite, many exciting new features rolling out in Server 2019 were talked about. But ...

Exchange Server

Microsoft Extending End of Support for Exchange Server 2010

Information von Dani vor 3 TagenExchange Server4 Kommentare

Moin, After investigating and analyzing the deployment state of an extensive number of Exchange customers we have decided to ...

Schulung & Training

Humble Book Bundle: Network and Security Certification 2.0

Tipp von NetzwerkDude vor 3 TagenSchulung & Training

Abend, bei HumbleBundle gibts mal wider ein schönes Paket e-books: sind verschiedene Zertifizierungen wie MCSA, CCNA, CompTIA etc., für ...

Voice over IP

Telekom Umstellung von ISDN Anlagenanschluss auf IP-Telefonie

Erfahrungsbericht von NixVerstehen vor 6 TagenVoice over IP10 Kommentare

Hallo zusammen, nachdem nun vor ein paar Tagen die zwangsweise Umstellung von ISDN auf IP-Telefonie problemlos über die Bühne ...

Heiß diskutierte Inhalte
VB for Applications
Euro-Zeichen in jedem neu erstellten Brief mit Word automatisch entfernen
gelöst Frage von imebroVB for Applications23 Kommentare

Hallo, ich habe ein Problem mit Word, bzw. mit dem €-Zeichen, welches bei Erstellung eines Word-Briefes automatisch eingesetzt wird. ...

Batch & Shell
Regedit eintrad ändern als Admin
Frage von cyberworm83Batch & Shell19 Kommentare

Hallo zusammen, ich bin derzeit als Rollout Techniker unterwegs und muss täglich bei zig Rechnern einen Registry Einträg ändern ...

LAN, WAN, Wireless
Gebäude mit LWL-Anschlüssen ausstatten - VorNachteile?
Frage von staybbLAN, WAN, Wireless17 Kommentare

Hallo zusammen, es gibt ja mittlerweile viele Firmen die nicht nur ihre Backbones mit FibreChannel anbinden sondern auch direkt ...

Visual Studio
Prüfen, ob Programm schon disposed wurde
Frage von MarcoBornVisual Studio17 Kommentare

Hallo Forum, ich habe in VB.NET ein Programm geschrieben, welches Word startet und dort Daten ausliest. Obwohl ich die ...