<radin>Tu peux aussi essayer avec une clef USB...</radin>
Lenny n'étant pas encore stable, tu peux aussi attendre un peu pour voir si l'installeur change, en essayer un autre, etc.
Tu peux aussi essayer un Etch ou Sid minimal sur une petite partition (un ou deux G), puis utiliser debootstrap pour ajouter Lenny sur une ou plusieurs autres.
Vers la fin du livre de Jeffrey Friedl sur les expressions régulières, on peut contempler « la mère de toutes les regexps », reconnaissant une adresse en 6598 octets --- j'ai un peu la flemme de la recopier, elle n'est peut-être pas à jour.
Bien, est-ce que ça marche aussi avec des mails en Bcc, ou avec plusieurs destinataires ? (le sujet revient assez souvent sur la liste Getmail).
Si la configuration est assez standardisée, on peut générer le fichier getmailrc à partir d'une liste d'utilisateurs et un simple script shell ; si la famille s'agrandit vraiment vite, tu pourrais peut-être allonger la liste par un simple mail.
Concernant le webmail, je ne sais pas. C'est sans doute plus fiable si chaque membre de la famille peut disposer de son maildir/ personnel...
Si le compte commun est un vrai compte multi-utilisateur, Getmail (au lieu de fetchmail) sait gérer ce cas tout seul : il faut qu'il existe un en-tête fiable permettant de ventiler les mails vers toto, tata, nana, ... à partir de la boîte commune. Chercher "multidrop" dans la documentation. http://pyropus.ca/software/getmail/
Par ailleurs, avant de se lancer dans l'apprentissage de Procmail, on peut regarder Maildrop, de syntaxe plus agréable (par exemple pour le OU de deux conditions...
Ce qui est nécessaire, c'est de commencer l'écriture au début du fichier de sortie --- les détails du sort des anciennes données dépendant du support et du système de fichiers.
Dans le cas d'une ligne de commande cmd option fichier1 >fichier2 ,
le shell ne sait pas que fichier1 est un nom de fichier ;
la commande cmd ne sait pas que sa sortie standard sera détournée vers fichier2...
Seul le noyau est en mesure de voir que les deux noms (distincts ou pas) pointent sur le même inode. Par ailleurs, sur une machine chargée, les opérations d'entrée-sortie peuvent être plus ou moins différées...
On pourrait rajouter des contrôles idiot-proof, mais comme dit le proverbe, c'est alors une course avec la nature qui produit de meilleurs idiots ;)
Pour répondre aussi à Kerro, Sed = stream editor : c'est un éditeur de flux, au code très comapct, qui s'occupe surtout de traiter son flux de données. L'option -i est juste un cadeau aux fainéants pour ne pas avoir à gérer le fichier temporaire (et, accessoirement, leur évite de se tirer une balle dans le pied avec <fic >fic ).
On trouvera des discussions plus approfondies sur les redirections du shell sur news:fr.comp.os.unix, ou dans l'Advanced Bash-scripting Guide (traduit en français).
Il me semble bien l'avoir vu marcher de temps en temps...
Dans ta description, tu ne précises pas que dans cmd fichier , c'est cmd qui s'occupe d'ouvrir son fichier argument --- mais ne sait pas où va finalement sa sortie; une variante est cmd <fichier , où c'est le shell qui met aussi en place l'entrée.
Il se pourrait que la lecture du ou des premiers blocs se fasse parfois avant l'ouverture effective en écriture, suivant comment le noyau ordonnance ses opérations.
Avec le rm $1, un seul nom est utilisé, mais la sortie doit se faire vers un autre inode, celui de la lecture continuant à pointer sur l'ancien, qui n'est pas réalloué tant que l'opération de lecture n'est pas terminée, même si le nom est déjà effacé... Cette méthode ne fonctionnera pas « bien » quand il y a plusieurs liens durs vers le même inode.
Grep est surtout un outil de lecture sélective ; les seules options permettant de modifier un peu la sortie sont -o et --color.
Sed, lui, est un éditeur ;) --- pour GNU Sed, info sed est plus complet que la page de manuel. Voir aussi http://sed.sf.net/ ...
Les deux commandes ci-dessus ne sont pas strictement équivalentes, grep -v 'regexp' supprimant les lignes quand sed -e 's/regexp//' se contente de supprimer le motif reconnu, et donc donne au moins une ligne vide. L'équivalent serait plutôt sed -e '/regexp/d' (aux nuances d'écriture de la regexp près).
L'ouverture en lecture et écriture du même fichier est à proscrire totalement.
Attention, procmail ne connaît pas l'expansion du tilde, donc il faut plutôt utiliser $HOME ! Pour références, man procmail , man procmailrc , man procmailex.
N.B. pour réduire l'arrachage des cheveux, on peut préférer maildrop à procmail...
Oui --- les lettres en rab sont juste une précaution générale ; dans ce cas précis, si tu es sûr d'avoir tes huit chiffres de date entre deux /, c'est encore mieux de remplacer les deux balises « non-chiffre » [^0-9]. Comme c'est aussi le délimiteur habituel de la substitution de Sed, il suffit d'utiliser un autre caractère (sinon, il faut taper \/ comme tu l'as fait, c'est déjà assez illisible comme ça :).
La commande
sed -e 's,^.*/\(20[0-9][0-9][01][0-9][0-3][0-9]\)/.*$,\1,'
devrait marcher ; j'ai laissé les ancres ^ et $ pour la lisibilité, mais elles sont superflues, et l'option g n'est pas utile, il n'y a qu'une substitution possible.
J'ai aussi remplacé le deuxième zéro, sinon ça ne marcherait plus dès 2010.
J'ajoute deux lettres (des non-chiffres) autour de la chaîne à tester ;
et je construit la regexp
le début, terminé par un non-chiffre : ^.*[^0-9]
entre parenthèses \(...\), la sous-regexp de date du XXIème siècle (avec une vingtaine de mois qui peuvent avoir quarante jours, mais bon...)
un non-chiffre, et la suite jusqu'à la fin.
Sans les lettres d'encadrement, il faudrait remplacer le début de la regexp par
^\(.*[^0-9]\)\? pour le rendre facultatif, et changer le numéro du bloc conservé, qui passerait en \2 --- de même pour la fin, qui pourrait aussi être vide.
Remarque : comme le premier .* est « avide », la date extraite est la dernière de la chaîne. Si ça ne convient pas, les regexps de Perl sont plus souples.
...mais :
~ $ apt-cache search poster
[...]
poster - Create large posters out of PostScript pages
shanty - makes a whopping great postscript file from an image and some text
[...]
[^] # Re: SED hatif
Posté par Jacques L'helgoualc'h (site web personnel) . En réponse au message modification de ficier ligne commancant par lov et supprimer carartère. Évalué à 2.
mais ça ne répond pas exactement au problème, et crée une sauvegarde inpute. Plutôt :
sed -i -e /^LOV/s/\"//3g input
(ou -i.old pour l'extension de sauvegarde).
[^] # Re: Recettes
Posté par Jacques L'helgoualc'h (site web personnel) . En réponse au message Problème d'installation lenny en netInstall. Évalué à 2.
Lenny n'étant pas encore stable, tu peux aussi attendre un peu pour voir si l'installeur change, en essayer un autre, etc.
Tu peux aussi essayer un Etch ou Sid minimal sur une petite partition (un ou deux G), puis utiliser debootstrap pour ajouter Lenny sur une ou plusieurs autres.
[^] # Re: regexp
Posté par Jacques L'helgoualc'h (site web personnel) . En réponse au message validation d'email. Évalué à 1.
[^] # Re: Sed est mon ami
Posté par Jacques L'helgoualc'h (site web personnel) . En réponse au message Substitution avec vi. Évalué à 2.
sed -i.bak -e 's/la/LA/g' fic*.txt
et -i tout court ne fait pas de sauvegarde.
[^] # Re: Avec awk
Posté par Jacques L'helgoualc'h (site web personnel) . En réponse au message Recherche script sed tout simple. Évalué à 2.
Ici, un Sed non-Gnu peut le faire aussi sans calcul apparent :
sed -e 's/^/--> /;N;N'
mais ça se complique quand le reste n'est pas 1...
# avec GNU Sed,
Posté par Jacques L'helgoualc'h (site web personnel) . En réponse au message Recherche script sed tout simple. Évalué à 10.
sed -e '1~3s/^/--> /'
devrait faire ce que tu demandes.
N.B. info sed est plus complet que la page de manuel, et pour les trucs dingues, voir http://sed.sf.net/.
[^] # Re: tu peux facilement faire une planche contact avec montage...
Posté par Jacques L'helgoualc'h (site web personnel) . En réponse au message Logiciel pour réaliser des planches de photos. Évalué à 3.
[^] # Re: Euh ...
Posté par Jacques L'helgoualc'h (site web personnel) . En réponse au message probleme recuperation de messages avec fetchmail. Évalué à 1.
Si la configuration est assez standardisée, on peut générer le fichier getmailrc à partir d'une liste d'utilisateurs et un simple script shell ; si la famille s'agrandit vraiment vite, tu pourrais peut-être allonger la liste par un simple mail.
Concernant le webmail, je ne sais pas. C'est sans doute plus fiable si chaque membre de la famille peut disposer de son maildir/ personnel...
[^] # Re: Euh ...
Posté par Jacques L'helgoualc'h (site web personnel) . En réponse au message probleme recuperation de messages avec fetchmail. Évalué à 1.
http://pyropus.ca/software/getmail/
http://pyropus.ca/software/getmail/faq.html#faq-configuring-(...)
Par ailleurs, avant de se lancer dans l'apprentissage de Procmail, on peut regarder Maildrop, de syntaxe plus agréable (par exemple pour le OU de deux conditions...
[^] # Re: j'ai pas tout compris mais
Posté par Jacques L'helgoualc'h (site web personnel) . En réponse au message utilise une variable procmail dans shell. Évalué à 3.
Dans le shell-script,
eval "$(grep -m1 '^MAILCOPY=' ~/.procmailrc)"
devrait convenir ? ... Il peut y avoir des complications si la définition de MAILCOPY utilise d'autres variables Procmail inconnues du shell.
[^] # Re: sed -i
Posté par Jacques L'helgoualc'h (site web personnel) . En réponse au message Tubes : sed vs. grep. Évalué à 1.
Pour répondre aussi à Kerro, Sed = stream editor : c'est un éditeur de flux, au code très comapct, qui s'occupe surtout de traiter son flux de données. L'option -i est juste un cadeau aux fainéants pour ne pas avoir à gérer le fichier temporaire (et, accessoirement, leur évite de se tirer une balle dans le pied avec <fic >fic ). On trouvera des discussions plus approfondies sur les redirections du shell sur news:fr.comp.os.unix, ou dans l'Advanced Bash-scripting Guide (traduit en français).
[^] # Re: sed -i
Posté par Jacques L'helgoualc'h (site web personnel) . En réponse au message Tubes : sed vs. grep. Évalué à 1.
Dans ta description, tu ne précises pas que dans cmd fichier , c'est cmd qui s'occupe d'ouvrir son fichier argument --- mais ne sait pas où va finalement sa sortie; une variante est cmd <fichier , où c'est le shell qui met aussi en place l'entrée.
Il se pourrait que la lecture du ou des premiers blocs se fasse parfois avant l'ouverture effective en écriture, suivant comment le noyau ordonnance ses opérations.
Avec le rm $1, un seul nom est utilisé, mais la sortie doit se faire vers un autre inode, celui de la lecture continuant à pointer sur l'ancien, qui n'est pas réalloué tant que l'opération de lecture n'est pas terminée, même si le nom est déjà effacé... Cette méthode ne fonctionnera pas « bien » quand il y a plusieurs liens durs vers le même inode.
[^] # Re: sed -i
Posté par Jacques L'helgoualc'h (site web personnel) . En réponse au message Tubes : sed vs. grep. Évalué à 3.
Sed, lui, est un éditeur ;) --- pour GNU Sed, info sed est plus complet que la page de manuel. Voir aussi http://sed.sf.net/ ...
Les deux commandes ci-dessus ne sont pas strictement équivalentes, grep -v 'regexp' supprimant les lignes quand sed -e 's/regexp//' se contente de supprimer le motif reconnu, et donc donne au moins une ligne vide. L'équivalent serait plutôt sed -e '/regexp/d' (aux nuances d'écriture de la regexp près).
L'ouverture en lecture et écriture du même fichier est à proscrire totalement.
[^] # Re: Variables Procmail
Posté par Jacques L'helgoualc'h (site web personnel) . En réponse au message procmail avec shell. Évalué à 2.
N.B. pour réduire l'arrachage des cheveux, on peut préférer maildrop à procmail...
# http://www.imagemagick.org/Usage/thumbnails/
Posté par Jacques L'helgoualc'h (site web personnel) . En réponse au message redimensionnement Imagemagick et forme ronde. Évalué à 4.
# abcde
Posté par Jacques L'helgoualc'h (site web personnel) . En réponse au message Script pour encoder des cd audio en ogg. Évalué à 4.
# man gawk, /gensub
Posté par Jacques L'helgoualc'h (site web personnel) . En réponse au message Filtrage avec awk. Évalué à 4.
$ echo a b c 01/05/2008 e f |gawk '{$4=gensub("([0-9]+)/([0-9]+)/([0-9]+)","\\3-\\2-\\1",1,$4);print$4}'
2008-05-01
ou voir la fonction split().
[^] # Re: Trouvé, heu, non...
Posté par Jacques L'helgoualc'h (site web personnel) . En réponse au message script sed qui ne fonctionne pas. Évalué à 1.
[^] # Re: sed, ou stat
Posté par Jacques L'helgoualc'h (site web personnel) . En réponse au message diverses questions : permissions, bash/exec, suid et sed. Évalué à 2.
ls -ld /usr/ | sed -n -e 's/^\([a-z-]*\).*/\1/p'
serait mieux -- l'option g est inutile, il ne peut y avoir plusieurs remplacements avec l'ancre ^.
Une solution plus simple est
stat -c'%A' /tmp/
(man stat pour les formats disponibles).
[^] # Re: Regexps ...
Posté par Jacques L'helgoualc'h (site web personnel) . En réponse au message Extraire un bout de chaîne. Évalué à 1.
La commande
devrait marcher ; j'ai laissé les ancres ^ et $ pour la lisibilité, mais elles sont superflues, et l'option g n'est pas utile, il n'y a qu'une substitution possible.
J'ai aussi remplacé le deuxième zéro, sinon ça ne marcherait plus dès 2010.
[^] # Re: Regexps ...
Posté par Jacques L'helgoualc'h (site web personnel) . En réponse au message Extraire un bout de chaîne. Évalué à 2.
[^] # Re: Regexps ...
Posté par Jacques L'helgoualc'h (site web personnel) . En réponse au message Extraire un bout de chaîne. Évalué à 2.
# grep --help
Posté par Jacques L'helgoualc'h (site web personnel) . En réponse au message Recherche de motifs via un fichier. Évalué à 1.
grep -f file1 file2
devrait convenir.[^] # Re: non, pas mpage...
Posté par Jacques L'helgoualc'h (site web personnel) . En réponse au message imprimer une page sur plusieurs feuilles (pour agrandir). Évalué à 3.
~ $ apt-cache search poster
[...]poster - Create large posters out of PostScript pages
shanty - makes a whopping great postscript file from an image and some text
[...][^] # Re: non, pas mpage...
Posté par Jacques L'helgoualc'h (site web personnel) . En réponse au message imprimer une page sur plusieurs feuilles (pour agrandir). Évalué à 1.