[shell] commande pour ajouter un message

Résolu
binouchette -  
 binouchette -
Bonjour, et merci pour votre aide et d'avoir pris le temps de lire mon petit (pour moi c'est grand) probleme

je suis sous ubunto et dans un fichier j'ai utiliser la commande "touch" pour creer un autre fichier vide, et maintenant je cherche a ajouter du texte ou des instructions a ce nouveau fichier..... sans avoir a utilser le shell (vim ou vi....)

est ce que vous avez une idéee
merci

3 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Ben si justement, en utilisant une commande shell et sans utiliser un éditeur texte je suppose !

    Tu n'as même pas besoin de touch dans ce cas.

    echo "coucou" > /tmp/toto.txt 
    echo "coucou1" >> /tmp/toto.txt 
    echo "coucou2" >> /tmp/toto.txt 
    echo "coucou3" >> /tmp/toto.txt


    En toute rigueur il faudrait même écrire :

    echo "coucou" 1> /tmp/toto.txt 
    echo "coucou1" 1>> /tmp/toto.txt 
    echo "coucou2" 1>> /tmp/toto.txt 
    echo "coucou3" 1>> /tmp/toto.txt


    > (1>) écrit dans un fichier (à la place s'il existe, crée le fichier s'il n'existe pas).
    >> (1>>) écrit à la suite dans un fichier (crée le fichier s'il n'existe pas).

    Un processus écrit
    - sur la sortie standard (/dev/stdout), que tu récupères dans /tmp/toto.txt grâce à 1> ou 1>> ;
    - sur la sortie d'erreur standard (/dev/stderr), que tu récupères dans /tmp/toto.txt grâce à 2> ou 2>> ;

    Ainsi on pourrait imaginer la commande suivante (~ désigne ton home directory, par exemple /home/toto) :

    find /etc 1> ~/out.txt 2> ~/err.txt


    Si tu regardes out.txt et err.txt tu verras dans l'un le résultat et dans l'autre les erreurs.

    Plus d'informations ici :
    https://forums.commentcamarche.net/forum/affich-21941701-stdin-et-stdout#p22026880

    Bonne chance
    2
    1. binouchette
       
      merci, mais est ce que vous pouvez allez doucement, je suis nouvelle sous unix, a vrai dire c'est mes premiers instruction bon pas vraimment les premieres mais.......

      echo "coucou" > /tmp/toto.txt
      c'est que je doit creer un fichier toto.txt puis lui lui ajouter coucou avec cette instruction c'est ca??
      0
    2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Si le fichier n'existe pas il sera créé avec "coucou" comme contenu, sinon ça écrasera le contenu et le remplacera par "coucou".
      0
    3. binouchette
       
      merci , je vais l'aissyé , et je vous frai signe
      une dernier question, pour l'instruction sed -e j'ai lu quelle permettait de remplacer des phrases par des autres,
      sed [adresse] commande\
      expression

      La commande peut être :
      a pour ajout ;
      i pour insertion ;
      c pour modification.
      est ce que vous pouvez me donner un exemple, et pour l'adresse si mes deux fichiers son dans le meme repertoire, je vais pas la specifier
      0
    4. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
       
      Merci zipe31 pour avoir précisé mon propos.

      Essaye de toute façon, tant que tu ne fais pas de sudo et que tu travailles dans /tmp, tu ne peux pas faire de grosses bêtises.

      Les opérateurs 1>, 1>>, 2>, 2>> (>, >>) créent le fichier s'il n'existe pas (et si tu as le droit de le créer). Tous ces opérateurs modifient potentiellement le contenu du fichier passé à droite de l'opérateur.
      - Les opérateurs > 1> 2> écrase le fichier s'il existait déjà,
      - Les opérateurs >> 1>> 2>> écrive à la suite du fichier s'il existait déjà.

      Bonne chance
      0
    5. binouchette
       
      resalut
      merci ca marche a merveille saufe quand je cree un fichier avec un script qui contient les caracteres $i il ne me copie pas le caractere $ je ne sais pas pourquoi ??
      est ce que vous avez une idée???
      0
  2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    echo "Bonjour" > fichier
    echo "Ça va ?" >> fichier
    echo -e "Bonjour,\n\nÇa va?" > fichier2

    1
    1. binouchette
       
      fichier c'est le nom du nouveau fichier que je cree avec touch c'est ca??
      0
    2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Oui.

      Mais jette un oeil à l'explication de mamiemando ci-dessous c'est beaucoup plus développé et instructif que ma réponse ;-))
      0
  3. yunalesqua Messages postés 35 Statut Membre 7
     
    Je comprend pas vraiment le problème mais je pense que tu veux utiliser un éditeur de texte pour pouvoir éditer le fichier que tu viens de créer.

    au quel cas tu fait

    touch toto //creer le fichier
    gedit toto //edite le fichier avec gedit
    0
    1. binouchette
       
      pour touch toto; il va me cree un fichier toto
      et moi je veux ecrire par exemple dans le fichiet toto , echo "toto est malade",
      sans avoir a ouvire le fichier est faire les insertions des instruction..
      vous m'avez compris?
      0