Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/06/2007, 10h54   #1
Membre chevronné
 
Inscription : décembre 2004
Messages : 1 213
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 1 213
Points : 766
Points : 766
Par défaut script shell : probleme avec sed et awk

Bonjour, j'ai un fichier qui ne contient que des chiffres. Je désire diviser toutes les colonnes par 2 excepté la 1e. Mon problème est que les décimaux sont représentés par un point et non une virgule et j'ai l'impression que pour utiliser la commande awk il faut une virgule. Voici mon script

Code :
1
2
3
4
5
6
7
 
N=2
 
sed "s/./,/gw toto" Mean.txt
awk '{print $1,$2/$N,$3/$N,$4/$N,$5/$N,$6/$N,$7/$N,$8/$N,$9/$N,$10/$N,$11/$N,$12/$N,$13/$N,$14/$N,$15/$N,$16/$N,$17/$N,$18/$N,$19/$N,$20/$N,$21/$N,$22/$N,$23/$N,$24/$N,$25/$N,$26/$N,$27/$N,$28/$N}' toto > tata
 
mv tata Mean.txt
1) ma commande sed ne marche pas. Dans mon fichier toto, je n'ai plus que des virgules... Comment faire pour avoir un fichier où tous les points ont été remplacés par une virgule ?

2) à propos de la commande awk, j'ai essayé de faire une boucle for mais sans grand succes. Pouvez-vous m'aider s'il vous plait ?

Merci.
salseropom est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2007, 11h18   #2
Membre chevronné
 
Inscription : décembre 2004
Messages : 1 213
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 1 213
Points : 766
Points : 766
Bonjour, je me pose la question suivante : si je fais

Code :
1
2
 
sed 's/i/toto/g' essai.txt
avec mon fichier essai.txt qui contient

la sortie est bien

Code :
1
2
3
 
abcdtotof
ghototojk
donc la commande sed marche bien. si maintenant mon fichier essai.txt contient

et que je fais

Code :
1
2
 
sed 's/./,/g' essai.txt
la sortie est

Pourquoi ?
salseropom est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2007, 11h51   #3
Membre du Club
 
Inscription : juillet 2006
Messages : 66
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2006
Messages : 66
Points : 50
Points : 50
Le point represente n'importe quel caractére

utilise \ pour echapper le caractére :

sed 's/\./,/g' fichiertest.txt
Finidrigoler est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2007, 11h57   #4
Membre chevronné
 
Inscription : décembre 2004
Messages : 1 213
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 1 213
Points : 766
Points : 766
OK merci ! ca marche.
salseropom est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h50.


 
 
 
 
Partenaires

Hébergement Web