Probleme script firstline sous UNIX et vi

Résolu
kamax54 -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
je suis complètement novice avec UNIX et j'aurai besoin d'aide pour réaliser un script sans utiliser ni SED ni AWK. Quelqu'un peut-il m'aider?
Voici l'énoncé :
For the following and any subsequent exercises you ARE NOT permitted to use either SED or AWK.

Script 1

Pre-requisites
Create a file with x amount of lines in it, the content of your choice.

Write a script named 'firstline' that takes two arguments. The first being a line of text, the second being your newly created file. The script should take the first argument and insert it into the very top (the first line) of the file named in your second argument.

Note! The file must retain the original name

Merci.
Configuration: Windows XP
Firefox 2.0.0.6

6 réponses

  1. Chacual Messages postés 230 Statut Membre 150
     
    Il faut te donner tout le script ou juste t'aider :D ?
    0
  2. kamax54
     
    > càd que j'ai plusieurs script à faire, celui-ci est le premier de la
    > liste...et vu que je ne trouve pas du tout de solution, je souhaiterai avoir
    > tout le script afin de me rendre compte de mes erreurs. Car je ne peux plus
    > me permettre de perdre du temps en réalité. Donc oui tout le script SVP.
    > Merci.
    0
  3. Chacual Messages postés 230 Statut Membre 150
     
    Contenu du fichier monFichier.txt
    toto
    titi
    tata

    Script firstline :
    # Récupération des arguments dans des variables
    arg1=$1
    arg2=$2
    # Copie, s'il existe, du contenu du fichier passé en argument dans un fichier temp
    cat $arg2 > temp.txt
    # Affichage de l'argument 1 tout en redirigeant la sortie standard vers le fichier indiqué en argument 2
    echo $arg1 > $arg2
    # Ajout à la fin du fichier arg2 du contenu du fichier avant insertion de la première ligne :
    cat temp.txt >> $arg2

    Exécution du script :
    sh firstline blabla monFichier.txt

    Contenu du fichier :
    blabla
    toto
    titi
    tata
    0
  4. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    celui-ci est le premier de la
    > liste...


    En ce cas je te rappelle que tu es sur un site francophone, donc traduit d'abord l'énoncé de ton exercice avant de l’écrire.
    Merci.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. kamax54
     
    Merci beacoup Chacual pour ton aide...moi j'étais parti sur une function firstline () {en essayant de faire des couper coller..etc}.
    Grâce à toi g compris qu'on ne peut pas inclure des commande de vi dans un script. Genre G ou o, O, yy...etc
    C'était là-dessus que je ne pigé pas comment faire.
    Encore merci pour ta rapidité.
    Et désolé à llami20j si je n'ai pas traduit l'énoncé, mais c'était presque transparent lol
    0
  7. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Petite variante...
    [tmpfs]$ cat plop     # le fichier de départ
    
    ligne1
    ligne2
    ligne3
    ligne4
    
    [tmpfs]$ cat firstline     # le script
    
    #! /bin/bash
    
    var=$(cat "$2")
    echo "$1" > "$2"
    echo "$var" >> "$2"
    unset var
    
    [tmpfs]$ ./firstline "ligne insérée" plop
    [tmpfs]$ cat plop
    
    ligne insérée
    ligne1
    ligne2
    ligne3
    ligne4
    
    [tmpfs]$
    ;-))
    0