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
depuis le terminal, cela fonctionne, par contre dans mon script cela ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part sed -e 's/:3054976/:0/g' myfile
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.
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
Merci pour vos éclaircissements.
Yann
Partager