[Shell korn] lister des lignes

Résolu/Fermé
Karamurat - 12 juil. 2007 à 13:26
Karamurat Messages postés 43 Date d'inscription jeudi 12 juillet 2007 Statut Membre Dernière intervention 4 janvier 2011 - 12 juil. 2007 à 16:13
Bonjour

comme je viens de debuter sur le Shell korn , j'aurais besoin un peu d'aide pour la programation d'un de mes scripts.
le probleme c'est que j'ai une liste de mots (fichiers test) avec des chifres etc ... qui ce presente comme ceci (je peux vous dire qu'elle est tres longue) :

"O","WG-EG-NMCO-PRJT","WG EGYPT MCO Project"
"O","WG-EG-PCAI-PRJT","WG EGYPT CAI Project"
"O","WG-EG-PHQ-OVHD","WG Egypt PHQ OVHD"
"C","WG-EG-PHQ-POOL","WG Egypt PHQ POOL"
"O","WG-EG-PHQ-SUPT","WG EGYPT PHQ Support"
"O","WG-EG-RCAO-PRJT","WG EGYPT CAO Project"
"O","WG-EG-RSS-OVHD","WG EGYPT RSS Overhead"
"O","WG-EG-RSS-PRJT","WG EGYPT RSS Project"
"O","WG-EG-RSS-SUPT","WG EGYPT RSS Support"
"O","WG-EG-SDP-OVHD","WG Egypt SDP OVHD"
"C","WG-EG-SDP-POOL","WG Egypt SDP POOL"
"O","WG-EG-SDP-PRJT","WG Egypt SDP PRJT"
"O","WG-EG-SDP-SUPT","WG EGYPT SDP Support"
"O","WG-EG-SLD-GSSL","WG EGYPT SLD GSSL"
"O","WG-EG-SLD-OVHD","WG Egypt SLD OVHD"
"C","WG-EG-SLD-POOL","WG Egypt SLD POOL"
"O","WG-EG-SLD-PRJT","WG Egypt SLD PRJT"
"O","WG-EG-SLD-UNAL","WG EGYPT SLD UNALLOCATED"
"O","WG-EG-SMC-PRJT","WG EGYPT SMC Project"
"O","WG-EG-SMR-OVHD","WG Egypt SMR OVHD"
"C","WG-EG-SMR-POOL","WG Egypt SMR POOL"
"O","WG-EG-SMR-PRJT","WG Egypt SMR PRJT"
"O","WG-EG-SMR-UNAL","WG EGYPT SMR UNALLOCATED"
"O","WG-EG-WGH-OVHD","WG Egypt WGH OVHD"
"C","WG-EG-WGH-POOL","WG Egypt WGH POOL"
"O","WG-EG-WGH-SUPT","WG EGYPT WGH Support"
"O","WG-FO-MBLF-PRJT","WG FAROE ISLANDS BLF Project"
"O","WG-FO-MMON-PRJT","WG FAROE ISLANDS MON Project"
"O","WG-FO-MTAU-PRJT","WG FAROE ISLANDS MTA Project"
"O","WG-FO-NMCM-PRJT","WG FAROE ISLANDS MCM Project"
"O","WG-FO-PHQ-SUPT","WG FAROE ISLANDS PHQ Support"
"O","WG-FO-SMC-PRJT","WG FAROE ISLANDS SMC Project"
"O","WG-FO-SMR-PRJT","WG FAROE ISLANDS SMR Project"
"O","WG-FO-WGH-SUPT","WG FAROE ISLANDS WGH Support"
"O","WG-FR-WGH-SUPT","WG FRANCE WGH Support"
"O","WG-GA-MREG-PRJT","WG GABON REG Project"
"O","WG-GA-NMCM-PRJT","WG GABON MCM Project"
"O","WG-GA-NMCR-PRJT","WG GABON MCR Project"
"O","WG-GA-PHQ-SUPT","WG GABON PHQ Support"
"O","WG-GA-SMC-PRJT","WG GABON SMC Project"
"O","WG-GA-SMR-PRJT","WG GABON SMR Project"
"O","WG-GA-WGH-SUPT","WG GABON WGH Support"
"O","WG-GB-LLDO-PRJT","WG UNITED KINGDOM LDO Project"
"O","WG-GB-MBLF-PRJT","WG UNITED KINGDOM BLF Project"
"O","WG-GB-MDIA-PRJT","WG UNITED KINGDOM DIA Project"
"O","WG-GB-MGIL-PRJT","WG UNITED KINGDOM GIL Project"
"O","WG-GB-MMON-PRJT","WG UNITED KINGDOM MON Project"
"O","WG-GB-MMRO-PRJT","WG UNITED KINGDOM MRO Project"
"O","WG-GB-MNPN-PRJT","WG UNITED KINGDOM NPN Project"
"O","WG-GB-MPRD-PRJT","WG UNITED KINGDOM PRD Project"
"O","WG-GB-MREG-PRJT","WG UNITED KINGDOM REG Project"
"O","WG-GB-MSEA-PRJT","WG UNITED KINGDOM SEA Project"
"O","WG-GB-MTAU-PRJT","WG UNITED KINGDOM TAU Project"
"O","WG-GB-MTOP-PRJT","WG UNITED KINGDOM TOP Project"
"O","WG-GB-NMCM-PRJT","WG UNITED KINGDOM MCM Project"
"O","WG-GB-NMCR-PRJT","WG UNITED KINGDOM MCR Project"
"O","WG-GB-PABZ-PRJT","WG UNITED KINGDOM ABZ Project"
"O","WG-GB-PHQ-OVHD","WG UNITED KINGDOM PHQ Overhead"
"O","WG-GB-PHQ-SUPT","WG UNITED KINGDOM PHQ Support"
"O","WG-GB-PHQ-UNAL","WG UNITED KINGDOM PHQ UNALLOCA"
"O","WG-GB-PLGW-PRJT","WG UNITED KINGDOM LGW Project"
"O","WG-GB-RABN-PRJT","WG UNITED KINGDOM ABN Project"
"O","WG-GB-RGAK-PRJT","WG UNITED KINGDOM GAK Project"
"O","WG-GB-RSS-OVHD","WG UNITED KINGDOM RSS Overhead"
"O","WG-GB-RSS-PRJT","WG UNITED KINGDOM RSS Project"
"O","WG-GB-RSS-SUPT","WG UNITED KINGDOM RSS Support"
"O","WG-GB-RSS-UNAL","WG UNITED KINGDOM RSS Support"
"O","WG-GB-SDP-ELIM","WG UNITED KINGDOM SDP Support"
"O","WG-GB-SDP-OVHD","WG UNITED KINGDOM SDP Overhead"
"O","WG-GB-SDP-PRJT","WG UNITED KINGDOM SDP Project"
"O","WG-GB-SDP-SUPT","WG UNITED KINGDOM SDP Support"
"O","WG-GB-SDP-UNAL","WG UNITED KINGDOM SDP UNALLOCA"
"O","WG-GB-SLD-OVHD","WG UNITED KINGDOM SLD Overhead"
"O","WG-GB-SLD-SUPT","WG UNITED KINGDOM SLD Support"
"O","WG-GB-SLD-UNAL","WG UNITED KINGDOM SLD UNALLOCA"
"O","WG-GB-SMC-OVHD","WG UNITED KINGDOM SMC Overhead"
"O","WG-GB-SMC-PRJT","WG UNITED KINGDOM SMC Project"
"O","WG-GB-SMC-SUPT","WG UNITED KINGDOM SMC Support"
"O","WG-GB-SMC-UNAL","WG UNITED KINGDOM SMC UNALLOCA"
"O","WG-GB-SMR-OVHD","WG UNITED KINGDOM SMR Overhead"
"O","WG-GB-SMR-PRJT","WG UNITED KINGDOM SMR Project"
"O","WG-GB-SMR-SUPT","WG UNITED KINGDOM SMR Support"
"O","WG-GB-SMR-UNAL","WG UNITED KINGDOM SMR UNALLOCA"
"O","WG-GB-WGH-OVHD","WG UNITED KINGDOM WGH Overhead"
"O","WG-GB-WGH-SUPT","WG UNITED KINGDOM WGH Support"
"O","WG-GB-WGH-UNAL","WG UNITED KINGDOM WGH UNALLOCA"
"O","WG-GE-MTOP-PRJT","WG GEORGIA TOP Project"
"O","WG-GE-PHQ-SUPT","WG GEORGIA PHQ Support"
"O","WG-GE-SMR-PRJT","WG GEORGIA SMR Project"
"O","WG-GE-WGH-SUPT","WG GEORGIA WGH Support"
"O","WG-GH-NMCM-PRJT","WG GHANA MCM Project"
"O","WG-GH-NMCR-PRJT","WG GHANA MCR Project"
"O","WG-GH-PHQ-SUPT","WG GHANA PHQ Support"
"O","WG-GH-SMC-PRJT","WG GHANA SMC Project"
"O","WG-GH-SMR-PRJT","WG GHANA SMR Project"
"O","WG-GH-WGH-SUPT","WG GHANA WGH Support"
"O","WG-GL-NMCM-PRJT","WG GREENLAND MCM Project"
"O","WG-GL-PHQ-SUPT","WG GREENLAND PHQ Support"
"O","WG-GL-SMC-PRJT","WG GREENLAND SMC Project"
"O","WG-GL-WGH-SUPT","WG GREENLAND WGH Support"
"O","WG-GM-MMRO-PRJT","WG GAMBIA MRO Project"
"O","WG-GM-NMCM-PRJT","WG GAMBIA MCM Project"
"O","WG-GM-PHQ-SUPT","WG GAMBIA PHQ Support"
"O","WG-GM-SMC-PRJT","WG GAMBIA SMC Project"
"O","WG-GM-SMR-PRJT","WG GAMBIA SMR Project"
"O","WG-GM-WGH-SUPT","WG GAMBIA WGH Support"
"O","WG-GN-NMCM-PRJT","WG GUINEA MCM Project"
"O","WG-GN-PHQ-SUPT","WG GUINEA PHQ Support"
"O","WG-GN-SMC-PRJT","WG GUINEA SMC Project"
"O","WG-GN-WGH-SUPT","WG GUINEA WGH Support"
"O","WG-GQ-MGIL-PRJT","WG EQUATORIAL GUINEA GIL Proje"
"O","WG-GQ-MMRO-PRJT","WG EQUATORIAL GUINEA MRO Proje"
"O","WG-GQ-MREG-PRJT","WG EQUATORIAL GUINEA REG Proje"
"O","WG-GQ-MSEA-PRJT","WG EQUATORIAL GUINEA SEA Proje"
"O","WG-GQ-NMCM-PRJT","WG EQUATORIAL GUINEA MCM Proje"
"O","WG-GQ-PDPO-PRJT","WG EQUATORIAL GUINEA DPO Proje"
"O","WG-GQ-PHQ-SUPT","WG EQUATORIAL GUINEA PHQ Suppo"
"O","WG-GQ-SDP-PRJT","WG EQUATORIAL GUINEA SDP Proje"
"O","WG-GQ-SMC-PRJT","WG EQUATORIAL GUINEA SMC Proje"
"O","WG-GQ-SMR-PRJT","WG EQUATORIAL GUINEA SMR Proje"
"O","WG-GQ-WGH-SUPT","WG EQUATORIAL GUINEA WGH Suppo"
"O","WG-GT-PHQ-OVHD","WG GUATEMALA PHQ OVERHEAD"
"O","WG-GT-PHQ-SUPT","WG GUATEMALA PHQ Support"
"O","WG-GT-SDP-OVHD","WG GUATEMALA SDP OVERHEAD"
"C","WG-GT-SDP-POOL","WG GUATEMALA SDP POOL"
"O","WG-GT-SLD-OVHD","WG GUATEMALA SLD OVERHEAD"
"C","WG-GT-SLD-POOL","WG GUATEMALA SLD POOL"
"O","WG-GT-SMC-OVHD","WG GUATEMALA SMC OVERHEAD"
"C","WG-GT-SMC-POOL","WG GUATEMALA SMC POOL"
"O","WG-GT-SMR-OVHD","WG GUATEMALA SMR OVERHEAD"
"C","WG-GT-SMR-POOL","WG GUATEMALA SMR POOL"
"O","WG-GT-WGH-OVHD","WG GUATEMALA WGH OVERHEAD"
"O","WG-GT-WGH-SUPT","WG GUATEMALA WGH Support"
"O","WG-HR-PDPO-PRJT","WG CROATIA DPO Project"
"O","WG-HR-PHQ-SUPT","WG CROATIA PHQ Support"
"O","WG-HR-SDP-PRJT","WG CROATIA SDP Project"
"O","WG-HR-WGH-SUPT","WG CROATIA WGH Support"
"O","WG-ID-L111-PRJT","WG INDONESIA 111 Project"
"O","WG-ID-L185-PRJT","WG INDONESIA 185 Project"
"O","WG-ID-L314-PRJT","WG INDONESIA 314 Project"
"O","WG-ID-MEAG-PRJT","WG INDONESIA EAG Project"
"O","WG-ID-MEME-PRJT","WG INDONESIA EME Project"
"O","WG-ID-MMRO-PRJT","WG INDONESIA MRO Project"
"O","WG-ID-MSEA-PRJT","WG INDONESIA SEA Project"
"O","WG-ID-MTOP-PRJT","WG INDONESIA TOP Project"
"O","WG-ID-NMCM-PRJT","WG INDONESIA MCM Project"
"O","WG-ID-PCGK-PRJT","WG INDONESIA CGK Project"
"O","WG-ID-PHQ-OVHD","WG INDONESIA PHQ OVERHEAD"
"C","WG-ID-PHQ-POOL","WG INDONESIA PHQ POOL"
"O","WG-ID-PHQ-SUPT","WG INDONESIA PHQ Support"
"O","WG-ID-SDP-OVHD","WG INDONESIA SDP OVERHEAD"
"C","WG-ID-SDP-POOL","WG INDONESIA SDP POOL"
"O","WG-ID-SDP-PRJT","WG INDONESIA SDP PRJT"
"O","APGDCSGRP","APG DCS Group"
"O","APGGEOMARKET","APG GeoMarket Overheads"
"O","APGGEOMPOOL","APG GeoMarket Pool"
"O","APGSISGRP","APG SIS Group"
"O","OFS-ADE-SL3-OVD","APG Adelaide SL3 Overhead"
"O","OFS-BEL-SL3-OVD","APG Belmont SL3 Overhead"
"O","OFS-DAR-SL3-OVD","APG Darwin SL3 Overhead"
"O","OFS-KRT-SL3-OVD","APG Karratha SL3 Overhead"
"O","OFS-MEL-SL3-OVD","APG Melbourne SL3 Overhead"
"O","OFS-PTH-SL3-OVD","APG Perth SL3 Overhead"
"O","OFS-SAL-SL3-OVD","APG Sale SL3 Overhead"

et sa continue encore ...

donc revenons a ce que je disais, le probleme c'est que j'aurais voulue lister toutes les lignes contenant le mot "AGP" c'est a dire d'avoir une liste de toute les lignes tel presenter comme ceci :

line-1 : "O","OFS-MEL-SL3-OVD","APG Melbourne SL3 Overhead"
line-2 : "O","OFS-SAL-SL3-OVD","APG Sale SL3 Overhead"
line-3 : "O","APGSISGRP","APG SIS Group"
line-4 : etc ...

tous ca grace au commande : grep, while, expr, et echo

apres plusieurs tentatives je n'ai toujours pas a reussi , je vous faits donc appel pour venir me secourir de ce casse tete lol .

2 réponses

poumiZ Messages postés 102 Date d'inscription mercredi 6 juin 2007 Statut Membre Dernière intervention 3 septembre 2010 10
12 juil. 2007 à 13:33
Bonjour,
grep -n "AGP" <nom_fichier>
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
12 juil. 2007 à 13:54
LO
awk 'BEGIN {l=1} ; /AGP/ {printf("line-%d : %s\n", l++, $0)}' < fichier_entree


il y a aussi nl pour ne numéroter que les lignes qui contiennent AGP : nl -bpAGP fichier
0
Karamurat Messages postés 43 Date d'inscription jeudi 12 juillet 2007 Statut Membre Dernière intervention 4 janvier 2011 2
12 juil. 2007 à 14:24
bonjour
merci encore pour ta reponse mais je n'ai pas reussi a avoir ce que je voulais

j'ai essayer de concocter quelque chose dite moi si ce n'est pas bon :
"tt" etant le fichier

grep AGP tt | while read LINE

do

echo "Line nbr $N : $LINE"

N = expr '$N+1'

done
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
12 juil. 2007 à 14:32
faire N=1 avant le grep

N=`expr $N+1` entre simple quote ' $N ne va pas être substitué
0
Karamurat Messages postés 43 Date d'inscription jeudi 12 juillet 2007 Statut Membre Dernière intervention 4 janvier 2011 2 > dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024
12 juil. 2007 à 15:00
comment j devrais reformuler ?

Merci d'avance
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615 > dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024
12 juil. 2007 à 15:11
N=1
grep AGP tt | while read LINE
do
      echo "Line nbr $N : $LINE"
      N=`expr $N+1`
done
0
Karamurat Messages postés 43 Date d'inscription jeudi 12 juillet 2007 Statut Membre Dernière intervention 4 janvier 2011 2 > dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024
12 juil. 2007 à 16:13
Apres plusieur tentatives , yes !!! ca marche !!! , donc voici la solution :

N=0

grep "APG" tt | while read LINE

do

echo "Line nbr $N : $LINE"

N=`expr $N + 1`

done
0