tips

Tips SQL

  • Article Currently 2.43/5
  • 1
  • 2
  • 3
  • 4
  • 5

 Rating : 2.4/5 (35 votes cast)

#doublons mysql

SELECT id FROM table GROUP BY id HAVING COUNT(*) >1

#insert if no exists, update if exists

Attention : nécessite de créer un index sur le champ DUPLiCATE à tester

ALTER TABLE table ADD UNIQUE nom_index ('champ')
INSERT INTO table VALUES('','truc','machin','bidule') ON DUPLICATE KEY UPDATE truc='truc',machin='machin',bidule='bidule'

ou encore :

IF EXISTS (SELECT truc,machin FROM table WHERE colonne='valeur') UPDATE table SET (...) WHERE colonne='valeur' ELSE INSERT INTO table VALUES (...)
INSERT INTO table (cle,vote) VALUES (1337,10) ON DUPLICATE KEY UPDATE vote=vote+10;
UPDATE table SET (...) WHERE colonne='valeur' IF @@ ROWCOUNT=0 INSERT INTO table VALUES (...)

Tips Bash

  • Article Currently 2.24/5
  • 1
  • 2
  • 3
  • 4
  • 5

 Rating : 2.2/5 (25 votes cast)

#droits

Droitsrwx
Propriétaire400200100
Groupe402010
Autres421

#find jpg mv

find . -name "*.jpg" -exec mv{}. \;

#Search &Replace dans des fichiers en ligne de commande (-name facultatif)

find . -name *.php -exec sed -i s@require_once@//require_once@g{}\;

#applying a patch

Place the .diff file in the same directory as the source tarball. Ungzip/untar the source, and run

patch -p0 <some-patch-file.diff

The -p0 indicates the paths in the file are relative to the current directory, if you place the .diff file in the some-soft-source dir you need -p1.

#purge des fichiers de conf orphelins

# aptitude purge $(dpkg --get-selections | grep deinstall | awk '{print $1}')

#liste les fichiers avec un md5 différent

find . -maxdepth 1 -type f -print0 | xargs -0 md5sum | sort | uniq -w 32 | awk '{print $2}' >./distinct.txt

#pdf to jpg

chaque page en image

convert fichier.pdf image%d.jpg

#grep

dpkg -l | grep '(15|16)' | grep linux

#egrep multiple

cat fichier.txt | egrep -i '(motif1|motif2)'

#optimiser sqlite firefox

find ~/.mozilla/firefox/ -type f -name "*.sqlite" -exec sqlite3{}VACUUM \;

#cp dir1 >dir2

cp -ruv /dir1/ /dir2/

les options permettent d'afficher les fichiers copiés, de copier l'intégralité des repertoires, de mettre à jour les fichiers deja copiés.

#list dir

find . -type d

#cpu load en %

top -b -n 1 | grep Cpu | awk '{print $2}' | cut -c1-4

#capture tty

fbgrab capture.png

#ajouter un mot au début de chaque ligne

for i in `cat fichier.txt` ;do mot_a_ajouter $i ;done

#cat sans doublon

cat fichier1.txt fichier2.txt| sort -n | uniq -u

#extraire que les trucs "lisibles" avec strings

strings fichier.doc | less

et

strings -e b fichier.doc | less

#iso to utf

iconv -f ISO-8859-1 -t UTF-8 -o output.txt input.txt
iconv -f UTF-8 -t ISO-8859-1 -o output.txt input.txt
recode ISO-8859-15..UTF-8 input.txt

#somme avec awk

Par exemple, pour connaître la place utilisée en mémoire par le processus apache2 :

ps -ely | grep '\<apache2\>' | awk '{SUM += $8}END{print SUM}'

ou pour connaître la place en Ko prise par tous les fichiers PNG du répertoire :

ls -l *.png | awk '{SUM += $5}END{print SUM/1024}'

#affiche le dernier fichier .txt

ls -t1 *.txt | head -1

#affiche tous les fichiers .txt sauf fichier.txt

ls *.txt | grep -v fichier.txt | xargs ls

#affiche tous les fichiers .txt sauf le dernier fichier .txt

ls *.txt | grep -v `ls -t1 *.txt | head -1`

#syntaxe sed pour afficher le texte compris entre "motif1" et "motif2" :

sed -n '/motif1/,/motif2/p' /chemin/vers/fichier

#Raccourcis clavier pour Bash

Certaines de ces commandes fonctionnent également sous des éditeurs de fichiers en ligne de commandes. On pourra prendre l'exemple de Emacs et les commandes de déplacement ou de copier / coller.

