Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1976 Le 17/05/2011, à 01:15

Кຼزດ

Re : /* Topic des codeurs couche-tard [4] */

¿


dou

Hors ligne

#1977 Le 17/05/2011, à 03:54

Pylades

Re : /* Topic des codeurs couche-tard [4] */

Bon, je pense être arrivé à quelque chose de convenable :

#!/bin/bash
# This script creates folders in which to move files according to their
# ID given in their filename as in, for example, 12345_bob_marley_london.mov
# 12345 would be the ID

find -maxdepth 2 -type f -regex '.*\.\(xml\|jpg\|mov\)' > mess.tmp
regex='\(^\|_\)ID\(_\|$\)'

gen_id() {
    while read file
    do
        base=$(basename "$file")
        if grep -q ${regex/ID/[[:digit:]]\\+} <<< ${base%.*}
        then
            sed 's/\(.*_\)\?\([[:digit:]]\+\)\(_.*\)\?/\2/' <<< ${base%.*}
        fi
    done < mess.tmp
}

echo 'Yay, I will clean YOUR mess...'
echo 'Moving files:'
while read id; do
    test -d $id || mkdir $id
    while read file; do
        base=$(basename "$file")
        <<< ${base%.*} grep -q ${regex/ID/$id} &&
        mv -v "$file" $id 2>/dev/null
    done < mess.tmp
done < <(gen_id | sort -n | uniq)
find -type d -empty -exec rmdir {} \;
rm mess.tmp
echo 'Hurray, everything has been sorted out!'

Mais je rien trouvé d’autre qu’un fichier temporaire en vrac, pour ne pas dupliquer les find


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1978 Le 17/05/2011, à 07:42

Compteur du TdCCT

Re : /* Topic des codeurs couche-tard [4] */

Scores totaux, depuis le début :

1) 3266    nesthib
2) 2996    samuncle
3) 2693    Pylade
4) 2072    Кຼزດ
5) 1690+5  grim7reaper /* ./viewtopic.php?pid=3486252#p3486252 */
6) 1595    cm-t
7) 1215    na kraïou
8) 866    helly
9) 858    \\Ouranos//
10) 659    gnuuat
11) 565    Lagierl
12) 559    tshirtman
13) 378    Rolinh
14) 321    The Uploader
15) 288    nathéo
16) 249    Kanor
17) 196    Askelon
18) 160    :!pakman
19) 121    ǤƦƯƝƬ
20) 93    petifrancais
21) 91    kamui57
22) 78    edge_one
22) 78    pierguiard
24) 70    gulp
25) 42    sakul
26) 39    Le Rouge
27) 37    ilagas
28) 33    xapantu
29) 30    keny
30) 26    gustare
30) 26    d10g3n
32) 25    GentooUser
32) 25    Morgiver
34) 24    ไ୦บเઢ'
34) 24    Steap
36) 20    CROWD
37) 18    Ph3nix_
38) 16    kouskous
39) 15    timsy
40) 12    stratoboy
40) 12    sailing
42) 11    alexises
42) 11    Crocoii
44) 10    Toineo
44) 10    NutMotion
44) 10    pseudovingtcinqcaracteres
44) 10    pfriedZ
44) 10    CasseTaTele
44) 10    Zeibux
44) 10    THS`
51) 8    Mornagest
52) 7    Vista
53) 6    ubuntlin
53) 6    asma.geek
55) 5    tendances-tdct
55) 5    kinouchou
57) 4    danychou56
57) 4    Neros
57) 4    Biaise
57) 4    totoflute
57) 4    pinballyoda ㋛
57) 4    NLS le pingouin
57) 4    ceric
57) 4    Dice-Man
65) 3    Revan26914
65) 3    raspouillas
65) 3    sweetly
68) 2    SoJaS
69) 1    geenux
69) 1    ArzhurBZH

RépartitionPosts/heure


Codez-vous trop tard le soir ?
Demandez au Compteur du TdCCT pour le savoir !

J’ai été généreusement codé par tshirtman ; d’ailleurs, voici mon code source. TdCCT CEP : ./viewtopic.php?pid=3493579#p3493579 (p3492608).

Hors ligne

#1979 Le 17/05/2011, à 07:42

Compteur du TdCCT

Re : /* Topic des codeurs couche-tard [4] */

Scores de la période en cours :

1) 160    Pylade
2) 96    nesthib
3) 85    na kraïou
4) 67    samuncle
5) 59    Кຼزດ
6) 53    cm-t
7) 40    nathéo
8) 24    Rolinh
9) 22    tshirtman
10) 21    The Uploader
11) 18    Kanor
12) 15    :!pakman
12) 15    grim7reaper
14) 10    sakul
14) 10    THS`
16) 8    helly
17) 6    Lagierl
18) 4    \\Ouranos//
19) 1    ArzhurBZH

