Re: [ssfr] Re: [SSFR] Partage de fonctions ...

[ Thread Index | Date Index | More debianworld.org/shellscript-fr Archives ]


* Marc Chantreux <marc.chantreux@xxxxxxxxxxxxxxxxxx> [2008-04-08 14:14:32 +0200] wrote :

> salut Edi,

plop ;)

> > newf() {
> 
> Je vois ce que ca fait mais pas a quoi ca sert

M'en sert comme pense bete / post-it ... je suis toujours en train de reflechir a
de nouvelles idees ... 

> > lowercase() {
> 
> pourquoi tu fais une fonction pour ca ? pourquoi ne pas utiliser (L)
> quand tu en a besoin?

Ouais en effet ... zsh a pas mal d'options interessantes mais je n'ai
pas eu le temps de toutes les regarder ;)

> > space2underline()
> > {
> >         for a in ./**/*\ *(Dod); do mv $a ${a:h}/${a:t:gs/ /_}; done
> > }
> 
> tu connais la syntaxe alternative ?
> space2underline() {
> 	for f (**/*\ *(Dod)) mv $a ${a:h}/${a:t:gs/ /_}
> }

Interessant ;)

> J'aurais tendance a chercher une solution avec zmv mais je ne sais pas
> comment il gere le (Dod).
> 
> > function kernel()
> > {
> > printf 'GET /kdist/finger_banner HTTP1.0\n\n' | nc www.kernel.org 80 |
> > grep latest
> > }
> 
> sympa, l'idée d'utiliser nc comme un client http light! du coup, j'ai
> regardé du coté du module tcp de zsh et viens de pondre ca:
> 
> http_req () {
>     # usage:
>     # HTTP_VERSION=1.1 http_req get /
>     # http_req head /index.html
> 
>     local eol req
>     eol="\n"
>     # real http eol (os independant) eol="\x0d\x0a" only server side ?
> 
>     # http request must be uppercase
>     req=${(U)1}
>     shift
>     # always send HTTP version (1.0 by default)
>     print -n -- "$req $* HTTP/${HTTP_VERSION:-1.0}$eol$eol" 
> 
> }
> 
> http_simple () {
> 
>     # usage:
>     # http_simple hostname[:port] http_req_params
>     # default port value is 80
>     
>     local host port fd
> 
>     # parse the first arg
>     IFS=: read host port <<< $1
>     shift
> 
>     # try to silently load net/tcp
>     zmodload zsh/net/tcp 2>/dev/null
> 
>     # open connection
>     ztcp $host ${port:-80}
>     fd=$REPLY 
> 
>     # send http request to connection
>     http_req "$@" >&$fd
> 
>     # read the result
>     cat <&$fd
> }
> 
> available_kernel_versions () {
>     http_simple www.kernel.org:80 get /kdist/finger_banner |
> 	sed -n '
> 	    s/^The latest //
> 	    T
> 	    s/\(.*\)is:\s\+\(.*\)/\2 \1/
> 	    p
> 	'
> }

sympa mais ma ligne est plus courte :P


-- 
.. ''`.  (\___/) E d i   S T O J I C E V I C
: :'  : (='.'=) http://www.debianworld.org 
`. `~'  (")_(") GPG: 0x1237B032
  `-

---


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/