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.
A voir également:

6 réponses

Chacual Messages postés 230 Date d'inscription   Statut Membre Dernière intervention   150
 
Il faut te donner tout le script ou juste t'aider :D ?
0
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
Chacual Messages postés 230 Date d'inscription   Statut Membre Dernière intervention   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
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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

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

Posez votre question
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
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
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