pegar archivos sin delimitador


8

¿Cómo unir dos archivos verticalmente sin ningún separador? Traté de usar paste -d"" a b, pero esto solo me da a.

Archivo de muestra:

000    0   0   0
0001000200030004
  10  20  30  40
    2000    4000
            .123
            12.1
1234234534564567

1
¿Estás seguro de que esto es lo que obtienes? paste - d"" a bpegará el contenido de stdin, archivo llamado d"", a, b.
— Cuonglm

Error tipográfico @cuonglm ... arreglado.
— Tomas Greif

Usted estaba fuera por un personaje: paste -d "" a b.
— G-Man dice 'reinstalar a Monica' el

Respuestas:


14

pasteutilizar \0para delimitador nulo según lo definido por POSIX :

paste -d'\0' file1 file2

El uso -d"" a bes el mismo que -d a b: el pasteprograma ve a tres argumentos -d, ay b, lo que hace que ael delimitador y bel nombre del único archivo a pegar.

Si está en un sistema GNU (Linux no incorporado, Cygwin, ...), puede usar:

paste -d "" file1 file2

-d ""POSIX no especifica el formulario y puede producir errores en otras plataformas. Al menos BSD y reliquia pasteinformarán que no hay errores delimitadores .


3
Tenga cuidado al tratar de derivar algo del comportamiento de las llamadas herramientas "reliquia". pastede este conjunto fue escrito por Gunnar Ritter y no está relacionado con las fuentes de UNIX. El Bourne Shell de ese conjunto se derivó del OpenSolaris Bourne Shell, pero tiene sus propios errores como resultado de un puerto rápido y malicioso a los déficits en Linux ( por ejemplo, una implementación de wait () incompatible), verifique (exec ps)para verificar un bloqueo que no está presente en el original y que no está presente en mi Bourne Shell portátil.
— schily

Por cierto: pegar en Solaris antes de ~ abril de 2010 da un error "sin delimitador", paste -d '' file1 file2pero desde entonces, pegar es la implementación de pegar tomada de David Korn y esto permite -d "".
— schily

@schily: ¿Qué quieres decir con "derivar"? Menciono la herencia pasteporque la tenía y puedo probarla, no la uso para "estándar" ni para nada más.
— Cuonglm

@schily: Y también lo he probado con Solaris 11, tampoco hapaste dado ningún error delimitadorpaste -d "" .
— Cuonglm

Muchas personas creen que las herramientas con la marca "reliquia" son de fuentes originales de UNIX, pero la pasta de reliquia no lo es.
— schily

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.