1. Déplacement

Ctrl + a : aller au début de la ligne

Ctrl + e : aller à la fin de la ligne

Alt + b : se déplacer mot par mot dans la ligne de commande en arrière (b pour backward)

Alt + f : se déplacer mot par mot dans la ligne de commande en avant (f pour forward)

ctrl + xx : positionner le curseur au début du mot ou à la fin

2. Couper / Coller

Ctrl + k : couper la chaîne du curseur jusqu'à la fin de la ligne

Ctrl + u : couper la chaîne du curseur jusqu'au début de la ligne

Ctrl + w : couper le mot avant le curseur

Ctrl + y : coller une chaîne

3. Modification

Ctrl + t : inverser la position des deux caractères avant le curseur (pratique quand on tape par exemple, sl au lieu de ls)

Alt + t : inverser la position des deux mots avant le curseur

Alt + c : mettre une lettre en majuscule

Alt + l : mettre un mot en en minuscule (l pour lowercase)

Alt + u : mettre un mot en majuscule (u pour uppercase)

Alt + . : réécrire le paramètre de la dernière commande

4. Divers

Ctrl + l : effacer le contenu de l'écran

Ctrl + r : rechercher une commande déjà tapée

Ctrl + _ : annuler la dernière modification

Ctrl + c : arrêter la commande en court

Ctrl + d : quitter le shell en court

Tips audio video

  • Article Currently 2.60/5
  • 1
  • 2
  • 3
  • 4
  • 5

 Rating : 2.6/5 (25 votes cast)

#imagemagick create blank image

convert -size 10x10 xc:"#ffffff" blank.jpg

#Pour obtenir des informations sur une image

identify -ping image.png

#Et si on veut en savoir encore plus

identify -verbose image.png

#Connaître la liste de toutes les couleurs utilisées dans une image

identify -list color image.png

#Convertir une image PNG en JPEG

convert image.png image.jpg

#Convertir une image PNG en JPEG en indiquant le taux de compression

convert -quality 96 image.png image.jpg

#Convertir dans un même dossier toutes les images PNG en JPEG

mogrify -format png *.jpg

#Convertir toutes les images (jpg, png...) en PDF

convert images*.* fichier.pdf

#Redimensionner la taille d'une image

convert -resize 48x48 image.png image-mini.png

#Redimensionner la taille de toutes les images d'un dossier

mogrify -resize 48x48 *.png

#Redimensionner une image en indiquant seulement la largeur

convert -resize 620x image.png image-620.png

#Redimensionner une image en indiquant seulement la hauteur

convert -resize x100 image.png image-100.png

#Créer un favicon

convert -colors 256 -resize 16x16 image.jpg favicon.ico

#Convertir une image couleur en noir et blanc

convert -type image.jpg image-noir-blanc.jpg

#Ajouter une bordure transparente de 1 pixel autour d'une image

convert -bordercolor Transparent -border 1x1 image.png image-bordure.png

#Ajouter une bordure noire de 10 pixels autour d'une image

convert -bordercolor #000 -border 10x10 image.png image-bordure.png

#Réaliser un négatif d'une image

convert -negate image.png image-negate.png

#Retourner une image de bas en haut

convert -flip image.png image-inversee.png

#Retourner une image de gauche à droite

convert -flop image.png image-inversee.png

#Utiliser l'interface graphique d'ImageMagick

display image.png

#jp2a

jp2a image.jpg --width=64 --colors --chars=oO.: --html --fill --background=light >jp2a.html

#combiner pdf

ghostscript -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sPAPERSIZE=a4 -sOutputFile=output.pdf file1.pdf file2.pdf ...

#image2mpeg : jpg >mpg

image2mpeg --mode SVCD --norm pal --time-per-image 5 --time-per-transition 1 --transition FADE --aspect-correction AUTO --output output.mpg *.jpg

#renomer avec données exif

jhead -n%Y%m%d-%H%M%S *.jpg

#mencoder encoder avi 2 passes xvid4 et mp3

mencoder input.mpg -oac mp3lame -lameopts cbr=128 -ovc xvid -xvidencopts bitrate=900:pass=1 -o "/dev/null" &&mencoder input.mpg -oac mp3lame -lameopts cbr=128 -ovc xvid -xvidencopts bitrate=900:pass=2 -o output.avi

#crappy sound

mencoder -oac mp3lame -srate 44100 -lameopts vol=0:mode=0:cbr:br=128 -af karaoke -ovc copy input.avi -o output.avi

