Unix Ein-und Ausgaben |
Studdiii unregistriert
|
|
Meine Frage:
Hallo liebes Forum.
Ich habe eine kleine Frage zu einem "Stück" Code
sort -r -k2 -n data.csv >>sorted
cut -d\! -f5,4 <sorted |tr \! +|paste -s -d+ |bc >result
leider bin ich in c++ nicht geübt und durch die Covid-19 gab es in meiner Uni keinen Kurs dazu, aber ich muss es für die Veranstaltungen plötzlich in meiner Vorlesungsfreien zeit gelernt haben...
Das Thema ist Ein- und Ausgaben, wobei ich hier nicht verstehe was genau das hier alles bedeuten soll?
Wäre es okay wenn mir jemand helfen könnte jedes Stück zu entziffern?
Meine Ideen:
cut (Schneidet)
-d\ (sucht im ganzen Verzeichnis, nach der Wurzel)
-f5 zeigt mir nur das fünfte Feld an
... den Rest des Codes habe ich leider nicht verstanden.
Tut mir leid wenn die Frage zu Simpel ist, aber ich versuche gerade alles zu lernen
|
|
14.11.2020 18:03 |
|
|
|
Noch eine Frage zu dieser, wenn jemand weiß woher man diese Aufgabe oder so änhliche lösen kann, wäre es ganz nett. gibt eine Checkliste mit den Befehlen ?
|
|
14.11.2020 18:41 |
|
|
as_string
Haudegen
Dabei seit: 06.11.2013
Beiträge: 638
Herkunft: Heidelberg
|
|
Das ist ja shell Programmierung. Das hat mit C++ gar nichts zu tun.
sort, cut, tr, paste, bc sind ganz normale Unix Shell-Befehle. Die kannst Du Dir mit den jeweiligen man-Pages erklären lassen.
-d ist z. B. eine Option des Befehls cut, der das Trennzeichen definiert (delimiter). Das \! danach ist ein escape-tes Ausrufezeichen. Sprich: Es wird definiert, dass cut das Ausrufezeichen als Trennzeichen interpretieren soll und jede Zeile der Eingabe (hier die Datei sorted, die in der Zeile vorher aus der Ausgabe von sort geschrieben wurde) so beschneiden soll, dass nur Spalte 5 und 4 in die Ausgabe soll (-f5,4 -> f steht für fields, auch eine Option des Befehls cut)
sort sortiert die Zeilen einer Datei (auch mit verschiedenen Optionen, -n bedeutet z. B., dass es numerisch sortiert werden soll, -r steht für reverse, also absteigend, etc.)
tr ist translate und ersetzt einzelne Zeichen (hier wohl das Ausrufezeichen durch ein Pluszeichen? Keine Ahnung, müsste ich ausprobieren), paste fügt Zeilen zusammen, bc macht ne Rechnung (offenbar sollen Zahlen, die in Spalten einer csv-Datei stehen, irgendwie zusammen addiert werden, hast Du eine entsprechende CSV-Datei mal als Beispiel?)
Gruß
Marco
|
|
16.11.2020 12:04 |
|
|
|