UNIX grep fichier en sortie
fabien.joubert
Messages postés
35
Statut
Membre
-
jipicy Messages postés 41342 Statut Modérateur -
jipicy Messages postés 41342 Statut Modérateur -
for regle in $(cat list_rules3.tmp)
do
regle=${regle}" "
ligne=$(grep -A1 -B1 - w $regle files/rules.txt)
echo $ligne >>files/rules2.txt
done
cp files/rules2.txt files/rules.txt
Avec ces lignes de commande (ci dessus) j'obtiens ceci (ci dessous)
1183537204 H+01_N tous les lundis
1183537204 H+02_N tous les mardis
1183537204 J+01LS Du lundi au samedi
1183537204 J+01LV Du Lundi au Vendredi N Du Lundi au Vendredi sauf jours feries
1183537204 M+1DIMAN N Le premier dimanche du mois
Alors que j'aimerais obtenir ceci (ci dessous)
1183537204 H+01_N tous les lundis
1183537204 H+02_N tous les mardis
1183537204 J+01LS Du lundi au samedi
1183537204 J+01LV Du Lundi au Vendredi
1183537204 M+1DIMAN Le premier dimanche du mois
Que dois je faire? Quelqu'un peut il m'aider? merci
do
regle=${regle}" "
ligne=$(grep -A1 -B1 - w $regle files/rules.txt)
echo $ligne >>files/rules2.txt
done
cp files/rules2.txt files/rules.txt
Avec ces lignes de commande (ci dessus) j'obtiens ceci (ci dessous)
1183537204 H+01_N tous les lundis
1183537204 H+02_N tous les mardis
1183537204 J+01LS Du lundi au samedi
1183537204 J+01LV Du Lundi au Vendredi N Du Lundi au Vendredi sauf jours feries
1183537204 M+1DIMAN N Le premier dimanche du mois
Alors que j'aimerais obtenir ceci (ci dessous)
1183537204 H+01_N tous les lundis
1183537204 H+02_N tous les mardis
1183537204 J+01LS Du lundi au samedi
1183537204 J+01LV Du Lundi au Vendredi
1183537204 M+1DIMAN Le premier dimanche du mois
Que dois je faire? Quelqu'un peut il m'aider? merci
A voir également:
- UNIX grep fichier en sortie
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
2 réponses
regle=${regle}" " cela ne sert à rien
Remplacer le grep par awk:
ligne=$(awk '$1 ~ /'"$regle"'/ {print $0}' files/rules.txt)
Remplacer le grep par awk:
ligne=$(awk '$1 ~ /'"$regle"'/ {print $0}' files/rules.txt)
Salut,
Pour une meilleure compréhension de notre part, et une réponse plus précise ou adéquate (bien que je suis persuadé que la réponse de "dubcek" doit faire l'affaire), pourrais-tu afficher ton fichier d'entrée s'il te plaît, merci ;-))
Pour une meilleure compréhension de notre part, et une réponse plus précise ou adéquate (bien que je suis persuadé que la réponse de "dubcek" doit faire l'affaire), pourrais-tu afficher ton fichier d'entrée s'il te plaît, merci ;-))
pourrais-tu afficher ton fichier d'entrée
En fait c'est ici qu'il a commencé recherche dans liste fichier
En fait c'est ici qu'il a commencé recherche dans liste fichier
Ah oui effectivement...
Merci lami20j
Fabien essaie ça :
Merci lami20j
Fabien essaie ça :
$ cat foo.ksh
#! /bin/ksh
set +xv
for regle in $(cat list_rules3.tmp)
do
ligne=$(grep "${regle} " list_rules.tmp)
echo $ligne >>rules.txt
done
$ ./foo.ksh
$ cat rules.txt
H+01_N tous les lundis
H+02_N tous les mardis
J+01LS Du lundi au samedi
J+01LV Du Lundi au Vendredi
M+1DIMAN Le premier dimanche du mois
$ ;-))