Salut tous

Voila un petit script qui lit un fichier et recupere les valeurs que je souhaite.

Mais a la fin de la boucle la variable $result est vide, une idee?

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
 
 
#!/bin/sh
 
write_line()
{
    if [ -z "$result" ]
        then
        result="$val";
    else
        result="$result\n$val";
    fi
}
 
resu="$(cat test.txt | grep -En k)";
 
echo -e "$resu" | while read myline;
  do
      newline="$(echo $myline | cut -c3-)";
      key="$(echo $newline | cut -d: -f1)";
      val="$(echo $newline | cut -d: -f2)";
      res="$(echo $key | grep -n k)";
      if [ -n "$res" ]
          then
          echo "<on entre $result>"
          write_line
          echo "<on sort $result>"
      fi
done
 
echo "<je veux $result>"
if [ -n "$result" ]
        then
    echo -e $result;
fi
le fichier test.txt contient par exemple

key1-1:val1-1
key1-2:val1-2
key1-3:val3 0