[LINUX] Berechnen Sie den Gesamtwert mehrerer Spalten mit awk

1. Überprüfen Sie das Feld (Element)

Überprüfen Sie das Feld (Artikelname) vor awk. Das Feld befindet sich normalerweise in der ersten Zeile der (?) Datei. Verwenden Sie also weniger oder Kopf, um es zu überprüfen.

head -1 Dateiname

Ich denke, dass Feldnamen oft mit Kommas ohne Zeilenumbrüche oder Pipe-Trennzeichen beschrieben werden. Anstatt visuell zu zählen, um zu sehen, "wie viele Felder die Zielspalte ist" Es ist sicher und effizient, das Trennzeichen mit einem Sakura-Editor oder ähnlichem in einen Zeilenumbruch umzuwandeln. Kopieren Sie das Ausgabefeld.

2. Mit Sakura Editor ausrichten

Aktivieren Sie im Sakura-Editor Strg + r (Ersetzen) die Option Regulärer Ausdruck im Dialogfeld. Ersetzen Sie das Trennzeichen durch "\ r \ n (Bruchlinie)". image.png image.png

Sie können erkennen, welche Spalte in der Zeilennummer enthalten ist.

3. (In Excel ausrichten)

Für diejenigen, die Sakura Editor nicht verwenden. Einführung in das Ersetzen von Trennzeichen in Excel. (* Da reguläre Ausdrücke in Windows Notepad nicht verwendet werden können, können sie nicht durch Zeilenumbrüche usw. ersetzt werden.)

Fügen Sie zunächst die Zeichenfolge in Excel ein. image.png Strg + h oder wählen Sie Ersetzen auf der Registerkarte Start> Gruppe bearbeiten, um den Dialog anzuzeigen image.png "Suchzeichenfolge": (Trennzeichen eingeben) "Zeichenkette nach dem Ersetzen": Drücken Sie ** Strg + j ** (ein Symbol wie ein Punkt wird angezeigt, dies bedeutet jedoch einen Zeilenumbruch). Klicken Sie anschließend auf Alle ersetzen image.png Da es in einer Zelle ausgegeben wird, wählen Sie alle Kopien aus, nachdem Sie den Bearbeitungsmodus mit F2 oder Doppelklick aufgerufen haben. Einfügen nach Verlassen des Bearbeitungsmodus image.png Gehen Sie in diesem Zustand zur Registerkarte Start> Gruppe bearbeiten> Suchen und wählen Sie> Bedingungen auswählen und springen Wählen Sie im Dialogfeld mit den Auswahloptionen eine leere Zelle aus und klicken Sie auf OK image.png Klicken Sie mit der rechten Maustaste auf die ausgewählte leere Zelle> Löschen> Ganze Zeile auswählen und OK image.png Die Daten sind vertikal angeordnet.

4. awk Befehl

** Wenn Sie die Summe von \ $ 40 bzw. \ $ 50 erhalten möchten **

Übergeben Sie den angegebenen Wert mit einer Pipe an awk. ▼

cat [Dateiname] | awk -F "," '{ print a += $40; b += $50 } END { print a, b }' |tail -1

[Erläuterung]

  1. Holen Sie sich alle Daten in der Datei mit cat (vergessen Sie nicht, zcat für gz-Dateien zu verwenden).
  2. Leiten Sie es an den Befehl awk weiter und verwenden Sie die Option -F, um dem Befehl mitzuteilen, was als Dateibegrenzer verwendet wird.
  3. Der Additionsoperator "+ =" fügt den linken und den rechten Operanden hinzu und weist sie der linken Seite zu. "A + = \ $ 40" bedeutet also "a = a + \ $ 40". Das heißt, weisen Sie a "a + \ $ 40" zu und wiederholen Sie dies bis zum Ende der Spalte. Schließen Sie den Vorgang einmal mit einem Semikolon ab, damit b denselben Vorgang ausführen kann. Beenden Sie die Verarbeitung in {} mit END.
  4. Drucken Sie a und b nach END, um den Gesamtwert zu drucken.
  5. Wenn dies unverändert bleibt, werden alle unnötigen Zwischenberechnungen ausgegeben. Übergeben Sie sie daher an Tail -1 und geben Sie nur die letzte Zeile aus, sodass nur die letzte Zeile ausgegeben wird.

Recommended Posts

