Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # TP5 --- Exercice 4
- #!/bin/bash
- # Vérifie que le script est bien appelé avec 2 arguments
- if [ $# -ne 2 ]; then
- echo "USAGE: $0 TEXTE_SCRIPT NUM_SCENE"
- exit 1
- fi
- texte="$1"
- maScene="Scène $2."
- # Récupère les numéros de lignes des débuts de scène et des rideaux
- grep -E -n '^(Scène|Rideau.)' "$texte" > /tmp/debut_scenes
- # Numéro de ligne du début de la scène recherchée
- debut=$( grep "$maScene$" /tmp/debut_scenes | cut -d':' -f1 )
- # Numéro de ligne de la fin de scène (début scène suivante ou rideau)
- fin=$( grep -A1 "$maScene$" /tmp/debut_scenes | tail -n1 | cut -d':' -f1 )
- # Erreur si la scène recherchée n'existe pas
- # -z correspond à une chaîne de caractères vide
- if [ -z "$debut" ]; then
- echo "La scène $2 n'existe pas."
- exit 2
- fi
- # Récupère le texte de la scène
- head -n$fin "$texte" | tail -n+$debut > /tmp/texte_scene
- # Affiche le nombre de répliques pour chaque personnage dans la scène (commande similaire à l'exercice 2) --- sed élimine les espaces (un peu plus propre que tr ?)
- echo "Répliques dans la scène $2 :"
- cat /tmp/texte_scene | grep -E '^[[:upper:]].*:$' | cut -d':' -f1 | cut -d'(' -f1 | sed -E 's/ +$//' | sort | uniq -c | sort -n
- # Suppression des fichiers temporaires
- rm /tmp/debut_scenes /tmp/texte_scene
- # TP5 --- Exercice 2
- #!/bin/bash
- if [ $# -ne 1 ]; then
- echo "Usage: bash $0 fichier"
- exit 1
- fi
- # attention : egrep semble deprecated
- # Le {2,2}+ oblige à avoir au moins des majuscules en début de ligne, et semble suffire ?
- egrep "^[A-Z]{2,2}+.*:$" $1 | cut -d":" -f1 | cut -d"(" -f1 | tr -d " " | sort | uniq -c | sort -rn | head -n5
- # TP5 --- Exercice 3
- #!/bin/bash
- if [ $# -ne 1 ]; then
- echo "Usage: bash $0 fichier";
- exit 1;
- fi
- egrep '^(Acte|Scène|Rideau.)' "$1"
- #grep -E '^(Acte|Scène|Rideau)' "$1"
- # TP5 --- Exercice 1
- #!/bin/bash
- if [ $# -ne 1 ]; then
- echo "Usage: bash $0 fichier";
- exit 1;
- fi
- txt=$1
- debut=$( grep -n "START OF THIS PROJECT" $txt | cut -d":" -f1 )
- debut=$((debut+1))
- fin=$( grep -n "END OF THIS PROJECT" $txt | cut -d":" -f1 )
- fin=$((fin-1))
- cat $txt | tr -d '\r' | head -n$fin | tail -n +$debut
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement