En Linux, tengo el siguiente problema con paste
(GNU coreutils) 8.13:
Intentar establecer otro delimitador que no sea el predeterminado (TAB) da como resultado simplemente imprimir el primer carácter del delimitador definido o ignorarlo perfectamente.
Pregunta : ¿Cómo se definen los delimitadores (múltiples) al usar paste
?
Simplemente usando, por ejemplo, abc-123 como delimitador sería bueno. Con "múltiple" quiero decir, por ejemplo, 2 TABS en lugar de uno.
Los patrones que encierran los delimitadores que he probado hasta ahora fueron
--delimiters="\delimiter"
--delimiters='\delimiter'
--delimiters=$"\delimiter"
--delimiters=$'\delimiter'
Todo con el mismo resultado: solo se acepta el primer personaje o se ignora perfectamente. También probé la versión corta -d"\"
y varias instancias & ndahs; nada.
También:
--delimiters="\\"
→ Mensaje de error
Lo que funciona perfectamente, aunque no lo que quiero:
--delimiters="\n"
→ nueva línea--delimiters="\0"
→ nada en el medio--delimiters="\t"
→ TAB, el valor predeterminado. Excelente.
fuente
/dev/null
la creación de dos columnas en el procesamiento de textos " (además de las obras: es este conocimiento común que he echado de menos hasta ahora, y si no es: ¿de dónde sacaste esta información?)/dev/null
actúa como un archivo vacío al leer, por lo que está pegandofile1
, y el archivo vacío, y el archivo vacío, archivo2 con separadores siendo, a su veza
,b
yc
. Los detalles sobre cómo-d
funcionan están en lapaste
página del manual.pr -mts'abc' file1 file2
como alternativa?Es porque solo le está dando dos archivos para unir, cada carácter de cadena delimitador se usa entre cada combinación de líneas de cada uno de los archivos de entrada.
p.ej
fuente
En los sistemas BSD (no Linux, que yo sepa), existe la
lam
utilidad (como en "laminado"), que es más rápida y más corta que la solución anterior:fuente