Bonjour à tous,
Je n'arrive pas à résoudre le fait que le sed de mon script ne fonctionne pas.
En deux mots, j'ai un fichier avec des occurrences de type deux points suivi d'un nombre.
Lorsque j'effectue la ligne de commande
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sed -e 's/:3054976/:0/g' myfile
depuis le terminal, cela fonctionne, par contre dans mon script cela ne fonctionne 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
#!/bin/bash
 
myfile=$1
thres=$2 
 
cp $myfile tmp
 
while read line
do
if [ $line -le $thres ]
then
sed -e 's/:$line/:0/g' tmp > tmp1
mv tmp1 tmp
fi
done < datafile
Que se passe-t-il? Je précise que le fichier datafile est une liste de nombre qu'il faut remplacer par zéro si l'un de ces nombres est inférieur à thres, et que les deux points sont des delimiter de myfile.
Merci pour vos éclaircissements.
Yann