Les Allergies
Alimentaires
Posez votre question Signaler

Script ksh fonction sed

moustik - Dernière réponse le 25 oct. 2007 à 16:51
Bonjour,
Novice en scripting /bin/ksh j'aurais besoin d'un coup de pouce.
Machine : SunOS I386 Solaris5.10
Voici l'idée :
En fait, je souhaite faire une fonction le but étant de faire ressortir qu'une partie du df -h avec sed.
en gros avoir uniquement le nom du disk la dénomination et l'espace utilisé en pourcentage (eg"c0t0d0s0 / 70%")
Dans mon script de base la ligne de commande au complet ci-dessous fonctionne.
echo "toto" `df -h /|grep %| sed -e 's/[0-9].[0-9]G//g' -e 's/[0-9].[0-9]M//g' -e 's/[0-9]G//g' -e 's/[0-9]M//g' -e 's#/dev/dsk/#/#g'` "\n" >> $LOG &&
Ma tentative étant de créer une fonction pour éviter d'avoir a reprendre la ligne de commande qui prend bcp de caractère.
Par contre ma tentative avec la création de la fonction ci-dessous ne marche pas. Quelqu'un a une idée? Merci
Voici mon script
#!/bin/ksh
#
DATE=`date '+%y%m%d%H%M'`
LOG=/var/log/autosed$DATE.log
export LOG
DEBUG=echo
#fonction permettant d'afficher que le pourcentage d'espace utilisé sur une partition type.
call_sed()
{
sedcmd=`grep % | sed -e 's/[0-9].[0-9]G//g' -e 's/[0-9].[0-9]M//g' -e 's/[0-9]G//g' -e 's/[0-9]M//g' -e 's#/dev/dsk/#/#g'` >> $LOG
df -h $1 | $sedcmd
}
call_sed "/"
Lire la suite 

Script ksh fonction sed »

3 réponses
Réponse
+0
moins plus
Salut,

pourquoi pas tout simplement
df -h | awk '{print $1" "$5" "$6}'
?!
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

Pas mal plus facile avec awk.

df -h |awk '{print $1 "\t" $4}'


A+
Ajouter un commentaire
Réponse
+0
moins plus
yes effectivement plus simple merci. C'est les débuts donc peut-être je vais chercher trop loin puis aussi j'aimerais prendre l'habite de faire des fonctions.

Dans ce cas j'aurais cette ligne pour chaque partition :

df -h / | awk '{print $1" "$5" "$6}' | sed -e 's#/dev/dsk/#/#g'

alors si je veux faire une fonction ça donnerais le script ci-dessous. Sauf qu'il me manque encore un bout ou il y a une erreur sur la recherche du df et de la valeur :

#!/bin/ksh
#
DATE=`date '+%y%m%d%H%M'`
LOG=/var/log/autosed$DATE.log
export LOG

#fonction permettant d'afficher que le pourcentage d'espace utilisé sur une partition type.

call_sed()
{
sedcmd=` awk '{print $1" "$5" "$6}' | sed -e 's#/dev/dsk/#/#g'` >> $LOG
df -h $1 | $sedcmd
}
call_sed "/"
Ajouter un commentaire
Ce document intitulé « Script ksh fonction sed » 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 ?