SCRDEV/SCR.1.2/TP07/TP07-fichiereponses-SCR1.2.txt
2024-11-20 00:34:34 +01:00

145 lines
5.5 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

YOLOU
TP07 SCR 1.2
I.
La commande expr permet de montrer la valeur de lexpression de la sortie standard. Ca calcule le nombre caractère de la chaine de caractères.
[yolou@archlinux TP07]$ expr length STRING
6
Explication : Cela montre le nombre de caractere dans cette chaine de caractères
[yolou@archlinux TP07]$ expr length stock_market
12
Explication : Ici si on compte de s à t ça fait 12.
[yolou@archlinux TP07]$ expr substr STRING POS LENGTH
Explication :
[yolou@archlinux TP07]$ expr substr stock_market 1 5
stock
Explication : Cela recupere les caractères de la chaine de caractères de 1 la position de longueur de 5 donc 1 2 3 4 5. Donc stock.
[yolou@archlinux TP07]$ expr substr stock_market 7 12
market
Explication : Cela reproduit la meme chose de 7 à 12. Donc market.
[yolou@archlinux TP07]$ expr index stock_market "_c"
4
expr index donne la possition du char sur une chaine de chaine de caractère
[yolou@archlinux TP07]$ expr index stock_market "_"
6
Explication : Car elle affiche la position du caractère “_” cest 6
[yolou@archlinux TP07]$ expr index stock_market "_c"
4
Explication : En gros il va donner 4 parce que il est premier à apparaitre il va mettre la position qui a apparait premiere ça aurait ete “sc” on aurait eu 1
2. // On affecte quatre variables : x,y,z,t du shell par chacune des sous -chaines correspondant aux quatres octes dans le mot affectee dans addr . On ne fait pas a la main, on fai par
expr en utilsant le mécanisme de subtistution dune commande par son résultat //
[yolou@archlinux TP07]$ addr=10110010111000101000011101110010
[yolou@archlinux TP07]$ expr length $addr
32
[yolou@archlinux TP07]$ x=$(expr substr $addr 1 8)
[yolou@archlinux TP07]$ echo $x
10110010
[yolou@archlinux TP07]$ y=$(expr substr $addr 9 8)
[yolou@archlinux TP07]$ echo $y
11100010
[yolou@archlinux TP07]$ z=$(expr substr $addr 17 8)
[yolou@archlinux TP07]$ echo $y
11100010
[yolou@archlinux TP07]$ t=$(expr substr $addr 25 8)
[yolou@archlinux TP07]$ echo $t
01110010
3. // On utilise maintenant le fait que le shell évalue des nombres donnés dans nimporte
quelle base. Ainsi, 2#101 est compris comme le nombre 101 dans la base 2. On utilise le
mécanisme de l´evaluation arithm´etique pour vérifier à quoi le shell ´evalue un tel nombre ://
$((...)) dit au shell que le contexte est arithmétique : on calcule ce qui est à l'intérieur
$((2#...)) ce que je te donne ici est en base 2
exemple $((2#101)) est remplacé par 5
[yolou@archlinux TP07]$ echo $((2#101))
5
Explication : cela explique quoi ? ECHO VEUT DIRE affiche montrer il donne l'argument entre les parathèse avec qui convertie ça en base de 2 avec cette exemple 101 en binaire devient 5
$ echo $((2#101110))
46
Explication : cela explique quoi ? ECHO VEUT DIRE affiche montrer il donne l'argument entre les parathèse avec qui convertie ça en base de 2 avec cette exemple 101 en binaire devient 46
4. // On affecte alors la variable addr_dot du shell par la notation décimale correspondant à
addr.//
[yolou@archlinux TP07]$ addr_dot=$((2#$x)).$((2#$y)).$((2#$z)).$((2#$t))
[yolou@archlinux TP07]$ echo $addr_dot
178.226.135.114
addr_dot=$((2#$x)).$((2#$y)).$((2#$z)).$((2#$t)) on verifie par echo $addr_dot
II-
1.
La commande sort permet de trier des lignes d'un fichier texte
[yolou@archlinux TP07]$ ls -l
total 36
-rw-r--r-- 1 yolou senart24 11371 Nov 6 11:59 TP07-fichiereponses-SCR1.2.odt
-rw-r--r-- 1 yolou senart24 3353 Nov 13 11:30 TP07-fichiereponses-SCR1.2.txt
-rw-r--r-- 1 yolou senart24 7839 Nov 13 11:28 find-output.txt
-rw-r--r-- 1 yolou senart24 9672 Nov 13 11:26 ls-output.txt
On prend le 5eme champs la taille pour ça on prend le la commande l'option sort -k key1.3, keykey.5 tout ça vient de la definition key
Donc si je veux un trie sur le champs 5 : je dis sort -nk (n pour numerique) 5,5 ls-output.txt
[yolou@archlinux TP07]$ sort -nk 5,5 ls-output.txt
-rw-r--r-- 1 root root 0 6 nov. 2016 odbc.ini
-rw-r--r-- 1 root root 0 6 nov. 2016 odbcinst.ini
-rw-r--r-- 1 root root 0 30 sept. 2015 arch-release
-rw-r--r-- 1 root root 0 30 sept. 2015 motd
total 1048
-rw-r--r-- 1 root root 4 5 juil. 2016 hostname.ori
-rw-r--r-- 1 root root 9 13 juil. 2016 hostname
-rw-r--r-- 1 root root 10 5 juil. 2016 vconsole.conf
-rw-r--r-- 1 root root 17 5 juil. 2016 locale.conf
lrwxrwxrwx 1 root root 19 5 juil. 2016 mtab -> ../proc/self/mounts
-rw-r--r-- 1 root root 20 30 sept. 2015 issue
lrwxrwxrwx 1 root root 21 5 juil. 2016 os-release -> ../usr/lib/os-release
lrwxrwxrwx 1 root root 25 6 juil. 2017 localtime -> ../usr/share/zoneinfo/UTC
-rw-r--r-- 1 root root 28 14 nov. 2016 bash.bash_logout
-r--r--r-- 1 root root 33 5 juil. 2016 machine-id
-rw-r----- 1 root brlapi 33 31 oct. 2016 brlapi.key
-rw-r--r-- 1 root root 49 18 juil. 13:11 resolv.conf
-rw-r--r-- 1 root root 52 30 sept. 2015 shells
2.(1) De la date la plus récente à la moins récente :
bash
Copier le code
sort -t: -k3,3r find-output.txt
Explication :
-t: : Utilise : comme séparateur.
-k3,3 : Trie sur la 3e colonne (qui contient les dates).
-r : Inverse l'ordre pour trier de manière décroissante (plus récent → moins récent).
(2) De la date la plus ancienne à la moins ancienne :
bash
Copier le code
sort -t: -k3,3 find-output.txt
Explication :
-t: : Utilise : comme séparateur.
-k3,3 : Trie sur la 3e colonne (les dates) en ordre croissant.