Cette partie contient des sujets épinglés depuis le forum, c'est à dire des sujets jugés interessants et qui méritent d'être partagés. Cependant, cette partie est en lecture seule. Si vous désirez poster des messages ou acceder aux discussions non épinglées, vous devez vous identifier sur le forum.
Skippy Super Administrateur | Renommer des fichiers comportant des majuscules en minuscules : for source in *; do dest=`echo "$source" | tr [:upper:] [:lower:]`; mv -i "$source" "$dest"; done |
Skippy Super Administrateur | Extraire une partie d'un fichier ou d'une commande entre deux lignes matchant un pattern : perl -ne '$match=0 if /Pattern de fin/; print if $match; $match=1 if /Pattern de début/;' |
Skippy Super Administrateur | Envoyer un mail avec un fichier texte en pièce jointe depuis le shell: mail_boundary=$RANDOM$RANDOM$RANDOM$RANDOM (...) cat << EOF > $mail_file From: toto@domain.com Subject: Subject of the mail MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="$mail_boundary" EOF (...) # Ajouter le texte cat << EOF >> $mail_file --$mail_boundary Content-Type: text/plain; charset=US-ASCII Voici la pièce jointe promise EOF (...) # Ajouter la pièce jointe cat << EOF >> $mail_file --$mail_boundary Content-Type: text/plain; charset=US-ASCII Content-Disposition: attachment; filename="$file" EOF cat $file >> $mail_file (...) # Signaler la fin du mail cat << EOF >> $mail_file --$mail_boundary-- EOF À noter : - les champs et les séparateurs doivent être terminé par un retour à la ligne - la chaine $mail_boundary est une chaîne quelconque déclarée dans l'attribut boundary du champs Content-Type du mail et permettant de séparer les différentes parties du mail - les séparateurs sont précédés de 2 tirets - le dernier séparateur du mail est aussi terminé par 2 tirets - chaque partie du mail contient un header décrivant le contenu suivi d'une ligne vide - une pièce jointe est spécifiée par Content-Disposition: attachment; - un fichier binaire peut être inséré en utilisant application/octect-stream au lieu de text/plain, en précisant Content-Transfer-Encoding: base64 et en encodant le contenu en base64 |
Skippy Super Administrateur | Pour redimensionner, en conservant l'échelle, une image avec Image Magick: convert -scale 640x480 source.png destination.png Pour faire de même mais avec de l'anti-aliasing: convert -resize 640x480 source.png destination.png Si l'on veut conserver l'image initiale mais dans une image plus grande (ici centrée et sur fond blanc): convert -extent 640x480 -gravity center -background white source.png destination.png Enfin, si l'on veut redimensionner l'image en conservant l'échelle mais obtenir une image dont le ration n'est pas le même: convert -scale 640x480 -extent 640x480 -gravity center -background white source.png destination.png Si l'image source.png est carrée, elle sera zoomée (ou dézoomée) pour atteindre 480x480 puis placée au centre d'un fond blanc d'une taille de 640x480. |