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.