-=(the3fold)=-

New Generation

Forum public

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
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
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
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
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.