Bonjour tout le monde,
Je dois réaliser un script Awk et j'ai des soucis.
Pour être bref, le script doit pour chaque fichier, regarder le 3ème champs de la 1ère ligne, et en fonction de sa valeur, faire un move dans un dossier spécial.
Premier point bloquant, même quand je fais awk -f script.awk *.TXT, il ne traite que le premier fichier du dossier. (C'est au niveau de ma condition if (NR==1) je pense mais je comprends pas pourquoi.)
Et le deuxième point c'est le move en lui même, je n'ai rien trouvé dessus.
Voici ce que j'ai fait pour le moment :
Si vous avez des remarques/suggestions, n'hésitez pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 #!/bin/awk -f BEGIN { print "Beginning of AWK treatment..." } { if (NR==1) { if (($3 == "MIDAS") ||($3 == "Midas")) { print "File MIDAS: " FILENAME " moved." cptMIDAS+=1 } else if ($3 == "ABSC") { print "File ABSC: " FILENAME " moved." cptABSC+=1 } else if ($3 == "Swift"){ print "File SWIFT: " FILENAME " moved." cptSWIFT+=1 } else { # print $3 } } } END { print "End AWK treatment. Sum up: " print cptMIDAS " fichier(s) MIDAS traite(s)" print cptABSC " fichier(s) ABSC traite(s)" print cptSWIFT " fichier(s) SWIFT traite(s)" print cptSWIFT+cptMIDAS+cptABSC " fichier(s) traite(s) au total." }
Merci à vous.
Partager