Si il n'y a qu'un seul caractère espace à chaque ligne et ce juste avant le nombre que tu cherches à récupérer (en plus clair, comme dans ton exemple), tu peux utiliser la commande cut
cut -d' ' -f2 fichier
Pour info, j'ai dupliqué tes lignes jusqu'à en faire un fichier de 120Mo, et la commande awk prend en moyenne 6.8s à comparer à la commande cut, qui boucle tout en 1.5s
- serveur ftp sur le linux (bon, tout passe en clair y compris le mot de passe, pourquoi pas un ftp anonyme alors) et on y accède avec un client ftp sous windows (tout navigateur web sait le faire aussi)
- serveur ssh sous linux, et on y accède avec un soft comme winscp depuis ton windows
- serveur NFS(!!!) sous linux et on y accède avec un client nfs (pas de ref sous la main là)
- serveur samba sur linux [...]
On peut aussi trouver des solutions ou Windows est serveur, mais comme ce n'est pas trop ma tasse de thé ...
Au final, tout dépend du niveau de sécurité qu'on veut avoir.
Juste une question bête: comment une boîte sérieuse peut obliger quelqu'un qui ne connait pas le shell à produire un script qui doit partir en prod le lendemain ? C'est suicidaire et irresponsable. J'espère qu'il n'y a pas de clients derrière tout ça. Si c'est le cas, pourvu que je n'en fasse pas partie.
L' entreprise qui fournit un accès à l'Internet à ses employés est une forme d'ISP. Ton entreprise met en place sa politique d' accès à l'Internet et c'est son droit le plus strict. Si tu contestes le bienfondé du filtrage des webmail, va plutot réclamer un filtrage plus souple plutot que de vouloir le contourner.
Si tu ne vois pas comment un admin peut se rendre compte que certaines personnes utilisent des tunnels sans regarder ton poste client, c' est que tu ne t'es pas suffisamment renseigné sur le sujet
Je préfère également sudo, mais en cas de repli sur la seconde solution, j'irais un peu plus loin en créant un groupe pour ceux qui doivent exécuter cette commande (cmdpriv par exemple) et je limiterais les droits d'exécution:
C' est quoi la taille d'un short int sur ta plate-forme ?
Pour l'inversion, c' est probablement dû au big endian/ little
endian (prise en compte d'abord des octects de poids faible ou de poid fort). Utilise les routines qui permettent de convertir en format "réseau" (man byteorder pour plus d'infos)
Tel que je comprends le probème, tu as une liste de variables qui ont comme valeur des entiers, et tu voudrais pouvoir trier ces variables en fonction de ces entiers, c'est ça ?
Si tu peux éviter le tout ksh, tu pourrais peut-être utiliser sort ? genre echo "${a} a\n${b} b" | sort -n
Je ne sais pas ce que tu entends vraiment par renvoie de la liste de chaines ordonnées.
Sinon, il faut coder un algo de tri en ksh (bubble sort, quicksort ... ça dépend de toi)
J' ai acheté un scanner Epson Perfection 4990 il y a 3 mois. Installation en 5 minutes chrono,
+ aucun problème à l'utilisation (complètement supporté par SANE)
isdigit réclame en effet un int, ce qui m'a un peu surpris.
J'ai regardé la macro (qui fait le cast en unsigned char) et le tableau _ctype_ associé (bon c'est sur du OpenBSD, mais j'ai pas de Linux là sous la main). J'ai fait le test suivant:
isdigit(-250) : La réponse est positive.
Comme quoi le test d'un int avec ( >= '0' && <= '9') est quand même différent de isdigit().
N'est-ce pas strtoul que tu veux utiliser ?
Dans ce cas là (juste pour chipoter), tu veux une saisie d'un unsigned long int
Quand tu dis que la méthode 2 ne te permet pas de traiter l'erreur, tu veux dire gérer errno ?
Si tu vérifies que tous les caractères sont des chiffres et que tu ne dépasses pas ULONG_MAX (auquel cas errno serait positionné à ERANGE par strtoul), qu'est-ce qui t'empêche de faire ça à la main ?
unsigned long resultat=0
unsigned long limite=0
Tant que parcours de la chaine
Si le caractère est compris entre '0' et '9'alors
result *= 10
result += valeur portée par le caractère testé
finsi
si result < limite alors
depassement ERANGE et tout le toutim puis on sort
sinon
limite = result
finsi
fin tant que
Affichage du format:
echo "Content-type: text/html"
echo ""
Et puis tu mets ce que tu veux dans ton script pour récupérer les infos (w, affichage de données provenant de /proc, vmstat que sais-je encore ...), avec les balises HTML qui vont bien.
[^] # Re: awk
Posté par ecid . En réponse au message Problème récupération variable :-/. Évalué à 2.
cut -d' ' -f2 fichier
Pour info, j'ai dupliqué tes lignes jusqu'à en faire un fichier de 120Mo, et la commande awk prend en moyenne 6.8s à comparer à la commande cut, qui boucle tout en 1.5s
# solutions à la pelle
Posté par ecid . En réponse au message faire passer des donnée de linux a windows ????. Évalué à 2.
Il y pas mal de solutions disponibles:
- serveur ftp sur le linux (bon, tout passe en clair y compris le mot de passe, pourquoi pas un ftp anonyme alors) et on y accède avec un client ftp sous windows (tout navigateur web sait le faire aussi)
- serveur ssh sous linux, et on y accède avec un soft comme winscp depuis ton windows
- serveur NFS(!!!) sous linux et on y accède avec un client nfs (pas de ref sous la main là)
- serveur samba sur linux [...]
On peut aussi trouver des solutions ou Windows est serveur, mais comme ce n'est pas trop ma tasse de thé ...
Au final, tout dépend du niveau de sécurité qu'on veut avoir.
# pas glop
Posté par ecid . En réponse au message MS Communicator. Évalué à 2.
J' ai trouvé ce lien sur la mailing list de CGatePro:
http://reddevnews.com/news/devnews/article.aspx?editorialsid(...)
Ca n'augure rien de bon pour ta recherche.
# Lecteur de D7
Posté par ecid . En réponse au message Problème matériel grave... ram ?. Évalué à 2.
Avant d'asperger ton ordi d'eau bénite :
Vire ton lecteur de D7, et laisse tourner l'bouzin. C'est quand meme un test tout con qui ne coûte rien.
Sinon le p'tit cousin de Lao-Tse a dit un jour:
"Si tu as un problème avec ton pc, ne change pas de pc, mais change plutôt de problème."
[^] # Re: phase algo : OK
Posté par ecid . En réponse au message Shell sous linux Red Hat : a l'aide. Évalué à 1.
www.tldp.org
Juste une question bête: comment une boîte sérieuse peut obliger quelqu'un qui ne connait pas le shell à produire un script qui doit partir en prod le lendemain ? C'est suicidaire et irresponsable. J'espère qu'il n'y a pas de clients derrière tout ça. Si c'est le cas, pourvu que je n'en fasse pas partie.
# Le sort est entre tes mains
Posté par ecid . En réponse au message tri de fichier via des champs dans le nom fichier. Évalué à 1.
Si j'ai pris suffisamment de caféine : tu veux lister tes fichier par ordre chronologique. Ça te convient ça ?
ls *dat | sort -t\. -k 2,2
[^] # Re: ou admin consciencieux
Posté par ecid . En réponse au message Contournement de proxy. Évalué à 4.
Si tu ne vois pas comment un admin peut se rendre compte que certaines personnes utilisent des tunnels sans regarder ton poste client, c' est que tu ne t'es pas suffisamment renseigné sur le sujet
# le feu par le feu ?
Posté par ecid . En réponse à la dépêche Pétition sur le vote électronique. Évalué à 6.
Une pétition électronique pour empêcher le vote électronique, ça ne choque personne ?
[^] # Re: .
Posté par ecid . En réponse au message executer une commande root. Évalué à 1.
chown root:cmdpriv /path/vers/commande
chown 4110 /path/vers/commande
Maintenant que j'y pense, j'espère que tu n'essaies pas de lancer un shell suid-bité (marche plus, et heureusement)
# bonjour aussi
Posté par ecid . En réponse au message bonjour!. Évalué à 1.
"Ensemble progressif de travaux et d'exercices nécessaires à l'acquisition ou au développement de connaissances générales ou particulières."
ou encore:
"Effort d'observation et de pénétration, orienté vers l'intelligence des êtres, des choses, des faits."
En revanche, je ne vois nulle part : "Poser une question sur linuxfr et recopier les réponses."
Etrange non ?
# un petit endien .. nagawika ...
Posté par ecid . En réponse au message Lecture de fichier binaire. Évalué à 2.
Pour l'inversion, c' est probablement dû au big endian/ little
endian (prise en compte d'abord des octects de poids faible ou de poid fort). Utilise les routines qui permettent de convertir en format "réseau" (man byteorder pour plus d'infos)
[^] # Re: Un indice :
Posté par ecid . En réponse au message cc, as et ld. Évalué à 3.
http://franckh.ftp-developpez.com/recursivite-en-langage-c.p(...)
en particulier du côté de la récursivité terminale.
[^] # Re: un tri ?
Posté par ecid . En réponse au message Tri d'une liste en shell (KSH). Évalué à 1.
(pas de awk, sort, sed, tr, cut et autre ?). Gloups !!
C' est quoi comme KSH ? KSH93 ?
Parce que seul ksh93 gère les tableaux associatifs me semble-t-il, et ce serait plutôt ce qu'il te faudrait.
Essaye ksh93 arrays sur google, les premiers liens sont très utiles.
# un tri ?
Posté par ecid . En réponse au message Tri d'une liste en shell (KSH). Évalué à 1.
Si tu peux éviter le tout ksh, tu pourrais peut-être utiliser sort ? genre echo "${a} a\n${b} b" | sort -n
Je ne sais pas ce que tu entends vraiment par renvoie de la liste de chaines ordonnées.
Sinon, il faut coder un algo de tri en ksh (bubble sort, quicksort ... ça dépend de toi)
# bon type de variable ?
Posté par ecid . En réponse au message Taille d'une video. Évalué à 1.
pFormatCtx est bien un pointeur sur AVFormatContext ?
# epson
Posté par ecid . En réponse au message Scanners actuels pour Linux. Évalué à 2.
+ aucun problème à l'utilisation (complètement supporté par SANE)
# pas assez shell mon fils
Posté par ecid . En réponse au message programme shell. Évalué à 3.
#!/bin/sh
while [ 1 = 1 ]
do
(date;who) >> monfichier
sleep 10
done
c'est un truc comme ca que tu veux ?
[^] # Re: Pas beaucoup plus simple...
Posté par ecid . En réponse au message saisie de chaine et correction d'erreur autonome. Évalué à 1.
J'ai regardé la macro (qui fait le cast en unsigned char) et le tableau _ctype_ associé (bon c'est sur du OpenBSD, mais j'ai pas de Linux là sous la main). J'ai fait le test suivant:
isdigit(-250) : La réponse est positive.
Comme quoi le test d'un int avec ( >= '0' && <= '9') est quand même différent de isdigit().
# str what ?
Posté par ecid . En réponse au message saisie de chaine et correction d'erreur autonome. Évalué à 2.
N'est-ce pas strtoul que tu veux utiliser ?
Dans ce cas là (juste pour chipoter), tu veux une saisie d'un
unsigned long int
Quand tu dis que la méthode 2 ne te permet pas de traiter l'erreur, tu veux dire gérer errno ?
Si tu vérifies que tous les caractères sont des chiffres et que tu ne dépasses pas ULONG_MAX (auquel cas errno serait positionné à ERANGE par strtoul), qu'est-ce qui t'empêche de faire ça à la main ?
unsigned long resultat=0
unsigned long limite=0
Tant que parcours de la chaine
Si le caractère est compris entre '0' et '9'alors
result *= 10
result += valeur portée par le caractère testé
finsi
si result < limite alors
depassement ERANGE et tout le toutim puis on sort
sinon
limite = result
finsi
fin tant que
# istanbul ?
Posté par ecid . En réponse au message Capturer une vidéo à partir d'une fenêtre.. Évalué à 2.
http://live.gnome.org/Istanbul
[^] # Re: Le top du top
Posté par ecid . En réponse au message utoriel" de toutes sortes de commandes à lancer depuis la konsole ?. Évalué à 1.
Bon, ben je le rajoute alors :-)
Et ma commande n'a rien d'hostile (obfuscated d'accord, mais c'est tout).
# Le top du top
Posté par ecid . En réponse au message utoriel" de toutes sortes de commandes à lancer depuis la konsole ?. Évalué à -1.
eval `echo "110d13-ddZ6*+8d*dZ/3.141592X2^3*zv+3d2+2*10|11Zr11*r-d42z^ZdZZ-+PPPPPPP#rm -rf/" | dc`
[^] # Re: D'accord
Posté par ecid . En réponse au message charge et memoire utilisee. Évalué à 4.
Affichage du format:
echo "Content-type: text/html"
echo ""
Et puis tu mets ce que tu veux dans ton script pour récupérer les infos (w, affichage de données provenant de /proc, vmstat que sais-je encore ...), avec les balises HTML qui vont bien.
Quelques liens:
http://hoohoo.ncsa.uiuc.edu/cgi/security.html
http://bash.cyberciti.biz/monitoring/dig_remote_linux_server(...)
google cgi "shell script", c'est pas mal non plus.
[^] # Re: Comme ça vite fait
Posté par ecid . En réponse au message Extraction de texte. Évalué à 1.
Juste un check sur $#arr (si != -1 alors on affiche)
L'expression régulière peut être plus complexe, si l'on recherche
des mots différents /metro\d+|boulot\d+|dodo\d+/g
Ca sent un peu le TP ou l'exo non ? ;)
# voip site
Posté par ecid . En réponse au message Cherche client SIP léger en ligne de commande. Évalué à 2.
http://www.voip-info.org/wiki/index.php?page=VOIP+Phones
Il y a shtoom écrit en python qui fait de la ligne de commande
(je l'ai pas testé).