J'ai écris le script suivant pour extraire un certains nombre de pages
d'un fichier d'édition :
cat test | awk -v A=66 -v Z=69 -v FF=`echo "\f"` -v S=test2 \
'BEGIN {FS="\n"; RS=FF; ORS=RS; if (Z == 0) Z=9999999} (NR > A)&&(NR <=
Z) {p++
; print $0 >S} \
END {print p " pages extraites"}'
Je veux, dans cet exemple, extraire les pages 66 à 69.
Lorsque j'exécute ce dernier, il me donne le message d'erreur suivant :
awk : 0602-534 La longueur de la ligne *************************** ne
doit pas dépasser 10 239 octets.
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-01-16, 09:28(+01), Kennel Yves: [...]
cat test | awk -v Af -v Zi -v FF=`echo "f"` -v S=test2 'BEGIN {FS="n"; RSÿ; ORS=RS; if (Z == 0) Z99999} (NR > A)&&(NR < > Z) {p++ ; print $0 >S} END {print p " pages extraites"}'
Je veux, dans cet exemple, extraire les pages 66 à 69.
Lorsque j'exécute ce dernier, il me donne le message d'erreur suivant : awk : 0602-534 La longueur de la ligne *************************** ne doit pas dépasser 10 239 octets.
Je suis sous AIX 4.3.3
Utilise gawk (qui n'a pas cette limite) ou prends-toi s-y autrement. D'abord, "cat" ne sert à rien, "echo" non plus.
Tu peux faire (à supposer que f soit seul sur sa ligne):
< test awk -v Af -v Zi -v p=1 -v S=test2 ' $0 == "f" { p++ } p >= A && (Z <= 0 || p <= Z) { print > S } END { if (p >= A) print (p > Z ? Z : p) - A " pages extraites" }'
cat test | awk -v Af -v Zi -v FF=`echo "f"` -v S=test2
'BEGIN {FS="n"; RSÿ; ORS=RS; if (Z == 0) Z99999} (NR > A)&&(NR < > Z) {p++
; print $0 >S}
END {print p " pages extraites"}'
Je veux, dans cet exemple, extraire les pages 66 à 69.
Lorsque j'exécute ce dernier, il me donne le message d'erreur suivant :
awk : 0602-534 La longueur de la ligne *************************** ne
doit pas dépasser 10 239 octets.
Je suis sous AIX 4.3.3
Utilise gawk (qui n'a pas cette limite) ou prends-toi s-y
autrement.
D'abord, "cat" ne sert à rien, "echo" non plus.
Tu peux faire (à supposer que f soit seul sur sa ligne):
< test awk -v Af -v Zi -v p=1 -v S=test2 '
$0 == "f" { p++ }
p >= A && (Z <= 0 || p <= Z) { print > S }
END { if (p >= A) print (p > Z ? Z : p) - A " pages extraites" }'
cat test | awk -v Af -v Zi -v FF=`echo "f"` -v S=test2 'BEGIN {FS="n"; RSÿ; ORS=RS; if (Z == 0) Z99999} (NR > A)&&(NR < > Z) {p++ ; print $0 >S} END {print p " pages extraites"}'
Je veux, dans cet exemple, extraire les pages 66 à 69.
Lorsque j'exécute ce dernier, il me donne le message d'erreur suivant : awk : 0602-534 La longueur de la ligne *************************** ne doit pas dépasser 10 239 octets.
Je suis sous AIX 4.3.3
Utilise gawk (qui n'a pas cette limite) ou prends-toi s-y autrement. D'abord, "cat" ne sert à rien, "echo" non plus.
Tu peux faire (à supposer que f soit seul sur sa ligne):
< test awk -v Af -v Zi -v p=1 -v S=test2 ' $0 == "f" { p++ } p >= A && (Z <= 0 || p <= Z) { print > S } END { if (p >= A) print (p > Z ? Z : p) - A " pages extraites" }'