Afficher les lignes une par une
PiLoTe
-
zipe31 Messages postés 38797 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 38797 Date d'inscription Statut Contributeur Dernière intervention -
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 toutes les lignes masquées excel ✓ - Forum Excel
- Excel trier par ordre alphabétique en gardant les lignes - 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
- Écrire plusieurs lignes dans une cellule excel mac - Guide
- Afficher taille dossier windows - Guide
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 :