No Linux, tenho o seguinte problema com o paste
(GNU coreutils) 8.13:
Tentar definir outro delimitador que não o padrão (TAB) resulta em apenas imprimir o primeiro caractere do delimitador definido ou ignorá-lo perfeitamente.
Pergunta : Como se define (vários) delimitadores ao usar paste
?
Simplesmente usar, por exemplo, abc-123 como delimitador, seria bom. Com "múltiplo", quero dizer, por exemplo, 2 TABS em vez de um.
Os padrões que envolvem o (s) delimitador (es) 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="\0"
→ nada entre--delimiters="\t"
→ TAB, o padrão. Ótimo.
fonte
/dev/null
para criar duas colunas em processamento de texto " obras (além: é este conhecimento comum que eu perdi até agora e se não: de onde você tirou essa informação?)/dev/null
age como um arquivo vazio ao ler, então você está colandofile1
, e arquivo vazio e arquivo vazio, arquivo2 com separadores sendo, por sua veza
,b
ec
. Detalhes sobre como os-d
trabalhos estão napaste
página de manual.pr -mts'abc' file1 file2
como alternativa?É porque você está dando apenas dois arquivos para ingressar, cada caractere da cadeia de caracteres delimitador é usado entre cada junção de linhas de cada um dos arquivos de entrada.
por exemplo
fonte
Nos sistemas BSD (não é do meu conhecimento o Linux), existe o
lam
utilitário (como em "laminado"), que é mais rápido e mais curto que a solução acima:fonte