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.­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top