Codez-vous trop tard le soir ?
Demandez au Compteur du TdCCT pour le savoir !

J’ai été généreusement codé par tshirtman ; d’ailleurs, voici mon code source. TdCCT CEP : ./viewtopic.php?pid=3493579#p3493579 (p3492608).

Hors ligne

#1980 Le 17/05/2011, à 09:01

The Uploader

Re : /* Topic des codeurs couche-tard [4] */

Rolinh a écrit :

@The Uploader: tiens, un truc qui pourrait te plaire (ça devrait être intégré dans Xfce 4.10): xfwm4-tiling

Awesome! yikes
Je me disai justement que ça manquait à Xfce (enfin pas tellement, mais j'avais une forte envie d'essayer à un moment), et que PyTile n'était pas au top.. (enfin surtout j'avais la flemme de l'installer, et ça m'avait l'air peu pratique d'utiliser un script Python qui risquait de casser à la prochaine mise à jour de xfwm4..)

Je test vite fait ce matin avant d'aller faire du RoR, j'en dirai plus sûrement ce soir! smile
edit : je ne sais pas trop comment le faire fonctionner..? Si j'ouvre deux fenêtres sur le même workspace, elles devraient se redimensionner automatiquement, non ?
Je ne vois pas d'option appropriée dans xfwm4 --help-all, et je n'ai pas de man.. (j'essaierai de voir s'il y a une doc dans le patch)

Du coup ma variable interne {Xfce-love} est passée à n+1. tongue
Moi surveiller encore plus la ml et le site pour savoir quand est-ce qu'on pourra enfin donner des sous à la fondation Xfce. ^^

Dernière modification par The Uploader (Le 17/05/2011, à 09:18)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#1981 Le 17/05/2011, à 09:54

Rolinh

Re : /* Topic des codeurs couche-tard [4] */

The Uploader a écrit :

edit : je ne sais pas trop comment le faire fonctionner..? Si j'ouvre deux fenêtres sur le même workspace, elles devraient se redimensionner automatiquement, non ?

En fait, cela fonctionne sur un principe similaire à la fonction aero snap de Windows 7, qui a aussi été adaptée sur KDE4, à savoir:
lorsque tu déplaces une fenêtre sur le bord droit ou gauche, elle se redimensionne automatiquement à la moitié de l'écran. Lorsque tu la déplaces sur le bord du haut ou bas, elle se redimensionne pour prendre la moitié horizontale de l'écran. Bon, c'est juste un gars qui a écrit un patch comme ça et il demande encore pas mal d'améliorations mais c'est déjà un début smile

The Uploader a écrit :

Du coup ma variable interne {Xfce-love} est passée à n+1. tongue
Moi surveiller encore plus la ml et le site pour savoir quand est-ce qu'on pourra enfin donner des sous à la fondation Xfce. ^^

smile

Hors ligne

#1982 Le 17/05/2011, à 10:02

The Uploader

Re : /* Topic des codeurs couche-tard [4] */

ok, j'ai vu entre-temps une superbe vidéo là dessus :
http://www.youtube.com/watch?v=sAc6vc93jxc

J'ai mal essayé le truc alors, je verrai ça ce soir. ^^
M'en vais faire du RoR sous VIM avec screen/work. (sympa le stage cool )

Dernière modification par The Uploader (Le 17/05/2011, à 10:05)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#1983 Le 17/05/2011, à 11:11

Rolinh

Re : /* Topic des codeurs couche-tard [4] */

Hopla, ma dernière version:

#!/bin/bash
# This script creates folders in which to move files according to their
# ID given in their filename as in, for example, 12345_bob_marley_london.mov
# 12345 would be the ID

