Mesclagem de arquivos - mesmo nome, extensão diferente

2

Como você mesclaria diferentes arquivos .txt e .tsv de entrada (dentro de um diretório) que possuem o mesmo nome, mas uma extensão diferente em um arquivo de saída?

Entrada: file1.txt , file2.txt , file1.tsv , file2.tsv

Saída: file1.merged , file2.merged

    
por dovah 10.11.2015 / 13:23

2 respostas

2

com zsh :

ext='(txt|tsv|text|log)'
for f (**/*.$~ext(.)) cat < $f >> $f:t:r.merged

A ordem de mesclagem será alfabética dentro de um mesmo diretório. Ou seja, a/file.txt será incluído antes de b/file.txt e a/file.log antes de a/file.txt .

Observe também que arquivos ocultos (aqueles cujo nome começa com . ) não serão considerados (adicione o qualificador D glob se você quiser).

    
por 10.11.2015 / 13:53
1

cat file1.* > file1.merged

cat file2.* > file2.merged

    
por 10.11.2015 / 13:35

Tags