Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
870 connectés 

  FORUM HardWare.fr
  Programmation

  Help, controle UNIX

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Help, controle UNIX

n°10829
CeCe
Posté le 23-01-2001 à 14:07:53  profilanswer
 

bon j'ai un controle, si quelqu'un peut m'aider c'est cool!!
 
j'ai jusqu'a 16h maxi...
 
(ls -w ||whoami) && date
(ls -w && whoami) ||date
 
ca veut dire quoi?
 
merci

mood
Publicité
Posté le 23-01-2001 à 14:07:53  profilanswer
 

n°10833
Toxin
Carpe ★★ Vitam
Posté le 23-01-2001 à 14:18:27  profilanswer
 

pas d'option -w pour le ls chez SUN.
 
Pour la signification ça veut dire que
ls -w ça ne marche pas => renvoie un message d'erreur (2) => faux
whoami marche => renvoie la valeur 0 => vrai
date marche => renvoie 0.
 
donc dans
1) (faux ou vrai) et vrai => vrai
2) (faux et vrai) ou vrai => vrai
 
Dans tous les cas la valeur booléenne de ton expression c'est vrai.
 
Si c'est pas ça ce que tu veux, va falloir être plus précise cher CeCe.

 

n°10838
Fred999
Rabat-joie
Posté le 23-01-2001 à 14:22:06  profilanswer
 

Flagrant délit de double topic.
 
En plus sur BlaBla t'as pas dit que c'était pour un contrôle...

n°10839
CeCe
Posté le 23-01-2001 à 14:22:54  profilanswer
 

oui c'est ca merci...
 
une autre question
 
supposons que ds votre repertoir courant il y ass
_ des fichiers scripts et donnees en texte
_ des fichiers binaires
_ des sous repertoires
creer un script qui affiche le contenu de tous les fichiers avec une ligne entête indiquand le nom du fichier
pour les fichiers non texte ne pas afficher leurs contenus mais signaler par une ligne:
fichier (indiquer le nom): repertoire ou non-texte suivant le cas

 

n°10841
Toxin
Carpe ★★ Vitam
Posté le 23-01-2001 à 14:47:10  profilanswer
 

J'ai trouvé, je rédige.

 

n°10843
CeCe
Posté le 23-01-2001 à 14:50:02  profilanswer
 

merci Toxin, tu merites un gros gros bisoux!

 

n°10845
PinG
Rooteur
Posté le 23-01-2001 à 14:55:29  profilanswer
 

Toxin a écrit a écrit :

J'ai trouvé, je rédige.
 
 

 




arf!
:D
file est ton ami ;)

 

n°10847
Toxin
Carpe ★★ Vitam
Posté le 23-01-2001 à 14:59:03  profilanswer
 

Da file ist good.
 
Mais j'ai des problèmes avec la comparaison.

 

n°10848
verdoux
And I'm still waiting
Posté le 23-01-2001 à 15:02:48  profilanswer
 

Pour la première question, comme le dit Toxin, y a pas d'option -w dans le ls POSIX (mais elle existe sous GNU-bash).
 
Bon restons POSIX.
(ls -w || whoami) && date va donc être évaluée et retourner sur la sortie standard le nom de l'utilisateur et la date.
 
Par contre (ls -w && whoami) || date ne va retourner que la date parce que les opérateur doublés && et || n'évaluent le second membre que si le premier ne permet pas d'avoir le résultat.
 
Ainsi exp1 && exp2 n'évaluera pas exp2 si exp1 est faux
et exp1 || exp2 n'évaluera pas exp2 si exp1 est vrai.

 


--Message édité par Verdoux--

n°10850
Fred999
Rabat-joie
Posté le 23-01-2001 à 15:12:02  profilanswer
 

Voilà ce que j'ai eu en testant les commandes :
 
ma_machine# {nom_user} /tmp > (ls -w ||whoami) && date
ls: illegal option -- w
usage: ls [-1ACFLNRabcdefgilmnopqrstux] [File...]
nom_user
Tue Jan 23 14:54:02 NFT 2001
ma_machine# {nom_user} /tmp > (ls -w && whoami) ||datess
ls: illegal option -- w
usage: ls [-1ACFLNRabcdefgilmnopqrstux] [File...]
Tue Jan 23 14:54:24 NFT 200
 
Histoire d'illustrer les propos de Verdoux.
 
Et qu'on arrête de dire que je fais de la mauvaise volonté!!!

mood
Publicité
Posté le 23-01-2001 à 15:12:02  profilanswer
 

n°10852
CeCe
Posté le 23-01-2001 à 15:18:20  profilanswer
 

merci les gars! ;)
 
une autre question:
 
 
creer la commande "monchoix" qui affiche les lignes suivantes:ss
Menu du (indiquer la date)ss
1: liste des fichiers de votre repertoire de depart (le home) avec les detailsss
2: liste des utilisateurs connectes a la machine tries suivant leurs nomsss
3: liste des variables d'environnementss
 
de sorte que qd on lance "choix 1 " "choix 2" ou "choix3" on a les listes indiquesss
 