echo 'Yay, gonna clean ya mess dude...'
echo 'Moving files:'
while read file; do
    CURID=$(egrep -o *'[[:digit:]]+'* <<< $(basename $file))
    if [ -n "$CURID" ]; then
        mkdir -p $CURID
        mv -v *\_$CURID.* $CURID 2> /dev/null
        mv -v $CURID\_* $CURID 2> /dev/null
        mv -v */$CURID\_* $CURID 2> /dev/null
        mv -v */*\_$CURID.* $CURID 2> /dev/null
    fi
done < <(find . -maxdepth 2 -regex ".*\(jpg\|xml\|mov\)$")
find -type d -empty -delete
echo 'Hurray, everythins been sorted out!'

Il n'y a que le mv qui me dérange toujours mais je n'arrive pas à le faire avec une regex qui marche sad

EDIT: c'est fou ce que je me sens stupide d'un coup...

#!/bin/bash
# This script creates folders in which to move files according to their
# ID given in their filename as in, for example, 12345_bob_marley_london.mov
# 12345 would be the ID

echo 'Yay, gonna clean ya mess dude...'
echo 'Moving files:'
while read file; do
    CURID=$(egrep -o *'[[:digit:]]+'* <<< $(basename $file))
    if [ -n "$CURID" ]; then
        mkdir -p $CURID
        mv -v $file $CURID
    fi
done < <(find . -maxdepth 2 -iregex '.*\.\(jpe?g\|xml\|mov\)')
find . -type d -empty -delete
echo 'Hurray, everythins been sorted out!'

/me est enfin content de son script smile

Dernière modification par Rolinh (Le 17/05/2011, à 17:24)

Hors ligne

#1984 Le 17/05/2011, à 14:30

Rolinh

Re : /* Topic des codeurs couche-tard [4] */

Après, je sais pas s'il y a des règles de "user-friendliness" pour un script bash.
Parce que j'ai fini mort de rire mais mon pote un peu moins:
il a double-cliqué sur le script sauf qu'apparemment le comportement par défaut sur Mac c'est de le lancer dans le dossier utilisateur et pas le dossier courant.
Résultat: j'étais plié en deux quand j'ai vu que dans son home il avait tout plein de dossiers du genre 234234, 2555, 899885 avec tout plein de truc dedans lol
Encore heureux que je limitais la profondeur à un niveau... big_smile

Hors ligne

#1985 Le 17/05/2011, à 14:48

Pylades

Re : /* Topic des codeurs couche-tard [4] */

Rolinh a écrit :

[…]
EDIT: c'est fou ce que je me sens stupide d'un coup...

#!/bin/bash
# This script creates folders in which to move files according to their
# ID given in their filename as in, for example, 12345_bob_marley_london.mov
# 12345 would be the ID

echo 'Yay, gonna clean ya mess dude...'
echo 'Moving files:'
while read file; do
    CURID=$(egrep -o *'[[:digit:]]+'* <<< $(basename $file))
    if [ -n "$CURID" ]; then
        mkdir -p $CURID
        mv -v $file $CURID
    fi
done < <(find . -maxdepth 2 -regex ".*\(jpg\|xml\|mov\)$")
find -type d -empty -delete
echo 'Hurray, everythins been sorted out!'

/me est enfin content de son script smile

Ah ouais, c’est vrai, ça marche mieux comme ça… ^^'
Après, personnellement je changerais un peu le find :

find -maxdepth 2 -type f -regex '.+\.\(jpg\|xml\|mov\)'

