Cuando se utilizan varios comandos de canalización en la misma entrada de números grandes con muchos dígitos, ¿cómo afecta esto a la precisión de los números? ¿Se truncan? Tenga en cuenta que dije varias veces que la entrada se usa y luego se reutiliza. Suponiendo que las funciones utilizadas para la entrada no afectan la precisión de los números, ¿"pipe |" impactarlo?
Además, mi suposición de funciones que realizan acciones al ingresar números grandes con muchos dígitos es incorrecta. Si las funciones incluyen awk, entonces mi suposición es incorrecta, ¿qué pasa con 'sed'?
Respuesta1
Aquí tenemos cinco tuberías y, como puedes ver, los personajes que salen son exactamente los mismos que los que entran:
$ echo '1.23456789012345678901234567890' | cat | cat | cat | cat | cat
1.23456789012345678901234567890
Las tuberías transmiten caracteres.sin alterar. A nada en la tubería le importa si los caracteres de una serie representan un número o no. Para una pipa, todo es sólo una serie de personajes.
Respuesta2
Un tubo
cmd1 | cmd2
obtiene la salida estándar del comando cmd1 y la envía sin cambios a la entrada estándar del comando cmd2. Si bien aplica el almacenamiento en búfer (y, por lo tanto, es algo a tener en cuenta si se trata de E/S grandes y necesita resultados en tiempo real), no realiza ninguna operación matemática y no afectará la precisión numérica de ninguna manera.