[LINUX] Ich wollte die Anzahl der Zeilen in mehreren Dateien wissen und versuchte, sie mit einem Befehl abzurufen

Wenn ich programmiere ...

Wie groß seid ihr, um Dateien zu erstellen? Wie groß ist die vorhandene Datei? Ich möchte die Anzahl der Zeilen in jeder Datei wissen.

Ich denke, dort ist.

Zum Lernen habe ich beschlossen, es mit einem Befehl zu bekommen!

Ausführungsumgebung

Ich habe Linux (Ubuntu) unter Windows 10 mit WSL installiert und einen Befehl gegeben.

Zeile ## abrufen

Verwenden Sie den Befehl wc Wie nachstehend Wenn Sie es als wc-Zieldatei beschreiben

$ wc *.txt
 13  13  38 t01.txt
 38  33 106 t02.txt
  4   3   7 t03.txt
 21  18  43 t04.txt
 75  33 116 t05Service.txt
 18  16  35 t06Service.txt
148  14 171 t07Service.txt
317 130 516 total

Sie können die Informationen der txt-Datei abrufen, die im aktuellen Verzeichnis vorhanden ist. Die erfassten Informationen werden für jeden Artikel angezeigt.

Anzahl der Zeilen Anzahl der Wörter Dateikapazität (Anzahl der Bytes))Dateiname
13   13     38                t01.txt
...
...
317 130 516 gesamt hier ist die Summe

Da gibt es bei dieser Rate viele zusätzliche Informationen Holen Sie sich nur die Anzahl der Zeilen mit der Option -l

~/work$ wc *.txt -l
 13 t01.txt
 38 t02.txt
  4 t03.txt
 21 t04.txt
 75 t05Service.txt
 18 t06Service.txt
148 t07Service.txt
317 total

Es ist viel einfacher zu sehen, da es nur die Anzahl der Zeilen und der Dateiname ist.

Wird in Zeilenreihenfolge angezeigt.

wc Befehl Pipe '|' Sortierbefehl wurde verwendet.

$ wc *.txt -l | sort
  4 t03.txt
 13 t01.txt
 18 t06Service.txt
 21 t04.txt
 38 t02.txt
 75 t05Service.txt
148 t07Service.txt
317 total

Es war schön in der Reihenfolge der Anzahl der Dateizeilen angeordnet.

Als nächstes werde ich versuchen, nur die Datei "*** Service.txt" abzurufen.

$  wc *Service.txt -l | sort
 18 t06Service.txt
 75 t05Service.txt
148 t07Service.txt
241 total

Hurra! Ich konnte nur die Anzahl der Zeilen in der Servicedatei abrufen.

・ ・ ・: Entspannt:

Zeigen Sie jetzt den Durchschnitt an!

Löschen Sie zunächst die TOTAL-Zeile, da dies ein Hindernis darstellt.

Ich habe den Befehl sed verwendet. Dies stellt die letzte Zeile dar, wenn $ im Adressteil angegeben ist, sodass d (Löschen) dafür ausgeführt wird.

$ wc *.txt -l | sort | sed '$d'
  4 t03.txt
 13 t01.txt
 18 t06Service.txt
 21 t04.txt
 38 t02.txt
 75 t05Service.txt
148 t07Service.txt

Es ist verschwunden! Außerdem Verwenden Sie den Befehl awk, um den Durchschnitt anzuzeigen.

$ wc *.txt -l | sort | sed '$d' |  awk '{n += $1}{i +=1 }; END{print int(n/i) }'
45

Ich habe die durchschnittliche Anzahl der Zeilen "45" aus dem obigen Befehl erhalten! !! : Augen rollen:

Was macht awk übrigens? .. ..

Addiere die Anzahl der Zeilen zu n für jede Zeile zu i+1 Wenn alle Linien fertig sind, wird Folgendes angezeigt: Minderheitspunkte abschneiden (n ÷ i)
awk       '{n += $1}  {i +=1 };   END       {print  int(n/i) }'

Es ist wie

Die Optionen des Befehls wc sind wie folgt.

-l
Zeigen Sie die Anzahl der Zeilen in der Datei an.

-c
Zeigen Sie die Anzahl der Bytes in der Datei an.

-m
Zeigen Sie die Anzahl der Zeichen in der Datei an.

-L
Zeigen Sie die Anzahl der Bytes in der längsten Zeile an.

-w
Zeigen Sie die Anzahl der Wörter in der Datei an.

Ich habe es nicht benutzt, aber es scheint, dass Sie die Anzahl der Dateien mit einem Befehl wie dem folgenden überprüfen können.

$ ls -1 | wc -l

Die Option des Befehls ls lautet "-1(Nummer 1)」
Die Option des Befehls wc lautet "l (unterer Buchstabe L des Alphabets)".

Referenz Was ist, wenn ich nur die letzte Textzeile löschen möchte?

[Anmerkung zu awk] (https://qiita.com/SYutaka/items/b6aadfa279c516a3b90b)

Recommended Posts

Ich wollte die Anzahl der Zeilen in mehreren Dateien wissen und versuchte, sie mit einem Befehl abzurufen
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
Als ich in IPython versuchte, den Wert zu sehen, war es ein Generator, also kam ich auf ihn, als ich frustriert war.
Ich habe versucht, die Anzahl der im Inland infizierten Menschen der neuen Korona mit einem mathematischen Modell vorherzusagen
[Linux] Ein Befehl zum Abrufen einer Liste der in der Vergangenheit ausgeführten Befehle
Ich habe versucht, den Authentifizierungscode der Qiita-API mit Python abzurufen.
Ich habe versucht, den Höhenwert von DTM in einem Diagramm anzuzeigen
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Beachten Sie die Lösung, da Django nicht mit pip installiert werden konnte
Ich habe einen Appdo-Befehl erstellt, um Befehle im Kontext der App auszuführen
Ich möchte eine Liste der WebDAV-Dateien im Modul Anfragen anzeigen
Ich habe die Größenänderung von TensorFlow nicht verstanden und sie daher visuell zusammengefasst.
Ich habe versucht, ein Modell mit dem Beispiel von Amazon SageMaker Autopilot zu erstellen
Ich wollte das Suchmodul von Ansible2 verwenden, aber es hat einige Zeit gedauert, machen Sie sich also eine Notiz
So ermitteln Sie die Anzahl der Stellen in Python
[Python & SQLite] Ich habe den erwarteten Wert eines Rennens mit Pferden im 1x-Gewinnbereich ① analysiert
Ich habe versucht, die Anzahl der mit dem Coronavirus infizierten Menschen in Japan nach der Methode des neuesten Papiers in China vorherzusagen
Ich habe versucht, die Anzahl der mit dem Coronavirus infizierten Personen unter Berücksichtigung der Auswirkung des Verzichts auf das Ausgehen vorherzusagen
Ich habe versucht, mit dem Seq2Seq-Modell von TensorFlow so etwas wie einen Chatbot zu erstellen
Wie identifiziere ich das Element mit der geringsten Anzahl von Zeichen in einer Python-Liste?
Ich habe versucht, eine Klasse für die Suche nach Dateien mit der Glob-Methode von Python in VBA zu erstellen
Ich wollte die Google-Tabelle mit AWS Lambda betreiben, also habe ich es versucht [Teil 2]
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Ich habe versucht, die Standortinformationen des Odakyu-Busses zu erhalten
Ich habe versucht, mit TensorFlow den Durchschnitt mehrerer Spalten zu ermitteln
Holen Sie sich UNIXTIME zu Beginn des heutigen Tages mit einem Befehl
[Befehl] Befehl zum Abrufen einer Liste von Dateien mit Zeichen voller Breite
Ich habe versucht "Wie man eine Methode in Python dekoriert"
Ich habe versucht, mit Hy ・ Define a class zu beginnen
Ich möchte die Legende der IT-Technologiewelt kennenlernen
Ich wollte mit boto3 mehrere objekte in s3 löschen
Ich wollte den Motor mit einer Raspeltorte laufen lassen, also habe ich versucht, das Motor Driver Board von Waveshare zu verwenden
Ich habe eine Klasse erstellt, um das Analyseergebnis von MeCab in ndarray mit Python zu erhalten
Rufen Sie die Excel-Liste rekursiv in einem bestimmten Ordner mit Python ab und schreiben Sie sie in Excel.
Ich habe eine Funktion zum Trimmen des Bildes von Python openCV erstellt. Verwenden Sie sie daher bitte.
Da es Doppelgenger gab, habe ich versucht, es mit künstlicher Intelligenz zu unterscheiden (lacht) (Teil 1)
[Grafikzeichnung] Ich habe versucht, ein mehrreihiges Balkendiagramm mit Matplotlib und Seaborn zu schreiben
Ich habe versucht, den Trend der Anzahl der Schiffe in der Bucht von Tokio anhand von Satellitenbildern zu ermitteln.
Ich mag es nicht, mit der Veröffentlichung von Pokemon Go frustriert zu sein, deshalb habe ich ein Skript erstellt, um die Veröffentlichung zu erkennen und zu twittern
Ich habe versucht, den Datenverkehr mit WebSocket in Echtzeit zu beschreiben
[Linux] Ich habe versucht, die Ressourcenbestätigungsbefehle zusammenzufassen
Ich habe versucht, mit Pandas eine Pferderenn-Datenbank zu erstellen
Ich habe versucht, die Bewässerung des Pflanzgefäßes mit Raspberry Pi zu automatisieren
[Python] Ein Memo, das ich versucht habe, mit Asyncio zu beginnen
[Einführung in StyleGAN] Ich habe mit "The Life of a Man" ♬ gespielt
Ich habe versucht, mit Python eine Liste von Primzahlen zu erstellen
Ich habe versucht, mit Boto3 eine Liste der AMI-Namen zu erhalten
Ich habe am Wochenende versucht, mit Bitcoin Systre zu beginnen
So ermitteln Sie die Scheitelpunktkoordinaten eines Features in ArcPy
Ich wollte das ABC164 A ~ D-Problem mit Python lösen
Ich habe versucht, das Bild mit OpenCV im "Bleistift-Zeichenstil" zu verarbeiten
Ich habe versucht, die Größe des logischen Volumes mit LVM zu erweitern
Erstellen Sie eine Funktion, um den Inhalt der Datenbank in Go abzurufen
Ich habe den Befehl gegeben, einen farbenfrohen Kalender im Terminal anzuzeigen
Ruft eine Liste der Dateien in einem Ordner mit Python ohne Pfad ab
Holen Sie sich die Anzahl der Leser von Artikeln über Mendeley in Python
PhytoMine-I hat versucht, mit Python die genetischen Informationen der Pflanze zu erhalten
Ich habe versucht, mit Go einen exklusiven Kontrollmechanismus zu erstellen