Você perguntou "Como posso concatená-los?" - e a resposta é, simplesmente, com cat
:
NAME
cat - concatenate files and print on the standard output
SYNOPSIS
cat [OPTION]... [FILE]...
DESCRIPTION
Concatenate FILE(s), or standard input, to standard output.
Observe, em particular, que suas entradas podem incluir entrada padrão, não apenas arquivos. Por exemplo, você pode:
-
misture entradas e arquivos padrão
echo "new text" | cat - oldfile > newfile
-
misturar substituições padrão de entrada e processo
echo "new text" | cat - <(some_command oldfile) > newfile
por exemplo,
echo "new header" | cat - <(dd if=oldfile bs=1 skip=$header_size) > newfile
Alternativamente, você poderia usar um documento aqui e incorporar a saída do comando usando substituição de comando - essa é provavelmente uma opção melhor se o seu texto substituto consistir em mais de uma linha eg
$ cat > newfile << EOF
new
multi-line
header
$(dd if=oldfile bs=1 skip=$header_size)
EOF