Posez votre question Signaler

Probleme script firstline sous UNIX et vi [Résolu]

kamax54 - Dernière réponse le 30 août 2007 à 23:33
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.
Lire la suite 

Probleme script firstline sous UNIX et vi »

6 réponses
Réponse
+0
moins plus
Il faut te donner tout le script ou juste t'aider :D ?
Ajouter un commentaire
Réponse
+0
moins plus
> 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.Configuration: Windows XP Firefox 2.0.0.6
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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 lolConfiguration: Windows XP Firefox 2.0.0.6
Ajouter un commentaire
Réponse
+0
moins plus
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]$
;-))
Ajouter un commentaire
Ce document intitulé « probleme script firstline sous UNIX et vi » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?