TD9 - La recherche et le tri

Inès de Courchelle

Durée : 3h

Consignes :

Durant ce TD l’utilisation de la souris, Touchpad et/ou Trackpoint sont strictement interdit. Seul le clavier est autorisé.

Objectifs :

Ce TD a pour objectif de :

  • Réaliser des recherches ciblées sur des noms de fichiers et des contenus de fichiers
  • Trier des données en fonction de critéres définis
  • Connaître et de se familiariser les commandes distantes

Attention :

ne pas oublier de noter les différentes commandes utilisées dans le tp pour ne pas les oublier

Support de cours

TP9 - support de cours

Fichier attaché à la séance

dataSet.csv euro22.csv hp1.txt

1- (Rappel) Find et Grep

Grep

Définition

Rechercher une chaîne de caratères dans un fichier #### Les commandes ##### Rechercher classique 1

grep jimmy ledZeppelin.txt
Rechercher classique 2
grep Jimmy ledZeppelin.txt

Grep est sensible à la case. C-à-d la majuscule est prise en compte

Afficher les numéros de lignes
grep -n jimmy ledZeppelin.txt
Rechercher en oubliant la sensibilité à la case
grep -i jiMmY ledZeppelin.txt
Rechercher le mot complet
grep -w jimmy ledZeppelin.txt

Find

Définition

Rechercher un fichier dans une arboresence de fichiers #### Les commandes ##### Rechercher un fichier

find -name ledZeppelin.txt
Rechercher un fichier terminant par une extension
find -name *.txt

la recherche est descend dans l’arborescence à l’endroit où la commande a été effectuée

En deux temps

Rerchercher un fichier puis afficher ses droits
find -name ledZep.txt -exec ls -l {} \;
Rerchercher un fichier puis rechercher du contenu
find -name ledZep.txt -exec grep  Jimmy {} \;

2- (Rappel) Communication à distance

ssh

La commande de connexion

La commande de déconnexion

Illustration

SCP

Définition

  • Protocole de transfert de fichiers
  • SCP : Secure CoPy
  • Objectif : copier des fichiers sur deux machines distantes

La commande

scp <source> <destination>

fonctionne comme cp

Récupérer un fichier distant

Nous souhaitons envoyer sur la machine distante le repertoire suivant Documents

scp -r documents <votreIdentifiant>@ssh.pau.eisti.fr:~/chemins/

Récupérer un fichier distant

Nous souhaitons récupérer sur la machine distante le fichier suivant .under[reponsesExam.txt]

scp <votreIdentifiant>@ssh.pau.eisti.fr:~/chemins/reponsesExamen.txt ~/chemins/
Attention
  • on garde le même principe source -> direction
  • la commande s’exécute sur notre terminal et non sur la machine distante

Récupérer un répertoire distant

Nous souhaitons récuếre sur la machine distante le fichier suivant .under[laReponse]

scp -r <votreIdentifiant>@ssh.pau.eisti.fr:~/laReponse ~/chemins/

Attention - on garde le même principe source -> direction - la commande s’exécute sur notre terminal et non sur la machine distante

3- (Rappel) Le tri de fichiers

Sort

Trier les consoles par ordre décroissant

sort -t';' -k3nr petitPapaNoel.csv

Trier les consoles par appelation alphabétique

sort -t';' -k2 petitPapaNoel.csv

Quelques indications

  • -t';' : Pour indiquer que le délimiteur de colonne sont des ;
  • -k2 : Pour indiquer que le tri se fera sur la colonne numero 2
  • r : Pour indiquer que le tri sera décroissant
  • n : Pour indiquer que le tri se fera sur des données numériques

Pipe

Afficher le contenu d’un répertoire contenant beaucoup de fichiers

ls -l | more
  • La sortie de la commande ls -l est envoyé en entrée de la commande more
  • utiliser la barre espace du clavier pour avancer petit à petit

Compter le nombre de ligne affiché par la commande ls -l

ls -l | wc -l
  • La sortie de la commande ls -l est envoyé en entrée de la wc -l
  • wc -l permet de compter le nombre de lignes

Cut

Définition

Couper un contenu sur une expression

Afficher les consoles par prix croissant mais n’afficher que l’id

sort -t';' -k2 petitPapaNoel.csv | cut -d’;-f1

Quelques explications

  • sort -t';' : le délimiteur pour la commande sort
  • cut -d';' : le délimiteur pour la commande cut
  • -f1 : les colonnes que l’on souhaite afficher