Réaliser un script Shell similaire à la commande HEAD et la commande TAIL

assmino Messages postés 5 Date d'inscription jeudi 28 septembre 2006 Statut Membre Dernière intervention 10 décembre 2009 - 27 nov. 2009 à 18:35
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 - 10 déc. 2009 à 01:26
salut,
je veux un peu d'aide en écriture d'un script Shell similaire à la commande HEAD et la commande TAIL tout en personnalisant les messages d’erreurs et les options prédéfinies par le système Unix pour ces commandes, et de concevoir un deuxième script Shell qui permet d’ajouter un utilisateur groupe.

9 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
27 nov. 2009 à 20:35
Ta demande est quelque peu incompréhensible.
Peux-tu expliquer cela un peu mieux ?
Veux-tu réaliser cela en script shell ? Veux-tu recoder en C ou C++ les outils head et tail ?
0
assmino Messages postés 5 Date d'inscription jeudi 28 septembre 2006 Statut Membre Dernière intervention 10 décembre 2009
8 déc. 2009 à 23:34
salut
non je veux écrire un script shell qui utilise la commande head and tail,
Mercii
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
8 déc. 2009 à 23:37
Ben heu ouais, si tu veux.

vu qu'il n'y a pas de précison, le code est :p
#!/bin/sh
head
tail
0
assmino Messages postés 5 Date d'inscription jeudi 28 septembre 2006 Statut Membre Dernière intervention 10 décembre 2009
9 déc. 2009 à 02:05
voilà j'ai essayé d'écrire un petit script shell de la commande tail, j'ai trouvé quelques difficultés au niveau de l'execution,lorsqu'il donne la main pour entrer les derniers nombres, il sort pas de la boucle

var2=`wc -l $2`

if [ -f $1 ] && [ -s $1 ]

then



nbr=`wc -l $1`

nbr=$((${nbr% *}))

if [ $var2 -gt $nbr ]

then

echo "le nombre que vous avez entrerdepasse le nombre de ligne du fichier veuillez entrer un nombre inferieur ou egale a $nbr"

else

tail -$var2 $1
fi
fi
0

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

Posez votre question
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
9 déc. 2009 à 10:20
J'ai un peu du mal à comprendre ce que tu cherches à faire. Peux-tu décrire précisement ce que tu cherches à faire ?

Peut être cherche tu à faire ceci ?
#!/bin/sh

if [ -f $2 -a -s $2 ]; then
    var2=`wc -l $2`
    var2=$((${var2% *}))
else
    echo "$2: fichier inexistant"
fi

if [ -f $1 -a -s $1 ]; then
    nbr=`wc -l $1`
    nbr=$((${nbr% *}))
    if [ $var2 -gt $nbr ]; then
echo "le nombre que vous avez entrer depasse le nombre de ligne "
"du fichier veuillez entrer un nombre inferieur ou egale a $nbr"
    else
tail -n $var2 $1
    fi
else
    echo "$1: fichier inexistant"
fi
0
assmino Messages postés 5 Date d'inscription jeudi 28 septembre 2006 Statut Membre Dernière intervention 10 décembre 2009
10 déc. 2009 à 00:46
ca marche pas lors de l'execution, le même problème que j'ai trouvé, il faut qui donne juste les derniers nombres que j'ai entré et qu'il sort de la boucle
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
10 déc. 2009 à 00:50
Peux-tu expliquer clairement ce que tu cherches à faire ? (Avec des exemples).
Je suis désolé, mais c'est toujours incompréhensible !
0
assmino Messages postés 5 Date d'inscription jeudi 28 septembre 2006 Statut Membre Dernière intervention 10 décembre 2009
10 déc. 2009 à 01:07
je cherche de faire un petit script avec la commande "tail", je veux lire les derniers lignes d'un fichier,voilà ce qu'il me donne apres execution
sh -x uu
+ '[' -f ']'
+ '[' -s ']'
++ wc -l
1
2
3
+ nbr=3
+ nbr=3
++ wc -l
1
2
+ var2=2
+ '[' 2 -gt 3 ']'
+ tail -2
1
2
3
4
au niveau de tail, il affiche pas juste les 2 derniers lignes
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
10 déc. 2009 à 01:26
Essaie de faire un petit effort sur l'orthographe et la syntaxe, car tu es très difficile à lire et à comprendre.

Je ne comprends toujours pas ce que tu cherches à réaliser, mais une ligne me parait étrange:

tail -2

Ca ne devrait pas être ?:

tail -n 2
0
Rejoignez-nous