Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Technische Informatik (http://www.informatikerboard.de/board/board.php?boardid=7)
--- Unix Ein-und Ausgaben (http://www.informatikerboard.de/board/thread.php?threadid=4336)


Geschrieben von Studdiii am 14.11.2020 um 18:03:

  Unix Ein-und Ausgaben

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



Geschrieben von nutzloser Student am 14.11.2020 um 18:41:

 

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 ?



Geschrieben von as_string am 16.11.2020 um 12:04:

 

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


Forensoftware: Burning Board, entwickelt von WoltLab GmbH