On 2 May 2006 06:37:41 -0700,
octane@alinto.com wrote:
> Bonjour,
>
> je cherche a ecrire des caracteres depuis leur equivalent hexadecimal
> en shell.
>
> par exemple partir de 5A qui represente Z en ASCII
perl -e 'printf "%c\n", 0x5A'
Avec certains dc:
echo 16i 5A ap | dc
POSIXement:
oct=$(echo 'ibase=16; obase=8; 5A' | bc)
printf '%b\n' "\0$oct"
> Ensuite est il possible pour un script shell de generer 8 caracteres
> compris dans la tranche ASCII 0x20 .. 0x126 ?
[...]
perl -le 'srand(); print pack "C*", map {rand(95)+32} 1..8'
POSIXement:
awk '
BEGIN {
srand()
for (i = 0; i < 8; i++)
printf "%c", rand() * 95 + 32
print ""
}'
--
Stephane