He escrito un script bash que está haciendo exactamente lo que yo quiero que haga, pero expulsando el siguiente error:error de direccionamiento sys.excepthook en escritura del golpe
close failed in file object destructor: sys.excepthook is missing lost sys.stderr
estoy completamente confundido sobre cómo abordar esto. Aquí está el script:
#!/bin/bash
usage() { echo "${0##*/} inputfile outputfile"; exit 1; }
(($#==2)) || usage
INPUTFILE="$1"
OUTPUTFILE="$2"
# All that is written between between the 'cat' command and
#+ 'EOF' will be sent to the output file.
cat <<EOF >$OUTPUTFILE
$(date "+Generated on %m/%d/%y at %H:%M:%S")
DATA AUDIT: $1
------------
COLUMN NAMES
------------
$(csvcut -n $INPUTFILE)
---------------------------------------
FIRST TEN ROWS OF FIRST FIVE COLUMNS
---------------------------------------
$(csvcut -c 1,2,3,4,5 $INPUTFILE | head -n 10)
------------
COLUMN STATS
------------
$(csvcut $INPUTFILE | csvstat)
---END AUDIT
EOF
echo "Audited!"
Soy bastante nuevo en los scripts de shell y muy nuevo en python. Apreciaría cualquier ayuda.
El error proviene del script python (¿csvcut?), No de su script bash. Sería más útil ver el código en su lugar código relevante: D –
Podría ser que al csvcut no le gusta la cabeza, ya que obliga a que la salida estándar del proceso se cierre prematuramente? –
@Antti, supongo que ese sería el caso, pero me preguntaba si había algo que pudiera hacer en el script que solucionara el problema, ya que ejecutar los comandos individualmente en la línea de comando no genera el error. ¿Tiene una idea de cómo se podría cambiar la cabeza para abordar un posible problema de estirado? ¿O el código de csvcut todavía sería necesario para esto? ¡Y gracias! –