Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # TP4 --- Exercice 1
- # $# contient le nombre d'arguments d'un script bash
- # les arguments sont $1, $2, $3, ... $9, puis ${10}
- case $# in
- 1) echo "Un seul argument :"; seq $1;;
- 2) seq $1 $2;;
- 3) seq $1 $2 $3;;
- *) echo "Le script $0 doit avoir entre 1 et 3 arguments"; exit 1;;
- esac
- #! /bin/bash
- # TP3 --- Exercice 8
- rep="data/haddock"
- for nom in $(ls $rep); do
- echo "fichier : $nom"
- echo "nombre de lignes : $( cat "$rep/$nom" | wc -l)"
- echo "nombre de caracteres : $(wc -c < $rep/$nom)"
- # pour le proprietaire, il faut parser ls -l
- prop=$(ls -l $rep/$nom | tr -s " " | cut -d " " -f3)
- echo "propriétaire : $prop"
- # Exercice 9
- echo "Le proprietaire a les droits : "
- droits=$(ls -l "$rep/$nom" | tr -s ' ' | cut -d' ' -f1)
- # cut -ci "coupe" le ième caractère
- if [ $(echo $droits | cut -c2) != "-" ]; then
- echo "lire "
- fi
- if [ $(echo $droits | cut -c3) != "-" ]; then
- echo "ecrire"
- fi
- if [ $(echo $droits | cut -c4) != "-" ]; then
- echo "executer"
- fi
- done
- #!/bin/bash
- # TP3 --- Exercice 7
- fichier="/etc/passwd"
- taille=$(cat $fichier | wc -l)
- #taille=$(wc -l < $fichier)
- # boucle de 1 au nombre de ligne du fichier
- for i in $(seq $taille); do
- # afficher la ligne uniquement si i est pair
- # NE PAS OUBLIER de préciser les opérations arithmétiques
- #if [[ $i%2 -eq 0 ]]; then
- if [ $((i%2)) -eq 0 ]; then
- head -n $i $fichier | tail -n 1
- fi
- done
- #!/bin/bash
- # TP3 --- Exercice 6
- rep="data/haddock"
- resume="resume.txt"
- fichiers=$(ls $rep)
- for nom in $fichiers; do
- #for nom in $(ls $rep); do
- # >> écrit à la fin du fichier alors que
- # > crée un nouveau fichier à chaque fois
- echo "[nom du fichier] $nom" >> $resume
- # affiche les trois premieres lignes de rep/nom
- head -n 3 $rep/$nom >> $resume
- done
- echo "version alternative"
- n=0
- cat $fichier | while read ligne ; do
- n=$((n+1))
- if [ $((n%2)) -eq 0 ]; then
- echo $ligne
- fi
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement