[Shell - awk] Redirection ">>" écrase le fichier

Redirection ">>" écrase le fichier [Shell - awk] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 04-12-2007 à 14:09:21    

Bonjour,
 
Je souhaite écrire un script pour faire des stats sur des tags appliqués à des photos.
J'écris au fur et à mesure mes résultats dans un fichier, en utilisant tout bêtement :
 
for i in `cut -f1 liste_de_tags.dat`
do
 echo $i >> resultat.dat
 #je fais d'autres traitements....
done

 
Seulement, à la fin je me retrouve avec un seul résultat dans mon fichier, le dernier résultat traité !!
 
Quand j'exécute plusieurs fois echo "blabla" >> fichier_bidon.txt dans un terminal j'ai le même problème : c'est comme si je faisais ">" au lieu de ">>". Le texte n'est pas concaténé au contenu du fichier. Le contenu du fichier est remplacé par "blabla"
 
De quoi cela peut venir ?? :??:  
Merci d'avance :)

Reply

Marsh Posté le 04-12-2007 à 14:09:21   

Reply

Marsh Posté le 04-12-2007 à 14:17:41    

Tu es dans un bash restreint peut-être ? (bash -r ou rbash)


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
Reply

Marsh Posté le 04-12-2007 à 14:20:30    

tu ne mettrais pas un espace par hasard entre tes deux ">" ? [:cerveau mullet]


---------------
Wedge#2487 @HS -#- PW: +∞ -#- Khaz-Modan/Boltiz @WoW
Reply

Marsh Posté le 04-12-2007 à 14:24:47    

Xavier_OM > je ne crois pas, en plus dans mon script shell je précise au départ :
#! /usr/bin/bash
il me semble que du coup je ne sois pas dans un bash restreint... Non ?
 
WedgeAnt > non non je n'ai pas mis d'espace ;-) j'ai relu 10 fois ma ligne pour être sur que j'avais pas fait de boulette de ce genre !

Reply

Marsh Posté le 04-12-2007 à 14:29:05    

Sinon en attendant qu'on trouve le pb, tu peux mettre la redirection après ton "done" (du coup tu écris une seule fois, du coup pas de problème avec le mode 'append' :D)


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
Reply

Marsh Posté le 04-12-2007 à 14:31:20    

On peut voir tes aliases ?


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
Reply

Marsh Posté le 04-12-2007 à 14:41:57    

Je viens d'installer l'environnement (je suis sur ubuntu feisty installée sur une machine virtuelle virtualbox depuis windows)
Je n'ai pas d'alias particulier, à part le ls='ls --color=auto', que j'ai trouvé dans mon .bashrc

Reply

Marsh Posté le 04-12-2007 à 14:56:00    

Et dans /etc/bashrc ?


---------------
Be the one with the flames.
Reply

Marsh Posté le 04-12-2007 à 15:11:21    

je n'y ai pas trouvé d'alias... Et comme je disais, je viens d'installer ubuntu, donc l'environnement est clean logiquement...

Reply

Marsh Posté le 04-12-2007 à 16:02:33    

LinoaKwak a écrit :

je n'y ai pas trouvé d'alias... Et comme je disais, je viens d'installer ubuntu, donc l'environnement est clean logiquement...


 
la preuve que non :D


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
Reply

Marsh Posté le 04-12-2007 à 16:02:33   

Reply

Marsh Posté le 04-12-2007 à 22:49:21    

Et en utilisant un autre shell genre zsh,tcsh etc ..

 

Tu as toujours le même problème ?

Message cité 1 fois
Message édité par vanfannel_94 le 04-12-2007 à 22:50:14
Reply

Marsh Posté le 05-12-2007 à 09:27:47    

vanfannel_94 a écrit :

Et en utilisant un autre shell genre zsh,tcsh etc ..
 
Tu as toujours le même problème ?


 
Je n'ai pas installé d'autres shell pour l'instant, mais j'ai installé et testé mon script sous cygwin et il marche très bien.
Comme disait Xavier_OM, il doit y avoir un alias qui traîne... Je vais essayer de refaire mon install et je verrai si c'est moi qui l'ai créé par erreur ou si ça vient directement d'ubuntu... ce qui m'étonnerait pas mal :D
 
En tous cas merci beaucoup à tous ceux qui m'ont répondu :hello:


Message édité par LinoaKwak le 05-12-2007 à 09:28:32
Reply

Marsh Posté le 05-12-2007 à 09:36:39    

J'ai trouvé l'origine du soucis :bounce:  
 
Je travaille sur un disque monté. C'est un dossier sur mon windows que je voulais partager entre ma machine virtuelle sous linux et windows.
Quand je fais le test sur ce dossier, j'ai le problème d'écrasement de fichier. Mais si je teste en local, pas de soucis ! Voilà la raison :)  
Tout ça pour ça.... Merci encore à tous

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed