Script de décalage des sous-titres dans un fichier srt

#! /bin/bash

IFS=$'\n'
option_F_found=0
option_T_found=0

usage()
{
echo "usage: ./subtitles.sh -f [srt file] -t '[+/- time]'"
echo "ex : ./subtitles.sh -f /home/std/lecuisinierlevoleursafemmeetsonamant.srt -t '- 18.100'"
echo "ex : ./subtitles.sh -f /home/std/lecuisinierlevoleursafemmeetsonamant.srt -t '+ 18.100'"
echo ""
exit 3
}

while getopts f:t: OPTNAME; do
case "$OPTNAME" in
f)
FILE="$OPTARG"
option_F_found=1
;;

t)
TIME="$OPTARG"
option_T_found=1
;;

*)
usage
;;
esac
done

if [ "$option_F_found" -eq "0" ] || [ "$option_T_found" -eq "0" ]; then
usage
fi

FunctionDuration()
{
duration_temp=$(date -d "1983-12-12 $1" "+%s.%3N")
duration_diff=$(echo "scale=3; $duration_temp $TIME" | bc -l)
duration_dest=$(date -d"@$duration_diff" "+%H:%M:%S,%3N")
echo "$duration_dest"
}

for i in $(grep -E "[0-9]{2}:[0-9]{2}\,[0-9]{3}" "$FILE");
do
A=$(echo "$i" | sed 's/\([0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}\,[0-9]\{3\}\) --> \([0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}\,[0-9]\{3\}\)/\1/')
B=$(echo "$i" | sed 's/\([0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}\,[0-9]\{3\}\) --> \([0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}\,[0-9]\{3\}\)/\2/')
VAL1=$(FunctionDuration "$A")
VAL2=$(FunctionDuration "$B")
echo "working on $A --> $B"
sed -i "s/$i/$VAL1 --> $VAL2/" "$FILE"
done

Script de décalage des sous-titres dans un fichier srt

Origine des paquets

Un petit script chopé sur Debian facile pour lister l'origine de tous les paquets installés.

#!/bin/bash
 
deblist="/var/cache/deblist"
temp_file="/tmp/policy"
 
update() {
if [ `id -u` -ne 0 ]; then echo "Vous devez être ROOT"; exit 1; fi
rm -f "$deblist" > /dev/null;
for i in `dpkg -l | grep ^ii | awk '{print $2}'` ; do
apt-cache policy $i > "$temp_file"
let j=`cat -n $temp_file | grep 100\ \/var\/lib\/dpkg\/status | awk '{print $1}$
echo "$i: `cat -n $temp_file | sed -n "$j"p | awk '{print $3" "$4" "$5" "$6}'`"$
done
rm -f "$temp_file" > /dev/null;
}
 
if [ ! -f $deblist ] && [ "$1" != "-u" ]; then
echo "Veuillez faire '`basename $0` -u' SVP";
exit 1;
fi
 
case $1 in
-h)
echo "Usage: `basename $0` -u : met à jour la base de donnée (root)"
echo " `basename $0` : affiche la base de donnée"
exit 0;
;;
-u)
update
exit 0
;;
*)
cat "$deblist"
;;
esac

Cela m'a permis de m'apercevoir que les backports étaient inutiles pour ma config (pensant bêtement avoir installé des trucs exotiques).

Il faut le lancer en root puis aller le voir dans /var/cache/deblist

Origine des paquets