prog:bashfonctutile

Ceci est une ancienne révision du document !


Bash Fonction Utile


Date sous la forme : 2006-10-01 15:00

date2stamp () {
    date --utc --date "$variableDate" +%s
}
stamp2date (){
    date --utc --date "1970-01-01 $Timestamp sec" "+%Y-%m-%d %T"
}
dateDiff (){
    case $1 in
        -s)   sec=1;      shift;;
        -m)   sec=60;     shift;;
        -h)   sec=3600;   shift;;
        -d)   sec=86400;  shift;;
        *)    sec=86400;;
    esac
    dte1=$(date2stamp $1)
    dte2=$(date2stamp $2)
    diffSec=$((dte2-dte1))
    if ((diffSec < 0)); then abs=-1; else abs=1; fi
    echo $((diffSec/sec*abs))
}

Peut prendre un paramètre :

  • -s résultat en seconde
  • -m résultat en minute
  • -h résultat en heure
  • -d résultat en jour (par Défaut)

Exemple :

  • dateDiff -s “2006-10-01” “2006-10-32”
  • dateDiff -m “2006-10-01” “2006-10-32”
  • dateDiff -h “2006-10-01” “2006-10-32”
  • dateDiff -d “2006-10-01” “2006-10-32”
  • dateDiff “2006-10-01” “2006-10-32”

Fonctionne aussi avec l'heure seul :

  • dateDiff -s “17:55” “23:15:07”
  • dateDiff -m “17:55” “23:15:07”
echo $(date +%Y-%m-%d)
echo $(date +%Y-%m-%d -d '-2 days')

Le resultat donne :

2017-01-11
2017-01-09

L'argument -d permet de décrire une action avec une chaine de caractère.

Les mac génére dans chaque dossier traversé un .DS_STORE pour les config du dossier et des .qqchose pour spotlight pour chaque fichier.

:!: Attention ce script agit dans le dossier et sous-dossier courant. Bien faire attention lors de son utilisation sur un mac ou un linux sous risque de supprimer le systeme.

find . -name '.??*' | while read n; do rm -rf "$n"; done

Un disque ou clé USB ne gére pas la gestion d'erreur SMART. Seul le SATA et L'E-SATA en sont capable. Pour cela il faudra écrire sur chaque bit de la clé ou du disque pour savoir il est bon.

badblocks -w -s -o usbstick.log /dev/sdz

usbstick.log étant un chemin vers un fichier de log. /dev/sdz étant le disque à analysé.

  • prog/bashfonctutile.1499708537.txt.gz
  • Dernière modification : 08/12/2018 09:21
  • (modification externe)