(Ne jamais mettre de double quotes autour d’une regex ; et avec find le $ est inutile.

Et puis il faudrait des double quotes autour du $file, sinon ça ne fonctionnera pas avec les noms de fichiers avec espaces (à la base c’est pour ça que j’ai essayé de modifier les lignes des mv).


Sinon, ouais, en fait on partait dans des trucs compliqués depuis une plombe alors que c’est tout simple… Je me sens con… hmm


Rolinh a écrit :

Après, je sais pas s'il y a des règles de "user-friendliness" pour un script bash.
Parce que j'ai fini mort de rire mais mon pote un peu moins:
il a double-cliqué sur le script sauf qu'apparemment le comportement par défaut sur Mac c'est de le lancer dans le dossier utilisateur et pas le dossier courant.
Résultat: j'étais plié en deux quand j'ai vu que dans son home il avait tout plein de dossiers du genre 234234, 2555, 899885 avec tout plein de truc dedans lol
Encore heureux que je limitais la profondeur à un niveau... big_smile

Ben moi je me serais méfié de ce genre de trucs, avant de cliquer, même sur Gnu/Linux… ^^

Dernière modification par Pylade (Le 17/05/2011, à 14:49)


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1986 Le 17/05/2011, à 14:53

Rolinh

Re : /* Topic des codeurs couche-tard [4] */

ouais mais le -type f ne sert à rien (enfin, à moins que l'on se retrouve avec des dossiers en *.xml...).

Merci pour le coup des double quotes et regex, j'aurais appris une chose de plus smile

T'inquiète, je me sens stupide aussi wink

Hors ligne

#1987 Le 17/05/2011, à 15:04

Pylades

Re : /* Topic des codeurs couche-tard [4] */

Bah oui mais on ne sait jamais : il faut faire un truc sûr ! tongue


Sinon, je n’arrive pas à comprendre ton egrep, mais ça l’air de marcher (au passage, l’appel de egrep est déprécié)…


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1988 Le 17/05/2011, à 15:05

tshirtman

Re : /* Topic des codeurs couche-tard [4] */

Si tu veux avoir une variable shell résolue dans ta regex, il faut mettre des " " au lieu des ' ' comme n'importe ou en bash, donc dire "jamais" me parait excessif, le mieux c'est de savoir ce qu'on veux.

Hors ligne

#1989 Le 17/05/2011, à 15:10

Pylades

Re : /* Topic des codeurs couche-tard [4] */

Dans ce cas là : ${regex/var/$myvar} ou 'regex1'$myvar'regex2'.
Mais jamais je ne prendrai le risque (et la laideur) de mettre des double quotes.


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1990 Le 17/05/2011, à 15:11

Rolinh

Re : /* Topic des codeurs couche-tard [4] */

Je ne savais pas que egrep est déprécié.

Oh, dans ta version de 4h ce matin il y a plusieurs choses que je ne comprend pas (du mal à suivre ta logique je pense) mais ça a tout de même l'air de marcher tongue

Pour le egrep en fait c'est tout bête: je cherche une chaine de digit. Les * sont là afin de ne pas récupérer deux chaines de digit dans le même nom de fichier (exemple: 12344_franck_zappa_track01.mov). Sans les jockers, j'aurais 12344 et 01. Le -o est là afin de récupérer uniquement le pattern que je match.

Hors ligne

#1991 Le 17/05/2011, à 15:15

tshirtman

Re : /* Topic des codeurs couche-tard [4] */

peut tu me dire pourquoi les doubles quotes seraient mal, au fait?

la différence entre les simples et doubles quotes étant à ma connaissance la résolution des noms de variables...

Hors ligne

#1992 Le 17/05/2011, à 15:18

Rolinh

Re : /* Topic des codeurs couche-tard [4] */

tshirtman a écrit :

savoir ce qu'on veux

tshirtman a écrit :

peut tu

Courage, tu y es presque! Il suffit de swapper tongue

Sinon, je veux bien aussi des explications à propos des simpl/double quotes smile

Hors ligne

#1993 Le 17/05/2011, à 15:28

tshirtman

Hors ligne

#1994 Le 17/05/2011, à 15:39

Кຼزດ

Re : /* Topic des codeurs couche-tard [4] */

Saleté de gettext qui prend pas de l’unicode par défaut


dou

Hors ligne

#1995 Le 17/05/2011, à 15:43

tshirtman

Re : /* Topic des codeurs couche-tard [4] */

http://bellard.org/jslinux/

what the fuck...

un émulateur de PC, suffisant pour démarrer un petit linux, codé en javascript...

Hors ligne

#1996 Le 17/05/2011, à 16:35

Pylades

Re : /* Topic des codeurs couche-tard [4] */

Déjà posté sur l’FMR. Et on peut même lui faire faire un kernel panic ! \o/


Pour le reste, je répondrai plus tard.


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1997 Le 17/05/2011, à 16:54

tshirtman

Re : /* Topic des codeurs couche-tard [4] */

c'est con que wget marche pas, j'aurais bien essayé de compiler des logiciels plus conséquents (sl!)

Hors ligne

#1998 Le 17/05/2011, à 17:09

Pylades

Re : /* Topic des codeurs couche-tard [4] */

Hum, sans compilateur ça va être dur… ^^


Et puis les seuls éditeurs disponibles sont ed et vi, c’est un peu limité… ^^


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1999 Le 17/05/2011, à 17:14

tshirtman

Re : /* Topic des codeurs couche-tard [4] */

ah, on parle peut être pas du même, il y a tcc et emacs sur celui là... (et pas vi...)

Hors ligne

#2000 Le 17/05/2011, à 17:30

Pylades

Re : /* Topic des codeurs couche-tard [4] */

Heu, si, c’est le même… et j’ai vi (et même Emacs, d’ailleurs, je ne l’avais pas vu tout à l’heure… enfin ça reste inutilisable, surtout que là c’est excessivement lent).

Et ouais, il y bien tcc. Comme je n’ai vu ni gcc, ni cc ; j’ai conclu qu’il n’y avait pas de compilateur à tort.
Mais bon, il est un peu bizarre : pas de stdio.h, mais si on retire l’include, ça compile correctement… hmm


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne