Zum Hauptinhalt springen

Wie man eine awk-Spalte ausgibt

Zum Beispiel, wenn wir eine Students-Datei haben.txt mit Schülerinformationen, die durch Leerzeichen getrennt sind und wir nur ihre Namen ausgeben möchten, können wir den folgenden Befehl verwenden:

awk '' students.txt

Hauptmerkmale von awk

  • Stichproben von Zeilen: mit awk können Sie Zeilen auswählen, die bestimmten Bedingungen entsprechen. Dies kann nützlich sein, wenn Sie bestimmte Informationen in einer großen Datei finden müssen.
  • Aufteilen von Zeilen: awk kann Zeilen basierend auf einem Trennzeichen in einzelne Felder aufteilen. Dies ist besonders nützlich, wenn Sie mit Daten arbeiten, die durch Leerzeichen oder Kommas getrennt sind.
  • Manipulation von Daten: awk bietet eine breite Palette von integrierten Funktionen, mit denen Sie verschiedene Datenoperationen durchführen können. Zum Beispiel können Sie Zahlen addieren, Text in Groß- oder Kleinbuchstaben umwandeln usw.
  • Tabellen und Berichte: mit awk können Sie Tabellen und Berichte basierend auf Daten generieren. Sie können Daten gruppieren, zusammenfassen und aggregieren, um Pivottables und andere Zusammenfassungsberichte zu erstellen.

Awk ist ein leistungsfähiges Werkzeug, das die Verarbeitung und Analyse von Textdateien erheblich vereinfachen kann. Es bietet viele Möglichkeiten zur Datenmanipulation und funktioniert auf vielen Plattformen und ist damit die ideale Wahl für die Automatisierung von Befehlszeilenprozessen.

Wie kann ich eine Spalte in awk ausgeben, ohne spezielle Werkzeuge zu verwenden?

Angenommen, wir haben eine Datei mit durch Kommas getrennten Daten und möchten nur eine Spalte aus dieser Datei ausgeben.

Um diese Aufgabe auszuführen, verwendet awk die Variable FS (Field Separator), die ein Zeichen oder einen regulären Ausdruck als Feldtrennzeichen festlegt. Standardmäßig ist FS auf ein Leerzeichen gesetzt, aber wir können es in ein Komma ändern, um unsere Datei zu verarbeiten.

awk -F ',' '

����ь - это числовой индекс столбца, который нам нужно вывести. Индексация начинается с 1. Например, если нам нужно вывести второй столбец, мы используем $2.

Давайте рассмотрим пример. Предположим, у нас есть файл data.csv со следующим содержимым:

Имя,Возраст,ГородJohn,25,New YorkAnna,30,LondonPeter,35,Paris

Um nur die Spalte "Alter" anzuzeigen, führen Sie den folgenden Befehl im Terminal aus:

awk -F ',' '' data.csv
Возраст253035

So können wir mit awk leicht eine bestimmte Spalte aus einer Datei ableiten, ohne spezielle Werkzeuge zu verwenden.

Wie kann ich eine bestimmte Spalte in awk mit einem speziellen Befehl ausgeben?

In awk gibt es eine einfache und effiziente Möglichkeit, eine bestimmte Spalte aus einer Datei abzuleiten. Dazu können wir den speziellen Befehl "Drucken" verwenden.

Zunächst müssen wir ein Spaltentrennzeichen in der Datei angeben, damit awk die Daten korrekt trennen kann. Spalten werden normalerweise durch Leerzeichen oder Tabulatoren getrennt. Wenn Ihre Datei ein anderes Trennzeichen verwendet, müssen Sie es mit der Option "-F" angeben.

Um eine bestimmte Spalte auszugeben, können wir die Variable "$" verwenden, nach der wir die Spaltennummer angeben. Um beispielsweise die dritte Spalte auszugeben, können wir den folgenden Befehl verwenden:

Das TeamDie Beschreibung
awk '' filename

Wenn Sie mehrere Spalten ausgeben müssen, können Sie sie durch ein Leerzeichen auflisten:

Das TeamDie Beschreibung
awk '' filename
Das TeamDie Beschreibung
awk '' filename

Wie kann ich mehrere Spalten in awk mit einem speziellen Befehl ausgeben?

Der Befehl awk enthält die Option -F , mit der Sie ein Trennzeichen zwischen den Spalten in der Datendatei angeben können. Standardmäßig ist das Trennzeichen ein Leerzeichen, aber es kann in jedes andere Zeichen geändert werden.

awk -F"разделитель" '' файл_данных.txt
Das TeamDie Beschreibung
awk -F"Trennzeichen" " Datendatei.txt

Auch wenn Sie mit großen Dateien arbeiten, können Sie die Arbeit von awk in mehrere parallele Prozesse unterteilen, indem Sie das Dienstprogramm parallel verwenden. Dadurch wird die Programmausführung beschleunigt und die Ressourcen von Multiprozessorsystemen effizient genutzt.

Dieser Befehl zeigt nur die erste Spalte aus der Datei file an.txt.

awk -F ":" '' file.txt awk '$3 > 10 ' Datei.txt