Afficher les lignes une par une
PiLoTe
-
zipe31 Messages postés 38797 Statut Contributeur -
zipe31 Messages postés 38797 Statut Contributeur -
Bonjour, j' ai ecris ce programme et je ne comprend pas pourquoi une érreur (ligne 10: 100]: Aucun fichier ou dossier de ce type) apparait.
je voudrai afficher les 100 premières lignes d'un fichier sans utiliser cat ou autre.
je voudrai afficher les 100 premières lignes d'un fichier sans utiliser cat ou autre.
#!/bin/bash a=$(wc $1) lines=$(echo $a|cut -d' ' -f1) words=$(echo $a|cut -d' ' -f2) chars=$(echo $a|cut -d' ' -f3) i=0 while [$i < 100] do sed -n "$i p" $1 i++ done echo "il y a $lines de lignes"
Configuration: Linux / Chrome 83.0.4103.106
A voir également:
- Afficher les lignes une par une
- Afficher appdata - Guide
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. quel nombre est dessiné en surbrillance ? ✓ - Forum Excel
- Excel trier par ordre alphabétique en gardant les lignes - Guide
- Écrire plusieurs lignes dans une cellule excel mac - Guide
- Dans le diaporama à télécharger, les diapositives s’enchaînent automatiquement. combien de temps la diapositive crayon met-elle à s’afficher ? combien de temps reste-t-elle affichée à l’écran ? ✓ - Forum Powerpoint
3 réponses
Re-
Fichier de 100 lignes (ici je n'affiche que les 5 premières et dernières lignes du fichier) :
Le script (qui n'affiche que les 10 premières lignes) :
L'exécution :
;-))
je voudrai afficher les 100 premières lignes d'un fichier sans utiliser cat ou autre.Donc en shell pur ;-)
Fichier de 100 lignes (ici je n'affiche que les 5 premières et dernières lignes du fichier) :
$ head -5 f1 && echo "[…]" && tail -5 f1
ligne 1
ligne 2
ligne 3
ligne 4
ligne 5
[…]
ligne 96
ligne 97
ligne 98
ligne 99
ligne 100
Le script (qui n'affiche que les 10 premières lignes) :
$ cat bar.sh
#!/bin/bash
mapfile -t tableau < $1
for (( i=0 ; i < 10 ; i++ ))
do
echo "${tableau[$i]}"
done
echo "il y a ${#tableau[@]} lignes"
L'exécution :
$ ./bar.sh f1
ligne 1
ligne 2
ligne 3
ligne 4
ligne 5
ligne 6
ligne 7
ligne 8
ligne 9
ligne 10
il y a 100 lignes
;-))
Pour les chiffres il faut employer
sed n'aime pas la valeur "0" il faut déclarer ta variable $i à 1.
Pour incrémenter une variable :
Pour info :
Sinon, cette commande fait la même chose que ce qu'est censé faire ton script :