Files
rolandradio_record/scripts/xt
Mac Call e53fb1b54f initial
2023-03-05 15:06:10 +01:00

43 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
## extrait d'un fichier binaire 'file' a partir du 'first' octet (compris, commence a compter a 1)
## en comptant 'count' octets
usage() {
echo "Usage: $0 first count file (chemin du fichier a traiter)"
echo " ou: $0 first count (avec l'utilisation de l'entrée standard)"
echo " Extrait les octets d'un fichier binaire 'file' ( ou de l'entrée standard) "
echo " a partir du 'first' octet (compris, commence a compter a 1)"
echo " en comptant 'count' octets"
echo " example : ./xt 4097 $((16#b0)) stream1.mp3 > stream.entete2.bin"
exit 1
}
# Vérifie que 2 ou 3 arguments ont été passés
if [ "$#" -ne 2 ] && [ "$#" -ne 3 ]; then
usage
exit 1
fi
# Par défaut, utilise l'entrée standard comme entrée
input="/dev/stdin"
# Récupère les arguments passés en paramètre
first="$1"
count="$2"
if [ "$#" -eq 3 ]; then
input="$3"
fi
if [ "$count" = "-" ] ; then
# Lance tail ans head car on veut jusq'ua bout du fichier
cat "$input"| tail -c+$first
else
# Lance tail et head pour récupérer les octest demandés
cat "$input"| tail -c+$first |head -c$count
fi