Combinazione di valori da file diversi in un unico file CSV
Domanda
Ho un paio di file contenenti un valore in ogni riga.
MODIFICARE :
Ho capito la risposta a questa domanda mentre stavo scrivendo il post e non mi ero reso conto di averlo pubblicato per errore nel suo stato incompleto.
Stavo cercando di fare:
paste -d ',' file1 file2 file 3 file 4 > file5.csv
e stava ottenendo un risultato strano.In seguito mi sono reso conto che ciò accadeva perché alcuni file avevano sia un ritorno a capo che un carattere di nuova riga alla fine della riga, mentre altri avevano solo il carattere di nuova riga.Devo ricordarmi sempre di prestare attenzione a quelle cose.
Soluzione
cartella 1:
1 2 3
file2:
2 4 6
paste --delimiters=\; file1 file2
Produrrà:
1;2 3;4 5;6
Altri suggerimenti
Ho la sensazione che tu non abbia ancora finito di scrivere la tua domanda, ma ci proverò ancora.;)
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"
O,
~$ paste --delimiter , file{1,2,3}
1,a,A
2,b,B
3,c,C
probabilmente dovrai chiarire o ritaggare la tua domanda, ma allo stato attuale la risposta è qui sotto.
unendo due file sotto Linux
cat filetwo >> fileone
Inoltre, non dimenticare il sempre versatile LogParser se sei su Windows.
Può eseguire query di tipo SQL su file di testo semplici per eseguire tutti i tipi di operazioni di unione.
Le risposte precedenti utilizzando logparser o gli strumenti da riga di comando dovrebbero funzionare.Se vuoi eseguire operazioni più complicate sui record come filtraggi o join, potresti prendere in considerazione l'utilizzo di uno strumento ETL (mi vengono in mente Pentaho, Mapforce e Talend).Questi strumenti generalmente forniscono una tavolozza grafica per definire le relazioni tra le origini dati e le eventuali operazioni che desideri eseguire sulle righe.