Problème awk en ksh
Résolu
Nokaddict
Messages postés
243
Statut
Membre
-
Nokaddict Messages postés 243 Statut Membre -
Nokaddict Messages postés 243 Statut Membre -
Bonjour à toutes et à tous,
Etant donnée que je ne suis pas un as en programmation, je solicite de la communauté un peu d'aide.
Ce bout de programme est censé récupérer tous les users dba d'un serveur. Les données écrites en dur ne sont la qu'à titre d'exemple, elles sont normalement remplacées par des variables.
je souhaite utiliser la commande "awk" pour extraire les données d'une chaine de caractères dans l'avant dernière ligne du code ksh ci-dessous :
Je voudrais que dans "usenam", le resultat resorti soit uniquement : ora15903.
A l'avant derniere ligne, le print$ est incorecte car je ne précise pas l'emplacement. Ce dernier est définis par $sp. Or lorsque j'indique directement $sp dans print, le résultat retourné est :
Alors que lorsque j'indique "en dur" $5, ça fonctionne.
J'ai essayé avec $$sp, ça ne fonctionne pas.
Je remercie par avance ceux qui auront pris le temps de bien vouloir m'aider.
Etant donnée que je ne suis pas un as en programmation, je solicite de la communauté un peu d'aide.
Ce bout de programme est censé récupérer tous les users dba d'un serveur. Les données écrites en dur ne sont la qu'à titre d'exemple, elles sont normalement remplacées par des variables.
je souhaite utiliser la commande "awk" pour extraire les données d'une chaine de caractères dans l'avant dernière ligne du code ksh ci-dessous :
userdba_p="/home/logiciel/oracle/ora15903 /home/logiciel/oracle/ora16103"
integer userdba_c=2
integer a=0
set -A list $userdba_p
while [ $a -lt userdba_c ]; do
s1='echo "${list[$a]}" | sed 's/[^/]/ /g' | wc -w' #4
sp='expr $s1 + 1' #5
usenam='echo ${list[$a]} | awk -F"/" '{print $sp}''
done
Je voudrais que dans "usenam", le resultat resorti soit uniquement : ora15903.
A l'avant derniere ligne, le print$ est incorecte car je ne précise pas l'emplacement. Ce dernier est définis par $sp. Or lorsque j'indique directement $sp dans print, le résultat retourné est :
/home/logiciel/oracle/ora15903
Alors que lorsque j'indique "en dur" $5, ça fonctionne.
J'ai essayé avec $$sp, ça ne fonctionne pas.
Je remercie par avance ceux qui auront pris le temps de bien vouloir m'aider.
3 réponses
Jme répond à moi même, mais ça aidera peux être ceux qui ont eu/auront le même problème.
Il faut mêtre "print $NF".
Bonne soirée
Il faut mêtre "print $NF".
Bonne soirée