J’essaie d’parsingr un fichier journal qui commence par une colonne de date formatée: 06/22/2015 00:17:59
J’utilise le code suivant pour le convertir en horodatage unix:
unix="date -d\""$1" "$2"\" \"+%s\""; unix | getline timestamp;
Cependant, lorsque je fais cela, awk échoue avec l’erreur suivante:
awk: (FILENAME=/dev/fd/63 FNR=263350) fatal: cannot open pipe 'date -d"06/22/2015 00:17:59" "+%s"' (Too many open files)
Un moyen de gérer cela ou d’parsingr différemment la date?
Votre problème est que vous devez fermer votre commande:
unix="date -d\""$1" "$2"\" \"+%s\""; unix | getline timestamp; close(unix)
Si vous ne le faites pas, un nouveau canal est ouvert pour chaque enregistrement de votre fichier d’entrée, ce qui entraîne le problème que vous rencontrez.