Awk/shell Petit controle sur un fichier txt

Résolu
titexe Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   -  
titexe Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je voudrais faire un petit controle sur un fichier qui contient une ligne qui commence par un @ et une autre ligne qui commence par un &,

je voudrais faire un script ou une commande qui vérifie ce fichier , qu'il doit contenir qu'un seule ligne qui commence par @ et une autre ligne qui commence par un & ,

si plus afficher une erreur de type echo "message d'erreur ",

ex fichier :

@|||||||||
&|||||||||


Merci d'avance , de m'aider a résoudre ce probléme,

Cordialement ,

et Merci encore une fois !!!
A voir également:

5 réponses

titexe Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   1
 
je veux rajouter un controle de plus sur ce fichier la qui contient dans sa premiére ligne @||||||||||| et &|||||||| dans sa dérniere ligne,

le controle : vérifier est ce que vraiment le fichier structuré de cette maniére @||||| en 1 ere ligne et &||||| dans la derniére ligne?

Merci de m'aider a faire ce controle , merci d'avance a tous les modérateurs de ccm,

Cordialement,
1
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Est-ce que le nombre de pipe ( | ) derrière l'@ et l'& doit être pris en compte ?
0
titexe Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   1 > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
 
non , juste la 1ere ligne doit commencer par un @ et la derniére par &, le nombre de pipes n est pas importants ?

le fichier ne doit pas avoir une autre ligne qui commence soit avec @ou & !!!

Merci
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896 > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
 
head -1 fich | grep '^@' && tail -1 fich | grep '^&' && echo OK || echo NOK
;-))
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,
#! /bin/bash
# Usage mon_script.sh fichier

count_1=$(egrep '^@' "$1" | sed -n '$=')
count_2=$(egrep '^&' "$1" | sed -n '$=')

if [ "$count_1" == 1 -a "$count_2" == 1 ]
then
echo "OK"
else
echo "Pas OK"
fi
;-)
0
titexe Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   1
 
re,

merci beaucoup pour votre réactivité ,

je trouve pas les mots , que te remercier encore une fois !!!!

une question : ca existe "egrep" ? ;-)

-a c'est la condition et , n est ce pas ?

Merci encore une fois !!
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
une question : ca existe "egrep" ? ;-)
Ou "grep -E" si tu préfères ;-))

-a c'est la condition et , n est ce pas ?
Oui c'est l'équivalent du "ET" ("-o" pour le "OU").
0
titexe Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci beaucoup,

Je trouve rien à dire, je suis vraiment ému,

Vive CCM ;-)
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

en fait il faut voir la définition de grep et egrep

GlobalRegularExpressionPrint
ExtendedGlobalRegularExpressionPrint

et comme l'a bien précisé jipicy grep -E c'est pour permettre à grep de réagir comme egrep mais ce n'est pas la même comme chose comme Vim n'est pas la même chose que Vi
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
titexe Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   1
 
c'est OK , Merci beaucoup
0