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.
Configuration: Windows XP
Internet Explorer 7.0

10 réponses

  1. bob031 Messages postés 8228 Statut Membre 473
     
    bonjour,

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

    :-))
    0
  2. 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
  3. 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
  4. bob031 Messages postés 8228 Statut Membre 473
     
    on peut voir le script ??

    :-))
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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
  7. tania3
     
    de même:

    #!/bin/bash

    >fichier.txt

    me retourne la même erreur!

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

    "le gros rectangle tous noir"
    0