¿Está bien usar el mismo archivo de entrada como salida de un comando canalizado?
Considera algo como:
cat file | command > file
¿Es esta una buena práctica? ¿Podría esto sobrescribir el archivo de entrada al mismo tiempo que lo estamos leyendo, o siempre se lee primero en la memoria y luego se canaliza al segundo comando?
Obviamente, puedo usar archivos temporales como paso intermedio, pero me pregunto ...
t=$(mktemp)
cat file | command > ${t} && mv ${t} file