Vous êtes sur la page 1sur 6

TD_Prog_Shell (DS 2022)

Nardine HARRAB
M1bioinfo
Exercice 1 : QCU
1. Quelle est la commande pour spécifier un découpage en colonne selon ledélimiteur caractère
deux points « : » et conserver la colonne 3 : b. cut -f 3 -d ":"

2. On peut atteindre le “Home” d’un utilisateur par le symbole : d. ~

3. Alice souhaite afficher à l’écran le contenu d’un fichier et y rechercher du texte. Elle n’a pas
besoin d’en modifier le contenu. Parmi les commandes ci-dessous, laquelle est adéquate ? b. cat
• 4. En notation numérique octale, ‘’r-xrw-r— ’’s’écrit : aucune bonne réponse car : Propriétaire :
Lecture (4) + Exécution (1) = 5; Groupe : Lecture (4) + Écriture (2) = 6; Autres : Lecture (4)  564

5. La commande « mv file1.doc file 2.doc » permet de : c. Renommer le fichier “file1.doc” en


“file2.doc”
Exercice 2:
1) Donnez la première ligne en sortie pour chacune des commandes suivantes :
a. Sort annuaire
Ben Hamouda Amal 12345667 2 O
b. Sort –n test.txt
Ben Hamouda Amal 12345667 2 O
c. Sort –n –r test.txt
Rouissi Firas 05322334 1 N
d. Donner la commande adéquate pour trier ce fichier par niveau d’étude
$ Sort –k ‘ annuaire.txt
e. Donner la commande adéquate pour extraire de ce fichier les lignes correspondantes aux
étudiants non boursiers.
$ Grep –w ‘N$’ annuaire.txt
Exercice 3:
1) Indiquer une commande qui permet d’extraire à partir du fichier « source.txt » les lignes à
partir de la 5 ème jusqu’à la 15 ème ligne (pensez à utiliser les commandes head et tail)
$ head -15 source.txt | tail -11
2) Donner l’équivalent numérique de chaque permission :
▪ r-------- : 400
▪ rw-r--r-- : 644
▪ r-x--x--- : 510
▪ rwxrwxrwx : 777
3) Donner l’équivalent des commandes suivantes en utilisant le filtre “grep”
a) find . -type d : ls -l | grep '^d’
b) find . -perm 764 -type f : ls -l | grep '^-rwxrw-r--'
c) find . -name TP*.doc : ls | grep '^TP.*\.doc$'
Exercice 4:
• Écrivez un script shell qui demande à l’utilisateur d’introduire une séquence génomique puis il lui
affiche le nombre d’occurrences de chaque base (nucléotide).
#!/bin/bash
echo "Veuillez saisir une séquence :"
read sequence
count_A=0
count_T=0
count_C=0
count_G=0
for ((i=0; i<${#sequence}; i++)); do
char="${sequence:i:1}"
case "$char" in
"A") ((count_A++));;
"T") ((count_T++));;
"C") ((count_C++));;
"G") ((count_G++));;
esac
fi
done
echo "Le nombre d'occurrences du nucléotide “A” est : $count_A"
echo "Le nombre d'occurrences du nucléotide “T” est : $count_T"
echo "Le nombre d'occurrences du nucléotide “C” est : $count_C"
echo "Le nombre d'occurrences du nucléotide “G” est : $count_G"

Vous aimerez peut-être aussi