Berechnen Sie den Gesamtwert mehrerer Spalten mit awk
Mit ReportingAPI + Cloud-Funktionen können Sie die Anzahl der Besuche auf jeder Seite ermitteln
Vergleichen Sie die Summe jedes Elements in zwei Listen mit dem in Python angegebenen Wert
Typkonvertierung mehrerer Spalten von Pandas DataFrame mit Astype gleichzeitig
Die Geschichte des Teilens der Pyenv-Umgebung mit mehreren Benutzern
Versuchen Sie, den Inhalt von Word mit Golang zu erhalten
Holen Sie sich mit Python den Betriebsstatus von JR West
Passen Sie das Verhältnis mehrerer Zahlen mit der Rasterspezifikation von Matplotlib an
Summe mehrerer Numpy-Arrays (Summe)
Holen Sie sich die Anzahl der Ziffern
Holen Sie sich UNIXTIME zu Beginn des heutigen Tages mit einem Befehl
Ermitteln Sie die Anzahl der Vorkommen für jedes Element in der Liste
Ruft den Index jedes Elements der Verwirrungsmatrix in Python ab
Rufen Sie den Hostnamen des Host-PCs mit Docker unter Linux ab
Holen Sie sich die Quelle der Seite unbegrenzt mit Python zu laden.
Ermitteln Sie die Anzahl der PVs von Qiita-Artikeln, die Sie mit API veröffentlicht haben
Holen Sie sich die Anzahl der Ansichten von Qiita
So erhalten Sie die ID von Type2Tag NXP NTAG213 mit nfcpy
Holen Sie sich das Wetter mit Python-Anfragen
Holen Sie sich das Wetter mit Python-Anfragen 2
Ruft die Attribute eines Objekts ab
Holen Sie sich das erste Element von Queryset
Rufen Sie die URL des von der Jira-Python-Bibliothek erstellten JIRA-Tickets ab
Extrahieren Sie bestimmte mehrere Spalten mit Pandas
Holen Sie sich die Anzahl der Youtube-Abonnenten
PhytoMine-I hat versucht, mit Python die genetischen Informationen der Pflanze zu erhalten
Ermitteln Sie mit Selenium + PhantomJS + Python die Breite des Div auf der Serverseite
Ich habe versucht, den Authentifizierungscode der Qiita-API mit Python abzurufen.
Lesen Sie das Diagrammbild mit OpenCV und ermitteln Sie die Koordinaten des Endpunkts des Diagramms
Holen Sie sich Artikelbesuche und Likes mit Qiita API + Python
Ich habe versucht, die Filminformationen der TMDb-API mit Python abzurufen
Erhalten und schätzen Sie die Form des Kopfes mit Dlib und OpenCV mit Python
Holen Sie sich das durchschnittliche Gehalt eines Jobs mit bestimmten Bedingungen von Indeed.com
Ruft den Rückgabewert eines externen Shell-Skripts (ls) mit python3 ab
Richten Sie die Größe der Farbleiste an der Matplotlib aus
Holen Sie sich die Spaltenliste und Datenliste von CASTable
Überprüfen Sie die Existenz der Datei mit Python
[Python] Ruft den Variablennamen mit str ab
Erhalten Sie Parlamentsprotokolle über API
Erste Schritte mit dem Dokumentationstool Sphinx
Die dritte Nacht der Runde mit für
Verlassen Sie mehrere Schleifen gleichzeitig
Ermitteln Sie den Wert der mittleren Schicht von NN
Holen Sie sich Urlaub mit der Google Kalender-API
Die zweite Nacht der Runde mit für
Holen Sie sich den letzten Tag des angegebenen Monats
[Python] Ruft den Zeichencode der Datei ab
Holen Sie sich den Dateinamen des Verzeichnisses (glob)
[PowerShell] Lesen Sie die Zeichenfolge
Holen Sie sich viele Ihrer Tweets mit Tweepy
Zählen Sie die Anzahl der Zeichen mit Echo
Ich wollte die Anzahl der Zeilen in mehreren Dateien wissen und versuchte, sie mit einem Befehl abzurufen
Rufen Sie nur den Quellcode des PyPI-Pakets mit pip über die Befehlszeile ab
Hinweis: So erhalten Sie den letzten Tag des Monats mit Python (hinzugefügt am ersten Tag des Monats)
Holen Sie sich mit Python den Aktienkurs eines japanischen Unternehmens und erstellen Sie eine Grafik
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
[Einführung in Python] So erhalten Sie den Datenindex mit der for-Anweisung
Die Geschichte des tiefen Lernens mit TPU
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Hinweis: Bereiten Sie die Umgebung von CmdStanPy mit Docker vor