j'ai un fichier qui regroupe mes valeurs que va prendre ma variable
je veux utiliser une boucle du genre for i in 'cat nomdufic'
do
Mais :
J'aimerais pour chaque valeur, pouvoir aller chercher cette variable dans
un autre fichier toto, et lorsque qu'elle est trouvée, que la ligne qui est
située 7 lignes audessus de la ligne ou se trouve la variable dans toto soit
mise dans un fichier en sortie.
j'ai pensé à ed ou edit, mais le fichier ne peut exceder 128K, et mon
fichier toto est largement superieur à cette taille limite, ce qu'il fait
qu'il est tronquée
Siqq'un à une id&ée pour me venir en aide, je suis preneur, car je sèche
carrement.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Stephane Chazelas
2004-11-17, 18:28(+01), bxman:
bonjour j'ai un souci sur un script sur AIX
j'ai un fichier qui regroupe mes valeurs que va prendre ma variable je veux utiliser une boucle du genre for i in 'cat nomdufic' do
Mais : J'aimerais pour chaque valeur, pouvoir aller chercher cette variable dans un autre fichier toto, et lorsque qu'elle est trouvée, que la ligne qui est située 7 lignes audessus de la ligne ou se trouve la variable dans toto soit mise dans un fichier en sortie.
j'ai pensé à ed ou edit, mais le fichier ne peut exceder 128K, et mon fichier toto est largement superieur à cette taille limite, ce qu'il fait qu'il est tronquée [...]
Peut-etre:
awk ' BEGIN { while ((getline < "nomdufic") > 0) a[$0]="" } NR > 7 && $0 in a { print b[(NR-7)%7] delete b[$0] } { b[NR%7] = $0 }' < toto > fichier-en-sortie
Ca suppose que les valeurs dans nomdufic sont uniques. Les lignes apparaissent dans l'ordre ou elles sont dans "toto".
-- Stephane
2004-11-17, 18:28(+01), bxman:
bonjour j'ai un souci sur un script sur AIX
j'ai un fichier qui regroupe mes valeurs que va prendre ma variable
je veux utiliser une boucle du genre for i in 'cat nomdufic'
do
Mais :
J'aimerais pour chaque valeur, pouvoir aller chercher cette variable dans
un autre fichier toto, et lorsque qu'elle est trouvée, que la ligne qui est
située 7 lignes audessus de la ligne ou se trouve la variable dans toto soit
mise dans un fichier en sortie.
j'ai pensé à ed ou edit, mais le fichier ne peut exceder 128K, et mon
fichier toto est largement superieur à cette taille limite, ce qu'il fait
qu'il est tronquée
[...]
Peut-etre:
awk '
BEGIN {
while ((getline < "nomdufic") > 0)
a[$0]=""
}
NR > 7 && $0 in a {
print b[(NR-7)%7]
delete b[$0]
}
{ b[NR%7] = $0 }' < toto > fichier-en-sortie
Ca suppose que les valeurs dans nomdufic sont uniques. Les
lignes apparaissent dans l'ordre ou elles sont dans "toto".
j'ai un fichier qui regroupe mes valeurs que va prendre ma variable je veux utiliser une boucle du genre for i in 'cat nomdufic' do
Mais : J'aimerais pour chaque valeur, pouvoir aller chercher cette variable dans un autre fichier toto, et lorsque qu'elle est trouvée, que la ligne qui est située 7 lignes audessus de la ligne ou se trouve la variable dans toto soit mise dans un fichier en sortie.
j'ai pensé à ed ou edit, mais le fichier ne peut exceder 128K, et mon fichier toto est largement superieur à cette taille limite, ce qu'il fait qu'il est tronquée [...]
Peut-etre:
awk ' BEGIN { while ((getline < "nomdufic") > 0) a[$0]="" } NR > 7 && $0 in a { print b[(NR-7)%7] delete b[$0] } { b[NR%7] = $0 }' < toto > fichier-en-sortie
Ca suppose que les valeurs dans nomdufic sont uniques. Les lignes apparaissent dans l'ordre ou elles sont dans "toto".