Você pode tentar uma variação no dd comando , como:
dd if=small_file bs=4k of=SUM_OF_FILES
dd if=LARGE_FILE bs=4k of=SUM_OF_FILES oflag=append
dd if=LARGER_FILE bs=4k of=SUM_OF_FILES oflag=append
Eu quero combinar dois ou mais arquivos no Linux, então estou usando o seguinte comando:
cat small_file LARGE_File LARGER_FILE > SUM_OF_FILES
No entanto, isso é muito lento.
Alguém conhece uma ferramenta do Linux que combina os arquivos no tempo mais rápido?
Você pode tentar uma variação no dd comando , como:
dd if=small_file bs=4k of=SUM_OF_FILES
dd if=LARGE_FILE bs=4k of=SUM_OF_FILES oflag=append
dd if=LARGER_FILE bs=4k of=SUM_OF_FILES oflag=append
Encontrei o mmv (Mover em massa e renomear - Mover, copiar, anexar ou vincular Múltiplos arquivos usando padrões de caractere curinga.) de este referência bash útil. Então você poderia fazer:
cp small_file SUM_OF_FILES
mmv -a LARGE_File SUM_OF_FILES
mmv -a LARGER_FILE SUM_OF_FILES
(nota: mmv não está instalado por padrão, use sudo apt-get install mmv
)
Talvez
cat small_file >> LARGE_File
fará o que você quer? Se você precisar de LARGE_FILE para ficar inalterado
cp LARGE_File SUM_OF_FILES
cat small_file >> SUM_OF_FILES
é melhor, mas isso será apenas um pouco mais rápido que o seu código original.