cat file1 file2
combinará dois arquivos de texto. Mas se eu quiser adicionar um separador entre, como uma linha ou duas********************************
, preciso abrir o primeiro arquivo e adicionar a linha no final ou abrir o segundo arquivo e adicionar a linha no topo e, em seguida, executar o cat
comando? Isso pode ser feito apenas com a execução de um comando?
text-processing
StackExchange for All
fonte
fonte
echo '**********************' |cat file - file2
echo
sempre faz.printf 'no newline' | tee file1 >file2; printf 'no newline' | cat file1 - file2
...<(echo -n '****')
para suprimir a nova linha do eco.cat
mostra apenas um quando o arquivo possui um (no final).Outra abordagem sem usar
cat
como encontrada aqui ,O final
sed 1d
tubo é remover a primeira linha que também terá o delimitador.No entanto, o
sed
uso final poderia muito bem ser evitado se usarmos o comando sugerido por 1_CR em seus comentários.fonte
sed
alterandoawk
padrão paraFNR == 1 && NR != 1
Você também pode dividi-lo em vários comandos:
E você pode canalizar ou redirecionar isso usando um comando de grupo ou um subshell:
Obviamente, você pode escrever isso em várias linhas, em vez de usar ponto e vírgula, como normal. E é fácil estender para outro arquivo com outro delimitador etc.
fonte
Com
paste
:fonte