Pb création de fichier en bash

Résolu
tania3 -  
 tania -
Bonjour,
voici mon pb:
lors que je fait:
grep -n "mots" monfichier.txt >>new.txt


le compilateur me retourne l'erreur suivant:
No such file or directory new.txt

or en bash les ">" permettent de rediriger un flux de donnée vers une sortie et de la créer si elle n'existe pas.

je suis assez bloqué.

NOTE: cette commande fonctionne très bien dans mon shell mais plus dans mon fichier scrip.

je comprend pas pourquoi.

Merci de bien vouloir me venir en aide.
A voir également:

10 réponses

bob031 Messages postés 8228 Statut Membre 473
 
bonjour,

..et en indiquant le chemin complet du fichier dans le script ?

:-))
0
tania3
 
ça fonctionne pas non plus

c'est que new.txt qu'il ne reconnait pas (normal il est pas encore créer et meme s'il l'est ça ne fonctionne pas :-( )
j'ai éssaillé aussi en forcent la sortie vers un autre dossier.

rien y fait pour l'instant
0
dmganges
 
Bjr,
Bizarre chez moi çà fonctionne...

# cat monfichier.txt
mot1
mots2

grep -n "mots" monfichier.txt >>new.txt

# cat new.txt
2:mots2

# cat toto
grep -n "mots" monfichier.txt >>new.txt


chmod +x toto

toto

# cat new.txt
2:mots2
2:mots2

Il a bien ajouté une ligne !

C'est bien ce que tu veux faire ?
Sinon précise, merci
@+
0
bob031 Messages postés 8228 Statut Membre 473
 
on peut voir le script ??

:-))
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tania3
 
oki voici le code


#!/bin/bash

grep -n SNMP X.txt | sed "s/:/\ /" | awk '{printf $1 "\n"}' >lignebon.txt

len1=`awk END'{printf NR}' lignebon.txt`
lignef=1
while ( [ $lignef -ge 1 ] && [ $lignef -le $len1 ] )
do

lignelu=`awk -v l=$lignef 'NR==l{printf $1 "\n"}' lignebon.txt `

lignef=$(( $lignef+ 1 ))
echo $lignef
ligned=$([ $lignelu - 5 ])
echo $ligned

`awk -v l=$ligned 'NR==l {printf $3 "\n"}' X.txt` >> IP_cisco_equipement.txt
done
0
tania3
 
de même:

#!/bin/bash

>fichier.txt


me retourne la même erreur!

je ne sais pas d'où ça peut venir.
:-((
0
dubcek Messages postés 19021 Statut Contributeur 5 637
 
pas les droits d'écriture dans le rép. ?
ls -ld . ; id -a
0
tania
 
si je les ais puisque quand je le fait en direct dans un shell celà fonctionne très bien
0
dubcek Messages postés 19021 Statut Contributeur 5 637
 
que signifie en direct dans un shell ?
0
tania
 
directement dans la fenètre de comande:

"le gros rectangle tous noir"
0