So beitragen Sie und mehrere Spalten zur CSV -Formatdatei

So beitragen Sie und mehrere Spalten zur CSV -Formatdatei

Im folgenden Beispiel finden Sie einige Tipps zum Verbinden von Spalten von mehreren Dateien zu einer einzelnen Kommas -Trennungsdatei (CSV). Zum Lesen einer Spalten bilden Sie mehrere Dateien, die wir verwenden können Paste Befehl. Betrachten Sie ein folgendes Beispiel. In unserem Sandbox -Verzeichnis haben wir 3 Dateien, in denen jeweils eine einzelne Datumsspalte enthält:

$ ls f1 f2 f3 $ cat f1 AZ dr qw rt $ cat f2 iu dr gg hh jj qq ee ui $ cat f3 qp df 

Als nächstes können wir uns mit ihnen zusammenschließen Paste:

$ paste f1 f2 f3 AZ IU QP DR DF QW GG RT HH ER JJ QQ EE UI 

Standardmäßig wird der Befehl paste verwendet TAB Alle Spalten voneinander zu trennen. Dieses Verhalten kann durch Verwendung überschrieben werden -D Möglichkeit. Zum Beispiel anstelle einer Registerkarte abgrenzte Datei erstellen wir eine von Kommas abgegrenzte Datei:

$ paste -d, f1 f2 f3 AZ, IU, QP DR, DR, DF QW, GG, RT, HH, ER, JJ, QQ, EE, UI, 

OK, das war einfach. Aber was ist mit dem Verbinden einer ausgewählten Spalten aus mehreren Spaltendateien? Betrachten Sie eine Anhängerschaft TAB Abgrenzte Sendendateien, bei denen jede Datei mehr als eine Spalte enthält:

$ ls f4 f5 f6 $ cat f4 qw mn qw ty ix ao pi er 

Wenn Sie eine Einfügung für alle Dateien verwenden, werden alle Spalten in eine einzelne Ausgabe verbunden:

$ paste f4 f5 f6 qw mn qw rk wp tr e wm ty ix ao lp cy ut vb mq pi er sy wn em rp el st 

Sobald wir die oben genannte Ausgabe haben, können wir verwenden schneiden oder awk Befehle, um nur die Spalten auszuwählen, an denen wir interessiert sind. Im nächsten Beispiel werden wir uns einem zweiten und dritten von a anschließen F4 Datei, erste Spalte von F5 Datei und letzte Spalte von F6 mit , als Trennzeichen:

$ paste f4 f5 f6 | awk 'begin ofs = "," drucken $ 2, $ 3, $ 4, $ 8' mn, qw, rk, wm ix, ao, lp, mq er, sy, wn, st 

Bitte beachten Sie, dass Sie die Ausgabespalten in jeder Reihenfolge angeben können, sodass dies beispielsweise auch ein gültiger Befehl ist:

$ paste f4 f5 f6 | awk 'begin ofs = "," print $ 4, $ 8, $ 2, $ 3' rk, wm, mn, qW lp, mq, ix, ao wn, st, er, sy 

Ähnlich a schneiden Befehl mit einer Kombination von tr Kann verwendet werden, um mehrere Spalten zu verbinden oder zu trennen, und das CSV -Datei des Trennwerts von CSV oder STDIN:

$ paste f4 f5 f6 | Tr '\ t ",' | Cut -d, -f2,3,4,8 Mn, QW, Rk, Wm IX, AO, LP, MQ ER, Sy, Wn, St 

Das Letzte, was zu erwähnen ist, ist, dass Sie, um Ihre neue CSV -Ausgabe in einer Datei zu speichern. Zum Beispiel erstellen wir eine neue Datei mit dem Namen meine Daten.CSV:

$ paste f4 f5 f6 | Tr '\ t ",' | Cut -d, -f2,3,4,8> mydata.CSV 

Verwandte Linux -Tutorials:

  • So lesen und erstellen Sie CSV -Dateien mit Python
  • Mit Python können Sie eine Verbindung zu einem FTP -Server herstellen
  • Mastering -Bash -Skriptschleifen beherrschen
  • Tipps und Trick -Beispiele für nützliche Bash -Bash -Befehlszeilen - Teil 1
  • Einführung in Vagrant
  • Tipps und Trick -Beispiele für nützliche Bash -Bash -Befehlszeilen - Teil 3
  • Tipps und Trick -Beispiele für nützliche Bash -Bash -Befehlszeilen - Teil 2
  • Tipps und Trick -Beispiele für nützliche Bash -Bash -Befehlszeilen - Teil 4
  • Eine Einführung in Linux -Automatisierung, Tools und Techniken
  • Tipps und Trick -Beispiele für nützliche Bash -Bash -Befehlszeilen - Teil 5