Bonjour

Dans un script linux (sh) j'utilise la commande
awk '{print substr($0,4,7)}' qui me donne les caractères 4 à 10 de chaque ligne.

La question est : comment remplacer 4 et 7 par des variables lues dans dans l'appel au script ? extr_don.sh -pos 4 -long 7

J'ai essayé
awk '{print substr($0,${pos},${long})}' et j'ai eu comme message d'erreur
!parse error
!parse error

awk '{print substr ($0,$pos,$long)}' : pas de message d'erreur mais la zone extraite contient 20 caractères à partir du 31°

awk '{print substr($0,`${pos}`,`${long}`)}' : message d'erreur
^ caractère invalide dans l'expression


N'ayant pas trouvé mon bonheur dans les faqs et forums, est-ce que quelqu'un aurait la solution ?

Merci