Frage

Ich habe ein paar Dateien einen Wert in jeder Zeile enthalten.

EDIT:

dachte ich, die Antwort auf diese Frage, während in der Mitte den Postens des Schreibens und ahnte nicht, dass ich es durch einen Fehler in seinem unvollständigen Zustand geschrieben hatte.

Ich habe versucht zu tun:

paste -d ',' file1 file2 file 3 file 4 > file5.csv

und wurde einen seltsamen Ausgang bekommen. Ich später erkennen, dass vorging, da einige Dateien sowohl einen Wagenrücklauf hatten und ein Newline-Zeichen am Ende der Zeile, während andere nur die Zeilenende-Marke hatten. Ich habe immer daran zu erinnern, die Aufmerksamkeit auf jene Dinge zu bezahlen.

War es hilfreich?

Lösung

Datei 1:

1
2
3

file2:

2
4
6
paste --delimiters=\; file1 file2

Wird ergeben:

1;2
3;4
5;6

Andere Tipps

Ich habe ein Gefühl, das man nicht beendet hat Ihre Frage noch eingeben, aber ich werde es noch einen Schuss. ;)

file1:  file2:  file3:
1       a       A
2       b       B
3       c       C

~$ paste file{1,2,3} |sed 's/^\|$/"/g; s/\t/","/g'
"1","a","A"
"2","b","B"
"3","c","C"

Oder

~$ paste --delimiter , file{1,2,3}
1,a,A
2,b,B
3,c,C

Sie müssen wahrscheinlich die Frage zu klären oder retag aber wie es die Antwort steht unter.

Verbinden von zwei Dateien unter Linux

cat filetwo >> fileone

Vergessen Sie auch nicht über die immer vielseitig LogParser wenn Sie unter Windows.

Es kann SQL-ähnlichen Abfragen für Textdateien ausführen, um alle Arten von Merge-Operationen auszuführen.

Die bisherigen Antworten mit logparser oder die Commandline-Tools funktionieren sollen. Wenn Sie einige kompliziertere Operationen zu den Aufzeichnungen wie Filtern oder schließt sich tun möchten, könnten Sie ein ETL-Tool prüfen, mit (Pentaho, Mapforce und Talend in den Sinn kommen). Diese Tools geben Sie in der Regel eine grafische Palette, die die Beziehungen zwischen den Datenquellen zu definieren und alle Operationen, die Sie in den Zeilen ausführen möchten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top