[Shell] Extraire caractère fichier dans table
liljerem
Messages postés
4
Statut
Membre
-
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité -
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité -
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
A voir également:
- [Shell] Extraire caractère fichier dans table
- Fichier bin - Guide
- Fichier epub - Guide
- Table ascii - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
2 réponses
Le tableau a la taille = le nombre de caractères, que tu peux l'obtenir avec la commande
lami20j
P.S. T'es obligé de faire ça en shell?
C'est quoi l'objectif?
cat fichier | wc -cdonc pour remplir le tableau tu peux utiliser
for i in seq $(cat fichier | wc -c)--
lami20j
P.S. T'es obligé de faire ça en shell?
C'est quoi l'objectif?
Salut,
;-))
#! /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 doneLa première expression de "sed" ('s/[\.,]//g') c'est pour enlever les signes de ponctuation (le point et la virgule).
;-))