Para ter abc
entre arquivo1 e arquivo2, você pode fazer:
paste -d abc file1 /dev/null /dev/null file2
Ou:
paste -d abc file1 - - file2 < /dev/null
Se você quiser duas guias:
paste file1 /dev/null file2
No Linux, tenho o seguinte problema com paste
de (GNU coreutils) 8.13:
Tentar definir outro delimitador do que o padrão (TAB) resulta em apenas imprimir o primeiro caractere do delimitador definido ou ignorá-lo perfeitamente.
Pergunta : Como se define delimitadores (múltiplos) ao usar paste
?
Uso simples, por exemplo abc-123 como delimitador seria legal. Com "múltiplo", quero dizer, e. 2 TABS em vez de um.
Os padrões que envolvem o (s) delimitador (s) que eu tentei até agora foram
--delimiters="\delimiter"
--delimiters='\delimiter'
--delimiters=$"\delimiter"
--delimiters=$'\delimiter'
Tudo com o mesmo resultado: somente o primeiro caractere é aceito ou perfeitamente ignorado. Eu também tentei a versão curta -d"\"
e várias instâncias & ndahs; nada.
Além disso:
--delimiters="\"
→ Mensagem de erro O que funciona perfeitamente, embora não seja o que eu quero:
--delimiters="\n"
→ nova linha --delimiters="--delimiters="\t"
"
→ nada entre É porque você está dando apenas dois arquivos para unir, cada caractere da string delimitadora é usado entre cada junção de linhas de cada um dos arquivos de entrada.
por exemplo
file1 line1 DELIMCHAR0 file2 line1 DELIMECHAR1 file3 line1 ...
file1 line2 DELIMCHAR0 file2 line2 DELIMECHAR1 file3 line2 ...
...
Em sistemas BSD (não são de conhecimento do Linux), existe o utilitário lam
(como em “laminate”), que é mais rápido e mais curto do que a solução acima:
lam file1 -s delimiter file2
Tags text-processing paste