![21 Open Source/Commercial Control Panels zur Verwaltung von Linux-Servern](/f/91e0cb4e8220e0abd3121bba9828ce6f.png?width=100&height=100)
Wenn es um die Verwaltung und Analyse von Daten geht, ist die Konvertierung von Dateien von einem Format in ein anderes häufig erforderlich. Wenn Sie mit arbeiten CSV (Komma-getrennte Werte)-Dateien unter Linux und möchten sie in konvertieren TSV (Durch Tabulatoren getrennte Werte)-Dateien haben, sind Sie hier richtig, denn dieser Artikel hilft Ihnen bei der Durchführung der erforderlichen Konvertierung.
CSV Dateien werden häufig zum Speichern strukturierter Daten verwendet. Jedoch, TSV Dateien bieten einige Vorteile gegenüber CSV Dateien.
Während CSV Dateien trennen Werte durch Kommas, TSV Dateien verwenden Tabulatoren, was die Datenverarbeitung erleichtern kann, insbesondere beim Umgang mit Kommas innerhalb der Daten selbst.
TSV-Dateien sind tendenziell auch besser mit verschiedenen Anwendungen und Tools kompatibel, die üblicherweise zur Datenverarbeitung und -analyse verwendet werden.
Konvertieren CSV Dateien zu TSV Dateien unter Linux können durch verschiedene Methoden erreicht werden:
Inhaltsverzeichnis
awk ist ein leistungsstarkes Textverarbeitungstool, mit dem Sie Daten effizient bearbeiten und umwandeln können. Es wird auch zum Konvertieren einer CSV-Datei in eine TSV-Datei verwendet, wie gezeigt.
$ awk -F ',' 'BEGIN {OFS="\t"} {$1=$1}1' tecmint.csv > tecmint.tsv. $ ls -l tecmint.tsv.
Ersetzen tecmint.csv mit dem tatsächlichen Dateinamen Ihrer CSV-Datei und tecmint.tsv mit dem gewünschten Dateinamen für die konvertierte TSV-Datei.
Lassen Sie uns den Befehl aufschlüsseln:
-F ','
Legt das Trennzeichen für das Eingabefeld als Komma fest und gibt an, dass die Eingabedatei im CSV-Format vorliegt.BEGIN {OFS="\t"}
legt das Ausgabefeldtrennzeichen als Tabulator fest und gibt an, dass die Ausgabedatei im TSV-Format vorliegen soll.{$1=$1}
zwingt awk dazu, die Eingabefelder unter Verwendung der angegebenen Feldtrennzeichen neu zu formatieren.1
ist ein häufiges AWK-Muster, das die Standardaktion auslöst, nämlich das Drucken des geänderten Datensatzes.Der sed-Befehl ist ein weiteres leistungsstarkes Tool unter Linux, mit dem sich CSV-Dateien problemlos in TSV-Dateien konvertieren lassen.
Hier ist das sed Befehl, den Sie im Terminal ausführen müssen, um eine CSV-Datei in eine TSV-Datei zu konvertieren.
$ sed 's/,/\t/g' tecmint.csv > tecmint.tsv. $ ls -l tecmint.tsv.
Lassen Sie uns die Komponenten des Befehls verstehen:
s/,/\t/g
ist das von sed verwendete Ersetzungsmuster, das nach Kommas sucht (,)
in der Eingabedatei und ersetzt sie durch Tabulatoren (\T)
.Der csvkit Die Bibliothek bietet eine praktische und leistungsstarke Möglichkeit Satz von Befehlszeilentools zum Arbeiten mit CSV-Dateien unter Linux. Es bietet eine einfache Möglichkeit, CSV-Dateien in das TSV-Format zu konvertieren.
Sie müssen jedoch zuerst installieren csvkit auf Ihrem Linux-System mit dem folgenden Befehl:
$ sudo apt install csvkit [Ein Debian, Ubuntu und Mint] $ sudo yum install csvkit [EinRHEL/CentOS/Fedora Und Rocky/AlmaLinux] $ sudo emerge -a sys-apps/csvkit [EinGentoo Linux] $ sudo apk csvkit hinzufügen [EinAlpine Linux] $ sudo pacman -S csvkit [EinArch Linux] $ sudo zypper install csvkit [EinOpenSUSE]
Dann verwenden Sie den folgenden Befehl mit -T
Option, die das Ausgabetrennzeichen als Tabulator angibt und die CSV-Datei in das TSV-Format konvertiert.
$ csvformat -T tecmint.csv > tecmint.tsv. $ ls -l tecmint.tsv.
Um eine CSV-Datei in eine TSV-Datei unter Linux zu konvertieren, können Sie Python verwenden, eine vielseitige Programmiersprache, die häufig in Linux-Systemen verfügbar ist. Führen Sie die folgenden Schritte aus, um Python für die Konvertierung zu verwenden:
Erstellen Sie im Terminal eine neue Python-Skriptdatei, indem Sie den folgenden Befehl ausführen:
$ nano tecmint.py. ODER. $ vi tecmint.py.
Fügen Sie dann den folgenden Code in die Skriptdatei ein.
csv importieren csv_file = 'tecmint.csv' tsv_file = 'tecmint.tsv' mit open (csv_file, 'r') als Eingabedatei, open (tsv_file, 'w') als Ausgabedatei: csv_reader = csv.reader (input_file) tsv_writer = csv.writer (output_file, delimiter='\t') für Zeile in csv_reader: tsv_writer.writerow (Reihe)
Sie müssen den CSV-Dateinamen durch Ihren eigenen, in Ihrem System gespeicherten Dateinamen und den TSV-Dateinamen Ihrer Wahl ersetzen.
Führen Sie dann die Python-Datei mit dem aus Python3 Dolmetscher:
$ python3 tecmint.py.
Sie können auch verwenden Perl Programmiersprache unter Linux zum Konvertieren einer CSV-Datei in eine TSV-Datei. Zu diesem Zweck müssen Sie die unten aufgeführten Schritte befolgen:
Erstelle eine neue Perl Skriptdatei mit dem folgenden Befehl:
$ nano tecmint.pl. ODER. $ vi tecmint.pl.
Fügen Sie den folgenden Code in die Skriptdatei ein:
#!/usr/bin/perl use strict; Warnungen verwenden; my $csv_file = 'tecmint.csv'; my $tsv_file = 'tecmint.tsv'; open (mein $input_fh, '', $tsv_file) oder die „Fehler beim Erstellen von $tsv_file: $!“; while (my $line = ) { chomp $line; meine @fields = split(',', $line); my $tsv_line = join("\t", @fields); drucke $output_fh $tsv_line. "\N"; } schließen $input_fh; schließen $output_fh;
Speichern Sie dann die Datei mit STRG+X
, gefolgt von Y und Eingabetaste.
Machen Sie das Perl-Skript ausführbar und führen Sie das Perl-Skript mit den folgenden Befehlen aus:
$ chmod +x tecmint.pl. $ ./tecmint.pl. $ ls -l tecmint.tsv.
Wenn Sie unter Linux mit CSV-Dateien arbeiten und diese in TSV-Dateien konvertieren müssen, stehen mehrere Methoden zur Verfügung. Der Artikel enthält Schritt-für-Schritt-Anleitungen zur Verwendung von Befehlen wie awk Und sed, unter Verwendung der csvkit Bibliothek, verwendend Python, und Beschäftigung Perl Programmiersprache.
Jede Methode bietet ihre eigenen Vorteile und ermöglicht eine einfache Konvertierung von CSV-Dateien in das TSV-Format. Durch Befolgen der bereitgestellten Anweisungen können Benutzer die erforderliche Konvertierung effizient durchführen und mit TSV-Dateien in ihrem Linux-System arbeiten.