[Shell] Extraire caractère fichier dans table
Bonjour je souhaite insérer dans un tableau un fichier .txt ,mais caractère par caractère.
Tout cela en bourne shell.
J'avai essayé ça mais sa ne marche pas :
for ligne in $(cat 'fichier.txt')
do
j=0
for i in 0 1 2 3 4 5 6 7 8 9
do
c=${$ligne:$i:1}
tab[$j]=$c
j=$(($j+1))
i=$(($i+1))
done
done
Tout cela en bourne shell.
J'avai essayé ça mais sa ne marche pas :
for ligne in $(cat 'fichier.txt')
do
j=0
for i in 0 1 2 3 4 5 6 7 8 9
do
c=${$ligne:$i:1}
tab[$j]=$c
j=$(($j+1))
i=$(($i+1))
done
done
2 réponses
-
ModérateurLe tableau a la taille = le nombre de caractères, que tu peux l'obtenir avec la commande
cat fichier | wc -c
donc pour remplir le tableau tu peux utiliserfor i in seq $(cat fichier | wc -c)
--
lami20j
P.S. T'es obligé de faire ça en shell?
C'est quoi l'objectif? -
ModérateurSalut,
#! /bin/bash count=0 for mot in $(cat fich.txt) do for lettre in $(echo $mot | sed -e 's/[\.,]//g' -e 's/./& /g') do tab[$count]="$lettre" count=$(expr $count + 1) done done
La première expression de "sed" ('s/[\.,]//g') c'est pour enlever les signes de ponctuation (le point et la virgule).
;-))