prevoir le cas ou on lance "choix" sans arguments, afficher le message "lancer choix avec arguments 1,2 ou 3"

 

n°10857
jupiler
Un cousin...
Posté le 23-01-2001 à 15:25:22  profilanswer
 

allez je m'y mets

n°10861
Toxin
Carpe ★★ Vitam
Posté le 23-01-2001 à 15:30:22  profilanswer
 

Ah Vi ça m'apprendra à pas tester.

 

n°10862
Toxin
Carpe ★★ Vitam
Posté le 23-01-2001 à 15:36:15  profilanswer
 

Il y a un pb de syntaxe avec les opérateurs de comparaison et je me souviens plus comment on fait.
 
Attention ' est le back-quote
 
#!/bin/ksh
 
liste='ls'
 
for i in $liste
do
   res='file $i'
 
   echo $res | grep text | wc -l | read btext
   echo $res | grep bit | wc -l | read bbin
   echo $res | grep directory | wc -l | read bdir
   echo $res | grep script | wc -l | read bscript
 
   if [ $btext -eq 1 -o $bscript -eq 1 ]
   then echo "Contenu de $i"
        cat $i
        echo
   else if [ $bbin -eq 1 ]
        then echo "$i : binaire"
        else if [ $bdir -eq 1 ]
             then echo "$i : repertoire"
             else echo "autre"
             fi
        fi
   fi
done
 
Une Connerie corrigé
Deux Conneries corrigées. Ca a l'air de marcher maintenant
 
 
 
 
 

 


--Message édité par Toxin--

n°10863
Toxin
Carpe ★★ Vitam
Posté le 23-01-2001 à 15:40:55  profilanswer
 

CeCe peux tu me donner le nom de tes professeurs UNIX. Par mail si tu veux pour pas les divulguer ici. Ca sent le vécu c'est pour ça.

 

n°10864
jupiler
Un cousin...
Posté le 23-01-2001 à 15:42:00  profilanswer
 

choix.ksh:
 
 
#!/bin/ksh
 
NBPARAM=$#
 
if [ "$NBPARAM" != 1 ]
then
 echo "lancer choix avec arguments 1,2 ou 3"
else
 case "$1" in
    "1" )
     ls -l $HOME
      ;;
    "2" )
     who | sort
     ;;
    "3" )
     env;;
     
   esac
fi
 
 
 
monchoix.ksh:
 
 
#!/bin/ksh
 
echo "Menu du `date`"
echo "1: liste des fichiers de votre repertoire de depart (le home) avec les details "  echo "2: liste des utilisateurs connectes a la machine tries suivant leurs noms  "
echo "3: liste des variables d'environnement"

 

--Message édité par jupiler--

n°10866
Fred999
Rabat-joie
Posté le 23-01-2001 à 15:45:54  profilanswer
 

J'ai regardé les options de la commande who, et pareil, je vois pas comment trier non plus.
 
Dis-moi, par hasard il ne manque pas un cat temp.txt ou more temp.txt???

n°10867
jupiler
Un cousin...
Posté le 23-01-2001 à 15:47:20  profilanswer
 

Fred999 a écrit a écrit :

J'ai regardé les options de la commande who, et pareil, je vois pas comment trier non plus.
 
Dis-moi, par hasard il ne manque pas un cat temp.txt ou more temp.txt???

 





 
j'ai changé mon message, suffit de faire who | sort
 
sinon sort sur le fichier ca marche aussi mais c'est plus nécessaire ici

n°10868
Toxin
Carpe ★★ Vitam
Posté le 23-01-2001 à 15:48:27  profilanswer
 

Trié comme ça ???
 
who | awk '{ print $1 }' | sort

 

n°10870
jupiler
Un cousin...
Posté le 23-01-2001 à 16:00:16  profilanswer
 

testes "who | sort" tu verras bien
 
 
ta méthode ne fait que restreindre l'affichage au nom du connecté, mais le awk est inutile puisque le sort utilise le premier champ de la ligne donc le nom

 

--Message édité par jupiler--

n°10872
CeCe
Posté le 23-01-2001 à 16:02:52  profilanswer
 

merci merci
 
 
autre question:ss
 
supposons que dansssvotre repertoire courant il y ass
_des fichiers scripts et donnees en textess
_ des fichiers binairesss
_ des sous repertoiresss
 
creez un script qui affiche le contenu de tous les fichiers avec une ligne entête indiquand le nom du fichier. Pour les fichiers non texte ne pas afficher leurs contenus mais signaler par une ligness
ss fichier (indiquer le nom): repertoire ou non texte suivant le casss
 
oups!!!ssdur dur

 

n°10873
Toxin
Carpe ★★ Vitam
Posté le 23-01-2001 à 16:03:37  profilanswer
 

Vi mais on ne voit QUE les noms des utilisateurs UNIX, pas le reste. On n'a pas demandé la liste des tty dans l'énoncé.
 
Par contre comment on fait un group des lignes ????

 

