Commande awk-fichier vide
Résolu/Fermé
rico34
Messages postés
9
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
30 octobre 2007
-
30 oct. 2007 à 12:18
rico34 - 2 nov. 2007 à 15:47
rico34 - 2 nov. 2007 à 15:47
A voir également:
- Commande awk-fichier vide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier host - Guide
- Ouvrir fichier .bin - Guide
5 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
30 oct. 2007 à 13:40
30 oct. 2007 à 13:40
Salut,
Est-il possible avec la commande awk de savoir :
- si le fichier est vide
Oui.
- si le nombre de champs est correct
Oui.
- si le 1e champ recoit bien un numero incrementé (1,2,3,...)
Je suis pas sûr d'avoir tout compris là. Si le numéro du 1er champ correspond au numéro de ligne ? Si oui, essaie ça :
Est-il possible avec la commande awk de savoir :
- si le fichier est vide
Oui.
awk 'END { if(NR == 0) {print "Fichier vide" }}' fichier
- si le nombre de champs est correct
Oui.
awk -F";" '{ if (NF == 6) {print "Ligne "NR" nombre de champs correct" }}' fichier
- si le 1e champ recoit bien un numero incrementé (1,2,3,...)
Je suis pas sûr d'avoir tout compris là. Si le numéro du 1er champ correspond au numéro de ligne ? Si oui, essaie ça :
awk -F";" ' $1 != NR { print "Ligne "NR" pas OK" }' fichier;-))
Bonjour,
Merci pour tes infos. C'est bien tous les controles demandés. Est il possible de les effectuer dans un seul awk.
Merci pour tes infos. C'est bien tous les controles demandés. Est il possible de les effectuer dans un seul awk.
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
30 oct. 2007 à 19:16
30 oct. 2007 à 19:16
#! /bin/awk -f BEGIN { FS=";" } $1 != NR { print "Ligne "NR" pas OK" } { if (NF == 6) { print "Ligne "NR" nombre de champs correct" } } END { if(NR == 0) { print "Fichier vide" } };-))
Ok pour le shell,
Mais le bloc end ne se traite qu'une fois. Quand il y a plusieurs fichiers vides, il n'y a qu'une impression
Mais le bloc end ne se traite qu'une fois. Quand il y a plusieurs fichiers vides, il n'y a qu'une impression
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question