Eu tenho a.txt
, b.txt
, c.txt
. Cada um tem números diferentes conforme abaixo:
a.txt:
12
14
111
1
15
2
b.txt
12
18
22
23
1
2
c.txt
12
14
15
16
17
1200
A saída deve conter todos os números de cada arquivo, mas sem duplicação. Existe um comando para exportar algo assim para um arquivo de texto? Os arquivos de texto reais incluem centenas de linhas.
Responder1
Você diz que seus arquivos são csv, ou seja, valores separados por vírgula, mas os exemplos que você dá são separados por novas linhas. Você pode fazer
cat a.csv b.csv c.csv | sort -u > output.csv
Responder2
Para implementações compatíveis com POSIX desort
Tudo o que você precisa é:
sort -u *.txt > output.uniq
for sed
irá concatenar os arquivos antes de classificar.
Responder3
Você poderia fazer assim se houver mais arquivos,
grep '' *.csv | cut -d: -f2 | sort -u > output.csv