n°10874
Toxin
Carpe ★★ Vitam
Posté le 23-01-2001 à 16:04:46  profilanswer
 

CeCe a écrit a écrit :

merci merci
 
 
autre question:  
supposons que dans  votre repertoire courant il y a  
_des fichiers scripts et donnees en texte  
_ des fichiers binaires  _ des sous repertoires  
creez un script qui affiche le contenu de tous les fichiers avec une ligne entête indiquand le nom du fichier. Pour les fichiers non texte ne pas afficher leurs contenus mais signaler par une ligne  
   fichier (indiquer le nom): repertoire ou non texte suivant le cas  
oups!!!  dur dur

 





 
Relis tout le topic, CeCe

 

n°10876
jupiler
Un cousin...
Posté le 23-01-2001 à 16:07:36  profilanswer
 

Toxin a écrit a écrit :

Vi mais on ne voit QUE les noms des utilisateurs UNIX, pas le reste. On n'a pas demandé la liste des tty dans l'énoncé.
 
Par contre comment on fait un group des lignes ????
 
 

 





 
tu veux dire, pour éliminer les doublons??

n°10878
Toxin
Carpe ★★ Vitam
Posté le 23-01-2001 à 16:08:26  profilanswer
 

Vi. En awk je sais faire mais pas sur une seule ligne.

 

n°10879
jupiler
Un cousin...
Posté le 23-01-2001 à 16:11:33  profilanswer
 

Toxin a écrit a écrit :

Vi. En awk je sais faire mais pas sur une seule ligne.
 
 

 





 
dans ce cas-la ta ligne est bien mais tu rajoutes -u
 
who | awk '{ print $1 }' | sort -u

n°10881
Toxin
Carpe ★★ Vitam
Posté le 23-01-2001 à 16:14:25  profilanswer
 

Voilà !!!!! A deux on y arrive :D

 

n°10884
jupiler
Un cousin...
Posté le 23-01-2001 à 16:18:15  profilanswer
 

ouaips, question suivantess:hap:

n°10887
Toxin
Carpe ★★ Vitam
Posté le 23-01-2001 à 16:19:35  profilanswer
 

Mais il est 16h passé et j'ai été absent pendant plus d'une demi-heure pour papoter avec un directeur de projet.
 
Ca n'a pas dû aider CeCe.
 

 


--Message édité par Toxin--

n°10889
CeCe
Posté le 23-01-2001 à 16:20:38  profilanswer
 

derniere question, et apres, vous avez droit a une sucette!!! :rolleyes:
 
copier le fichier/etc/passwd chez vous
afficher dans l'ordre alphabetique tous les noms utilisateurs avec leurs shells, pas d'autres informations superflues

 

n°10890
jupiler
Un cousin...
Posté le 23-01-2001 à 16:25:08  profilanswer
 

putain, c'est un control sur l'utilisation du man

n°10892
CeCe
Posté le 23-01-2001 à 16:29:13  profilanswer
 

et tu sais y repondre?
j'ai le debut, mais j'ai du mal pour la liste...
 
 

jupiler a écrit a écrit :

putain, c'est un control sur l'utilisation du man

 




 

n°10893
Toxin
Carpe ★★ Vitam
Posté le 23-01-2001 à 16:30:00  profilanswer
 

-- Voilà voilà, ça arrive :D --
 
#!/bin/ksh
 
cat /etc/passwd | awk '
BEGIN
{
FS=":"
}
 
{
ligne[$0]=sprintf("%s %s",$1, $7)
}
 
END
{
for (i in ligne)
ss printf("%s
", ligne[i])
} ' | sort

 

n°10895
jupiler
Un cousin...
Posté le 23-01-2001 à 16:32:51  profilanswer
 

pas mieux
 
pour éviter les doublons rajouter -u après le sort

n°10896
Toxin
Carpe ★★ Vitam
Posté le 23-01-2001 à 16:33:09  profilanswer
 

Mais je crois que c'est cut qu'il faut utiliser :D

 

n°10899
Toxin
Carpe ★★ Vitam
Posté le 23-01-2001 à 16:38:26  profilanswer
 

cat /etc/hosts | cut -f1,7 -d":" | sort
Mais il y a un ":" qui reste. Tu peux rajouter
| sed s/[:]/ /g
Pour le virer :D

 

n°10901
jupiler
Un cousin...
Posté le 23-01-2001 à 16:39:24  profilanswer
 

cela dit, ya moyen de faire plus simple au niveau du code,
 
genre avec une seule ligne:
 
awk -F: '{print $1 "ss" $7}' /etc/passwd | sort -u

n°10902
Toxin
Carpe ★★ Vitam
Posté le 23-01-2001 à 16:43:07  profilanswer
 

Vi euh.... c'est mieux c'est sûr :D
 
Comme je n'utilise jamais awk tout seul sur la ligne de commande, je connaissais pas -F

 

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  Help, controle UNIX

 

Sujets relatifs
Rien à voir mais please help!JAVA et JToolBar : help !
help me sur les procédures stockées..... 
Plus de sujets relatifs à : Help, controle UNIX


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR