Bonjour,
je tombe sur un os et ne sais pas comment le ronger...
J'ai besoin de récupérer les données de proc/partitions toutes les secondes et ça, je sais faire, mais c'est pour les comparer que je coince.
J'ai vu/lu plein de tutos, de posts, etc., et je me plante lamentablement :
Je n'ai pas tout mis, juste ce qui coince. Et voilà ce que j'obtiens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 IFS='\n' listenow=$(cat /proc/partitions | grep sd) listeprv="$listenow" declare -a newdevice for lignen in $listenow; do for lignep in $listeprv; do outnow=$(echo $lignen | awk '{print $4}'); echo $outnow outprv=$(echo $lignep | awk '{print $4}'); echo $outprv if [ "$outprv" != "$outnow" ]; then echo "outnow = " ; echo "$outnow"; newdevice+=("$outnow"); fi done done
Donc en gros je ne peux pas comparer les lignes de l'array listenow avec les lignes de l'array listeprv.
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 sda sda1 sda2 sdb sdb1 sdb2 sdc sdc1 sdc2 sdd sdd1 <espace rajouté par moi pour séparer *ici* la sortie outnow de la sortie outprv sda sda1 sda2 sdb sdb1 sdb2 sdc sdc1 sdc2 outnow =
Je m'attendais à avoir
C'est ces 2 dernières lignes qui m'intéressent (insertion d'une clé usb) et y a pas moyen.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 sda #venant de listenow sda #venant de listeprv sda1 #id. sda1 #id. #etc., jusqu'à sdc2 sdc2 sdd sdd1
J'ai même tenté de rajouter des echo pour voir où ça foire, comme ça :
mais ça ne m'avance à rien, voilà la sortie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 for lignen in ${listenow[@]}; do echo $lignen for lignep in ${listeprv[@]}; do echo $lignep
J'ai raté une marche ?
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 8 0 234431064 sda 8 1 204800000 sda1 8 2 29627488 sda2 8 16 1953514584 sdb 8 17 1748713472 sdb1 8 18 204800000 sdb2 8 32 1953514584 sdc 8 33 1748713472 sdc1 8 34 204800000 sdc2 8 48 30310400 sdd 8 49 30310160 sdd1 # dessus la listenow, dessous la listeprv, comme si les boucles n'étaient pas imbriquées, :koi: 8 0 234431064 sda 8 1 204800000 sda1 8 2 29627488 sda2 8 16 1953514584 sdb 8 17 1748713472 sdb1 8 18 204800000 sdb2 8 32 1953514584 sdc 8 33 1748713472 sdc1 8 34 204800000 sdc2
Merci,
Partager