Bonsoir,

j'essaye d'extraire les colonnes d'un fichier fic: voila un extrait:



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
-rwxrw-r--    162018    1     pinfo3 Innadm     178               20051223-11:41:51 20060103-10:20:35 20051224-21:37:25 8     pb.sql
-rwx------    160931    1     pinfo3 Innadm     172               20051228-16:26:34 20060103-10:20:35 20051228-16:26:34 8     pip.sas
-rw-r-----    160933    1     pinfo3 Innadm     132               20051228-12:16:03 20060103-10:20:35 20051228-12:16:03 8     fic2
je lance un script avec des options et suivant ces derniere j'extrait les colonnes correspondantes.

l'option -S c'est pour supprimer ou masquer les colonnes qui corresponds
aux options passés derrière S

exemple:

REp.sh -* -Sid "càd afficher toutt sauf les deux premieres colonnes"



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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
 
 
tyty * > fic
 
local flags0=0
local flags1=0
local flags2=0
local flags3=0
local flags4=0
local flags5=0
local flags6=0
local flags7=0
local flags8=0
local flags9=0
local flags10=0
local flags11=0
local flags12=0
m=11
n=1
 
while getopts ":dilpgomrwbn*S:dilpgomrwbn*" y
do
  case $y in
 
     d ) flags1=1                   ;;                   
     i ) flags2=2                   ;;
     l ) flags3=3                   ;; 
     p ) flags4=4                   ;; 
     g ) flags5=5                   ;; 
     o ) flags6=6                   ;;                                                                      
     m ) flags7=7                   ;; 
     r ) flags8=8                   ;; 
     w ) flags9=9                   ;; 
     b ) flags10=10                 ;;   
     n ) flags11=11                 ;; 
     * ) flags12=12                 ;;   
     S ) case $OPTARG in
                      d  ) flags1=0                   ;;
                      i  ) flags2=0                   ;;
                      l  ) flags3=0                   ;;
                      p  ) flags4=0                   ;;
                      g  ) flags5=0                   ;;
                      o  ) flags6=0                   ;;
                      m  ) flags7=0                   ;;
                      r  ) flags8=0                   ;;
                      w  ) flags9=0                   ;;
                      b  ) flags10=0                  ;;
                      n  ) flags11=0                  ;;
                      *  ) flags12=0                  ;;             
 
         esac                      
         ;;                  
  esac              
done 
 
shift $(($OPTIND - 1)) 
 
#echo $flags1   
#echo $flags2 
#
#echo $flags7 
 
 
for i in flags1 flags2 flags3 flags4 flags5 flags6 flags7 flags8 flags9 flags10 flags11
do
  #for j in `cat fic`
  #do
 
  if [ $i -ne 0 ]
  then
     y=$i
     #echo $y
     z=${y##flags}
     echo $z >>u
     for j in `cat u`
     do
 
       echo $j
       awk ' { print $j }' fic  > toto""$j      
     done 
 
  fi
 
  #done
done
Merci[/quote]