Sto provando, usando bash, a unire il contenuto di un elenco di file (più di 1K) in un file di grandi dimensioni.shell - cat - unire il contenuto dei file in un unico file grande
Ho provato il seguente comando cat:
cat * >> bigfile.txt
tuttavia ciò che questo comando non fa altro che unire tutto, incluso anche le cose già unite.
ad es. file1.txt
content1
file2.txt
content2
file3.txt
content3
file4.txt
content4
bigfile.txt
content1
content2
content3
content2
content3
content4
content2
ma vorrei solo
content1
content2
content3
content4
all'interno del file .txt
L'altro modo sarebbe cat file1.txt file2.txt ...
e così via ... ma non riesco a farlo per più di file 1k!
Grazie per il vostro supporto!
... o 'cat *>/tmp/bigfile; mv/tmp/bigfile .'. – tripleee
Penso che fabioln includa intenzionalmente 'bigfile.txt' nell'input; vuole aggiungere al file dai vari 'file * .txt', ma eliminando i duplicati allo stesso tempo. – chepner
Grazie ragazzi. Sì, quello era il problema! Ho messo il bigfile nella stessa dir ... quindi ho usato il comando che mi hai dato (cat dir/*> bigfile)! Solo un'altra domanda: perché metti solo> invece di >> è lo stesso? Grazie! – fabioln79