#mencoder : pour créer du mjpeg :

mencoder mf *.jpg -mf fps=25:type=jpeg -ovc copy -oac copy -o output.avi

#Découper un fichier video grâce à mencoder

mencoder input.avi -oac copy -ovc copy -ss 00:11:00 -endpos 00:02:13 -o output.avi

#Avec avisplit (# aptitude install transcode)

avisplit découpe en plusieurs morceaux et numérote automatiquement en film0001, film0002 ...

avisplit -i input.avi -o output.avi -t 00:00:00-00:24:00,00:24:00-00:48:00

#split mp3

mp3splt input.mp3 00.00 00.45 -n -d ~/output-directory -o output.mp3

#split avi 700 Mo (# aptitude install transcode)

avisplit -i input.avi -s 700 -o output.avi

#join video avi mencoder

mencoder -forceidx -ovc copy -oac copy -o file.avi p1.avi p2.avi ...

#join video avi avimerge (# aptitude install transcode)

avimerge -i 1.avi 2.avi -o output.avi

#join mpg/mp3 mpgtx

mpgtx -j file01.mpg file02.mpg -o output.mpg

#mencoder mpg to avi

mencoder input.mpg -oac mp3lame -srate 44100 -lameopts vol=0:mode=0:cbr:br=128 -ovc lavc -lavcopts vcodec=mpeg4 -o output.avi

#with ffmpeg (big file)

ffmpeg -acodec copy -vcodec mpeg4 -sameq -i input.mpg output.avi

#mencoder flv to avi

mencoder input.flv -ofps 30 -vf scale=300:-2 -oac lavc -ovc lavc -o output.avi

ou (si bitrate 224 is not allowed in mp2)

mencoder input.flv -oac lavc -ovc lavc -lavcopts abitrate=160 -o output.avi

#mencoder mkv to avi

mencoder -oac mp3lame -lameopts cbr=128 -ovc xvid -xvidencopts bitrate=900 -aid 0 input.mkv -o output.avi aid 0 = piste audio

#mencoder wmv to avi

mencoder -oac copy -ovc lavc -ofps 23.976 input.wmv -o output.avi

#mencoder fixavi

mencoder -idx -ovc copy -oac copy -o output.avi input.avi
mencoder -forceidx -ovc copy -oac copy -o output.avi input.avi

#Encoder mplayer + mplayer32 :

mencoder -oac mp3lame -lameopts q=3 -ovc xvid -xvidencopts bitrate=900:me_quality=6:trellis:chroma_opt:chroma_me:hq_ac:vhq=3:autoaspect:max_bframes=3 /fichier.wmv -o fichier.avi

voir aussi http://doc.ubuntu-fr.org/tabencode GUi pour mencoder

#décalage son/vidéo

on cherche le décalage (avec les touches + et - aussi)

mplayer -delay 0.3 input.avi

on réencode

mencoder -oac copy -ovc copy -audio-delay -0.3 input.avi -o output.avi

#mplayer grab stream

WMV :

mplayer -noframedrop -dumpfile out.wmv -dumpstream mms://adresse/video.wmv

RM :

mplayer -noframedrop -dumpfile output.rm -dumpstream rtsp://mon/flux/real/media.rm

ou :

mplayer rtsp://mon/flux/real/media.rm -dumpstream -dumpfile output.rm

#mplayer extract audio + convert wav mp3

mplayer -vo null -hardframedrop -ao pcm:file=output.wav input.mpg

#mplayer wma to mp3

mplayer -vo null -vc dummy -af resample=44100 -ao pcm:waveheader input.wma &&lame -m s audiodump.wav -o output.mp3

#mplayer et url en ligne de commande

mplayer `cat url.txt`

Attention aux apostrophes spéciales : ` (altgr+7).

Sinon, on peut aussi utiliser :

cat url.txt | xargs mplayer

Ça permet notamment de charger une liste d'adresses depuis un fichier.

#ffmpeg avi to mp3

ffmpeg -i input.avi -ac 2 -ab 128000 -ar 44100 output.mp3

#ffmpeg wma to mp3

ffmpeg -i fichier.wma -acodec libmp3lame -ab 128000 fichier.mp3

#ffmpeg wav to mp3 (need Lame)

ffmpeg -i input.wav -ac 2 -ab 64000 output.mp3

#lame change sample rate &bitrate

lame --cbr -b 32 input.mp3 --resample 22500 output.mp3