Module Linux

publicité
Formation bio-informatique
18 au 21/10/2011
Module Linux
Bruno Granouillac – UMR MIVIGEC & VIH
Christine Tranchant-Dubreuil – UMR DIADE
But
BUT
  Présentation de linux
  Apprentissage de base pour bien commencer avec linux
APPLICATION
  Connaître les commandes de base sous linux
  Manipulation de fichiers (sort, cut, wc, tr)
  Trier et filtrer des données (grep / sed / awk)
  Lancer des logiciels bioinformatiques en ligne de commande
-
Introduction : Présentation de linux
  Début 1970 : création du système d’exploitation UNIX
  Plusieurs variantes : Ultrix, AIX, SunOS et Linux (1991)
  Système libre, robuste et multi-plateforme
  Système multi-utilisateur, multi-tâche
  Plusieurs utilisateurs peuvent travailler en même temps; chaque utilisateur
peut effectuer une ou plusieurs tâches en même temps
  Une tâche ou un processus = programme
  Les taches sont protégées; certaines peuvent communiquer
  Fichiers répartis dans une arborescence de fichiers et répertoires
Introduction : Présentation de linux
  Le noyau (kernel) gère les tâches de base du système :
  initialisation du système
  la gestion des ressources
  la gestion des processus
  la gestion des fichiers
  la gestion des Entrées/Sorties
  L’utilisateur communique avec le noyau par l’intermédiaire d’un SHELL via des
lignes de commande. Les shells sont aussi des langages de programmation
  Shell et commande en mode texte forment l’interface de base au système
SHELL
Sortie
NOYAU
Entrée
Introduction : Version et distribution de linux
APPLICATION
  Distribution : noyau auquel des logiciels ont été ajouté
SHELL
NOYAU
Introduction : Version et distribution de linux
APPLICATION
  Distribution : noyau auquel des logiciels ont été ajoutés
SHELL
NOYAU
  Concrètement
uname –a ! ! !
cat /etc/issue
!affiche notamment la version du noyau
affiche la distribution
  Pour en savoir plus
Site officiel de linux : http://www.linux.org
Lea-linux : http://www.lea-linux.org
Wiki : http://fr.wikipedia.org/wiki/Linux
Liste des distributions : http://linux.org/dist/
Introduction : Pourquoi utiliser linux?
  Pour utiliser la puissance des lignes de commandes disponibles sous linux (cf.
shell)
  Facilité de lier des commandes et de les automatiser
  La majorité des outils bio-informatiques fonctionnent sous linux
  Les serveurs utilisés sont sous linux
  Point négatif : convivialité
Le shell : introduction
  Interpréteur de commande et langage de programmation
  Interface entre l’utilisateur et le système d’exploitation grâce au lignes
de commande
  Plusieurs shells : sh (Bourne shell), bash (Bourne again shell), csh
(ksh)
  Concrètement
echo $SHELL !
!
!affiche le shell installé/utilisé par défaut
Le shell : introduction
  Le travail en « ligne de commande » est souvent plus efficace et
rapide qu’à travers une interface graphique
  Lancées dans une console (terminal) en local ou à distance via une
liaison sécurisée SSH (sans interface graphique)
  Facilement scriptables et automatisées des tâches
Le shell : invite de commande et ligne de commande
  Syntaxe d’une commande shell
Syntaxe :
commande [ -options ] [ arguments ]
Exemple :
Le shell : invite de commande et ligne de commande
  Syntaxe d’une commande shell
Syntaxe :
commande [ -options ] [ arguments ]
Exemple :
Prompt
[granouil@bioinfo-musclor Data]$
!
!
Le shell : invite de commande et ligne de commande
  Syntaxe d’une commande shell
Syntaxe :
commande [ -options ] [ arguments ]
Exemple :
Prompt
[granouil@bioinfo-musclor Data]$
!
nom de l’utilisateur
!
nom de la machine
Répertoire courant
Le shell : invite de commande et ligne de commande
  Syntaxe d’une commande shell
Syntaxe :
commande [ -options ] [ arguments ]
Exemples :
Prompt
[granouil@bioinfo-musclor Data]$
!
!
pwd
Commande
Le shell : invite de commande et ligne de commande
  Syntaxe d’une commande shell
Syntaxe :
commande [ -options ] [ arguments ]
Exemples :
Prompt
Résultat de
la commande
[granouiil@bioinfo-musclor Data]$
/home/granouill/Data
[granouil@bioinfo-musclor Data]$
! !
pwd
Commande
Quelques commandes
  Focus : la commande à ne pas oublier man (pour manuel)
$man ls
!
!
!
  Quelques commandes
date !
who
!
whoami!
cal! !
uname !
id ! !
su ! !
exit !
!
!
!
!
!
!
!
!
!affiche la date et l’heure système ! !
!affiche la liste des utilisateurs connectés
!affiche le compte sous lequel on est connecté
!affiche un calendrier
!affiche le nom du système et la version
!affiche l’identité de l’utilisateur !
!permet de changer l’identité/login!
!met fin à une session shell !
TP1 : première utilisation du terminal
 
Booter sur la clé pour charger le système d’exploitation biolinux (http://
nebc.nerc.ac.uk/tools/bio-linux/bio-linux-6.0)
 
Ouvrir une console à partir de laquelle vous allez pouvoir lancer les premières
lignes de commandes.
 
Dans quel répertoire, la session s’ouvre t elle (prompt)? Le prompt est il structuré
de la même manière que sur le serveur bioinfo-musclor [granouil@bioinfomusclor ]$
 
Vérifier avec la commande pwd le nom de votre répertoire de travail
 
Quel est le nom de l’OS sous lequel vous travaillez? Quelle est la version du
noyau?
 
Afficher l’aide de la commande cal
 
Tester quelques commandes vues dans la diapo précédente (ex : commande
whoami et date)
L’arborescence de fichiers
  Les principaux répertoires
/
bin
/ ! ! !
/bin ! !
/etc ! !
/lib ! !
/sbin ! !
/usr, /opt!
/usr/bin !
/var !
/tmp !
/home ! !
etc
lib
sbin
usr
home
!Répertoire racine (root)
!
!Principales commandes, shell
!Fichiers de configuration du système
!Bibliothèques !
!Commandes d’administration
!Application, bibliothèque liés aux utilisateurs
!Autres commandes !!
Journaux de bord
Fichiers temporaires
!Répertoires des utilisateurs (un répertoire par utilisateur = login)
L’arborescence de fichiers
/
bin
etc
lib
sbin
usr
home
granouill
Script
blast.pl
  Chemin absolu : part de la racine et commence par /
tranchan
Data
Sequences.fasta
L’arborescence de fichiers : chemin absolu
/
bin
etc
lib
sbin
usr
home
granouill
Script
blast.pl
  Chemin absolu : part de la racine et commence par /
Exemples :
tranchan
Data
Sequences.fasta
L’arborescence de fichiers : chemin absolu
/
bin
etc
lib
sbin
usr
home
granouill
Script
blast.pl
Data
Sequences.fasta
  Chemin absolu : part de la racine et commence par /
Exemples :
Fichier
Sequences.fasta
tranchan
Chemin absolu
/home/granouill/Data/sequences.fasta
L’arborescence de fichiers : chemin absolu
/
bin
etc
lib
sbin
usr
home
granouill
Script
blast.pl
Data
Sequences.fasta
  Chemin absolu : part de la racine et commence par /
Exemples :
Fichier
tranchan
Chemin absolu
sequences.fasta
/home/granouill/Data/sequences.fasta
blast.pl
/home/granouill/Script/blast.pl
L’arborescence de fichiers : chemin relatif
/
bin
etc
lib
sbin
usr
home
granouill
Script
blast.pl
tranchan
Data
Sequences.fasta
  Chemin relatif : indique l’emplacement du fichier à partir du répertoire courant
Répertoire courant
Chemin relatif
Data
Sequences.fasta
L’arborescence de fichiers : chemin relatif
/
bin
etc
lib
sbin
usr
home
granouill
Script
blast.pl
tranchan
Data
Sequences.fasta
  Chemin relatif : indique l’emplacement du fichier à partir du répertoire courant
Répertoire courant
Chemin relatif
Data
Sequences.fasta
Data
./sequences.fasta
L’arborescence de fichiers : chemin relatif
/
bin
etc
lib
sbin
usr
home
granouill
Script
blast.pl
tranchan
Data
Sequences.fasta
  Chemin relatif : indique l’emplacement du fichier à partir du répertoire courant
Répertoire courant
Chemin relatif
Data
Sequences.fasta
Data
./sequences.fasta
Granouill
Data/sequences.fasta
L’arborescence de fichiers : chemin relatif
/
bin
etc
lib
sbin
usr
home
granouill
Script
blast.pl
tranchan
Data
Sequences.fasta
  Chemin relatif : indique l’emplacement du fichier à partir du répertoire courant
Répertoire courant
Chemin relatif
Data
Sequences.fasta
Data
./sequences.fasta
Granouill
Data/sequences.fasta
Script
L’arborescence de fichiers : chemin relatif
/
bin
etc
lib
sbin
usr
home
granouill
Script
blast.pl
tranchan
Data
Sequences.fasta
  Chemin relatif : indique l’emplacement du fichier à partir du répertoire courant
Répertoire courant
Chemin relatif
Data
Sequences.fasta
Data
./sequences.fasta
Granouill
Data/sequences.fasta
Script
../Data/sequences.fasta
Pour se déplacer dans l’arborescence
  Focus : la commande cd (Change Directory)
$cd nom_du_répertoire(chemin absolu ou relatif) !
! ! !
Répertoire d’arrivée
Chemin absolu
Data
cd /home/granouill/Data
Script
cd /home/granouill/Script/
Répertoire courant
Répertoire d’arrivée
Chemin relatif
granouill
Data
cd data
Data
granouill
cd ..
Data
home
cd ../..
Data
granouill
cd ~
Remonte d’un
dossier
Remonte de 2
dossiers
Pour aller au
répertoire
d’accueil
Quelques commandes
  Gestion de fichiers et de répertoire
pwd
! ! !
ls nom_rep !
cd nom_rep !
mkdir nom_rep
!
rmdir !nom_rep
rm –r nom_rep
!
!
!
!
!
!
!
Nom du répertoire de travail
!Lister le contenu d’un répertoire
!Change de répertoire de travail
!Crée un répertoire
!Détruit le répertoire
!Détruit le répertoire et tous les fichiers qu’il contient
(A utiliser avec prudence)
cp source cible !
!
!
!copier source vers cible
mv ancien-nom nouveau-nom!
!changer le nom d un fichier
TP
 
 
 
TP1 : http://bioinfo.mpl.ird.fr (lien trainings)
Exercice 1 :Se déplacer dans l’arborescence système en
utilisant les
Exercice 2 : mkdir, mv, cp, ls, cd
Les attributs des fichiers
  Focus : la commande ls -l
Syntaxe :
$ ls –l nom_fichier
-rwxrw-r–- 1 granouill bioinfo 153 Jul 23 20:21 nom_fichier
Droits
Type
Propriétaire
group
-  : fichier ordinaire
d : répertoire
l : les liens.
c ou b : fichiers spéciaux associés
aux périphériques (/dev)
taille
Date et heure
de la dernière
modification
Les droits des fichiers
Droits
-rwxrw-r–- 1 granouill bioinfo 153 Jul 23 20:21 nom_fichier
other
group
user
3 classes
  3 types de droits :
Droits
Fichier
Répertoire
Read r
Ouvrir et lire
Lister les fichiers et les copier
Write w
Modifier et supprimer un fichier
Manipuler son contenu : créer, copier,
déplacer ou détruire son contenu
Execution x
Exécuter le fichier comme une
commande
Accéder aux fichiers
Les droits des fichiers
  Focus : la commande chmod pour gérer les droits
Syntaxe :
$ chmod <classe op perm> nom_fichier
Chaque permission = 1 valeur
Classe
u : user
g : group
o : other
a : all (u+g+o)
+ : ajouter droits
-  : supprimer droits
= : affecter droits
r
w
x
R
4
W
2
X
1
rien
0
Exemple
chmod u=rwx, g=rx, o=x seq.fasta # Owner=rwx Group=r-x Other=--x
chmod a+x script.sh
# Owner=rwx Group=r-x Other=--x
chmod 755 script.sh
TP
 
Exercice 3 : les droits : ls, chmod
Les attributs des fichiers
  Focus : la commande ls -l
Syntaxe :
$ ls –l nom_fichier
-rwxrw-r–- 1 granouill bioinfo 153 Jul 23 20:21 nom_fichier
Exemple :
Quelques options de la commande ls
ls avec options
Action
ls –l /home/granouill/Script/
Affiche les fichiers et leurs attributs (format long)
Quelques options de la commande ls
ls avec options
Action
ls –l /home/granouill/Script/
Affiche les fichiers et leurs attributs (format long)
ls –al /home/granouill/Script/
Affiche en plus les fichiers « cachés »
(nom commençant par un .)
Quelques options de la commande ls
ls avec options
Action
ls –l /home/granouill/Script/
Affiche les fichiers et leurs attributs (format long)
ls –al /home/granouill/Script/
Affiche en plus les fichiers « cachés »
(nom commençant par un .)
ls –t Script
Trie par date
Sous unix, possibilité d’exécuter la commande ls sur un ensemble de fichiers
dont on ne connaît pas le nom à l’aide de caractères spéciaux appelés
génériques
Caractères génériques
Caractère générique
Equivalence
?
Tout caractère seul
*
Toute chaîne de caractères
[ensemble]
Tout caractère dans ensemble
[!ensemble]
Tout caractère non dans ensemble
Caractères génériques
Caractère générique
Equivalence
?
Tout caractère seul
*
Toute chaîne de caractères
[ensemble]
Tout caractère dans ensemble
[!ensemble]
Tout caractère non dans ensemble
Exemple :
programme.c
programmes.pl
programme.log
fichier.contig
programme.o
Caractères génériques
Caractère générique
Equivalence
?
Tout caractère seul
*
Toute chaîne de caractères
[ensemble]
Tout caractère dans ensemble
[!ensemble]
Tout caractère non dans ensemble
Exemple :
programme.c
programmes.pl
ls programme.?
programme.log
fichier.contig
#programme.c programme.o
programme.o
Caractères génériques
Caractère générique
Equivalence
?
Tout caractère seul
*
Toute chaîne de caractères
[ensemble]
Tout caractère dans ensemble
[!ensemble]
Tout caractère non dans ensemble
Exemple :
programme.c
programmes.pl
programme.log
fichier.contig
programme.o
ls programme.?
#programme.c programme.o
ls programme*
#programme.c programme.log programme.o programmes.pl
Caractères génériques
Caractère générique
Equivalence
?
Tout caractère seul
*
Toute chaîne de caractères
[ensemble]
Tout caractère dans ensemble
[!ensemble]
Tout caractère non dans ensemble
Exemple :
programme.c
programmes.pl
programme.log
fichier.contig
programme.o
ls programme.?
#programme.c programme.o
ls programme*
#programme.c programme.log programme.o programmes.pl
ls *.c*
#programme.c fichier.contig
Caractères génériques
Caractère générique
Equivalence
?
Tout caractère seul
*
Toute chaîne de caractères
[ensemble]
Tout caractère dans ensemble
[!ensemble]
Tout caractère non dans ensemble
Exemple :
programme.c
programmes.pl
programme.log
fichier.contig
programme.o
ls programme.?
#programme.c programme.o
ls programme*
#programme.c programme.log programme.o programmes.pl
ls *.c*
#programme.c fichier.contig
ls programme.[co] #programme.c programme.o
Quelques commandes
  Gestion de fichiers et de répertoire
touch option nom-fichier !
ln –s source cible ! ! !
  éditeurs en ligne vi, nano
  éditeurs graphiques gedit, scite
!créer un nouveau fichier !
!créer un lien symbolique !
TP
 
Exercice 4 : touch, cp, ls, mv
 
Exercice 5 : rm, cd, rm
Pour visualiser des fichiers et filtrer les donnees
head!
Liste les n premières lignes du fichier
(par défaut 10 lignes)
head –n 20 script.pl
tail!
Liste les n dernières lignes du fichier
(par défaut 10 lignes)
Option –f
tail –n 5 script.pl
more!
Liste le contenu d'un fichier page par page
more script.pl
cat!
Liste le contenu du fichier
cat script.pl
less!
Liste le contenu du fichier page par page
(espace / b / q –N)
less script.pl
Pour visualiser des fichiers et filtrer les donnees
sort!
sort fichier
sort –k2n,2n fichier
sort –k2nr,2nr fichier
sort –k2n,2n –k1r,1r fichier
sort -t: -k3n,3n fichier
Trie les lignes du fichier
suivant l’ordre ASCII
cut!
cut -c(sélection_colonnes) [fichiers]
cut -c5-10 fichier
cut -d(séparateur) -f(sélection_champs)
[fichiers]
cut -d: -f1,5 /etc/passwd
Sélectionner des colonnes ou
champs d’un fichier
wc!
wc script.pl
wc –l script.pl
compter le nombre de ligne
d'un fichier, mais aussi le
nombre de mot ou de
caractères
tr!
tr [options] ch1 ch2 <fich1 >fich2
tr 'A-Z' 'a-z’ < fichier1
convertir une chaîne de
caractère en une autre de
taille égale
TP
 
Exercice 6 : more, cat, less
 
Exercice 7 : nano, cat, ls
 
Exercice 8 : Trouver un fichier : find, locate
 
Exercice 9 : sort, cut, wc, tr, split
Le shell : entrée-sorties standard
  Lors de l’exécution d’une commande, un processus est créé qui va
ouvrir 3 flux :
Entrée standard dans
lequel le ps va lire les
données
STDIN
Sortie standard dans
lequel le ps va écrire
les données
Processus
STDOUT
Erreur standard dans
lequel le ps va écrire les
messages d’erreur
  Rediriger l’entrée et la sortie afin qu’elles se fassent depuis ou vers un
fichier
Le shell : entrée-sorties standard
$cut -d: -f1 /etc/passwd > nom_user.liste
Redirection
Action
Commande1 > fichier
Redirige la sortie de la commande vers un fichier dont
le contenu est effacé si ce fichier existe déjà
Commande2 >> fichier
Redirige la sortie de la commande vers un fichier en
l’ajoutant à la fin du fichier s’il existe déjà
Commande1 < fichier
Redirige l’entrée standard d’une commande (un fichier)
Commande1 < fichier > fichier
Possibilité de rediriger les entrées et les sorties en
même temps
Le shell : tubes de redirection
  Possible de connecter les programmes l’un à l’autre sous forme de tube
ou pipeline
  Diriger la sortie d’une commande vers l’entrée standard d’une autre
commande à la place d’un fichier
  Opérateur |
Le shell : tubes de redirection
$cut -d: -f1 /etc/passwd
Root
troot
iroot
ctroot
//
$cut -d: -f1 /etc/passwd | sort
$cut -d: -f1 /etc/passwd | sort | head
abate
adm
adroot
ais
#albar
alvaro-wis
anthony
apache
Le shell : caractères spéciaux &
 & (esperluète) : exécute une commande en arrière-plan en ajoutant un & à la fin de la
ligne de commande. L'usager peut taper d'autres commandes, fermer sa session sur un
serveur distant
blastall –d nr –i est.fasta –p blastx &
top!
!
!
!
!affiche en continu les processus actifs et !
!l'état de la mémoire!
ps !
!
!affiche les tâches éxécutées !!
Kill
pour arrêter ces mêmes tâches !
Le shell : Caractères spéciaux
Caractère
Signification
~
Répertoire d’accueil
#
Commentaire
$
Variable
&
Job d’arrière plan
>
Redirection de la sortie
<
Redirection de l’entrée
/
Séparateur de répertoire dans les
chemins
Autres caractères spéciaux: * ? ( ) { } [] ; ‘ ’ !
TP
 
Exercice 10 : Processus et Processeurs (ps, top, kill)
 
Exercice 11 : Redirection et pipe
Recherche de ligne dans un fichier : Grep
La commande grep permet de rechercher une chaîne de caractères dans un fichier
Syntaxe : grep [options] motif_cherche [fichier1 …]
Exemple : grep “AC109“ sequence.fasta
Option
Description
-l
Affichage uniquement des noms des fichiers contenant la chaîne
recherchée. Les lignes ne sont pas affichées
-c
affichage du nombre de lignes trouvées sans affichage de ces
lignes.
-n
Précéder chaque ligne contenant la chaîne recherchée de son
numéro dans le fichier d'entrée.
-s
Les messages d'erreur ne seront pas affichées.
-i
Ne fait pas la différence entre majuscule et minuscule.
-v
Affiche toutes les lignes qui ne contiennent pas le mot en question.
Grep : Expression régulière
Les métacaractères les plus simples et les plus utilisés
Métacaractère
Description
.
Un caractère quelconque y compris l’espace
x*
Zéro ou plusieurs occurrences du caractère x
x+
Une ou plusieurs occurrences du caractère x
x?
Une occurrence unique du caractère x
^…
Début d’une ligne de texte
…$
Fin d’une ligne de texte
[A-Z ]
N’importe quel caractère se trouvant dans la liste entre [ ]
[^A]
N’importe quel caractère à l’exception de ceux se trouvant
dans la liste entre [ ]
\{n\}
Pour définir le nombre de répétition n du caractère placé
devant
Quelques exemples de recherche de mot avec Grep
Exemple
Description
grep malloc *.c
cherche la chaine de caractères malloc dans tous les
fichiers dont le nom se termine par .c (*.c).
Quelques exemples de recherche de mot avec Grep
Exemple
Description
grep malloc *.c
cherche la chaine de caractères malloc dans tous les
fichiers dont le nom se termine par .c (*.c).
grep –c “^>[AC]*
Compte le nombre de séquence commençant par A ou C
Quelques exemples de recherche de mot avec Grep
Exemple
Description
grep malloc *.c
cherche la chaine de caractères malloc dans tous les
fichiers dont le nom se termine par .c (*.c).
grep –c “^>[AC]*
Compte le nombre de séquence commençant par A ou C
ls -1 | grep ^a | wc -l
Tous les fichiers commençant par a
Quelques exemples de recherche de mot avec Grep
Exemple
Description
grep malloc *.c
cherche la chaine de caractères malloc dans tous les
fichiers dont le nom se termine par .c (*.c).
grep –c “^>[AC]*
Compte le nombre de séquence commençant par A ou C
ls -1 | grep ^a | wc -l
Tous les fichiers commençant par a
grep ^[a-d] carnetadresse.txt
On va obtenir tous les lignes commençant par les
caractères compris entre a et d
TP
 
Exercice 12 : commande grep
Recherche et modification de ligne : Sed
sélectionne les lignes d'un fichier texte (ou d'un flot provenant d'un pipe)
vérifiant une expression régulière et leur applique un traitement ou un
remplacement
Syntaxe :
!sed [-n] [-e script] [-f fichier-commandes] fichier-source!
Exemple :
Option
Description
-n
écrit seulement les lignes spécifiées sur la sortie standard
-e
permet de spécifier les commandes à appliquer sur le fichier. Cette
option est utile lorsque vous appliquez plusieurs commandes. Afin
d’éviter que le shell interprète certains caractères, il faut mieux
encadrer la commande avec des ' ou des « .
-f
les commandes sont lu à partir d'un fichier.
Quelques exemples avec sed
Exemple
Description
sed "s/linux/LINUX/" fichier*
change la 1ère occurrence rencontrée de la
chaîne linux par LINUX
sed "s/linux/LINUX/3“ fichier
change la 3ème occurrence rencontrée de la
chaîne linux par LINUX
sed "s/linux/LINUX/g“ fichier
change toutes les occurences de la chaîne linux
par LINUX
sed "s/[Ll]inux/LINUX/g" fichier
change toutes les occurences de la chaîne linux
ou Linux par LINUX
Quelques exemples avec sed
  Explication
sed "s/motif_cherche/nouveau_motif/" fichier
substitution
Motif recherché
Motif de remplacement
Fichier traité
Quelques exemples avec sed
  Explication
sed "s/[0-9][0-9]*/nouveau_motif/" fichier
Motif recherché : une chaîne de caractère débutant par un
chiffre suivi d’aucun ou plusieurs chiffres
Quelques exemples avec sed
  Explication
sed "s/\([0-9][0-9]*\)/nouveau_motif/" fichier
Sélection de la chaîne de caractère répondant au motif
recherché
=> Chaîne de caractères stockées dans la variable \1
Quelques exemples avec sed
  Explication
sed "s/\([0-9][0-9]*\)/**\1**/" fichier
variable \1
=> encadre le premier nombre de la ligne avec des **
Quelques exemples avec sed
Exemple
Description
sed "s/linux/LINUX/" fichier*
change la 1ère occurrence rencontrée de la
chaîne linux par LINUX
sed "s/linux/LINUX/3“ fichier
change la 3ème occurrence rencontrée de la
chaîne linux par LINUX
sed "s/linux/LINUX/g“ fichier
change toutes les occurences de la chaîne
linux par LINUX
sed "s/[Ll]inux/LINUX/g" fichier
change toutes les occurences de la chaîne
linux ou Linux par LINUX
sed "s/\([0-9][0-9]*\)/**\1**/" fichier
encadre le premier nombre de la ligne avec
des **
sed s/\>/\>VS1-/g seq.fasta > new_seq.fasta
insère VS
sed s/\|/-/g contigs_m_f_specif.fasta
Substitue | par -
TP : elle sera testée dans le TP2
Recherche et modification de ligne : awk
Langage de gestion ligne à ligne de fichiers
Syntaxe :
!awk [-F] [-v variable] [-f fichier de commandes] 'program' fichier!
Exemple :…
Option
Description
-F
Spécifie les séparateurs de champs
-v
Définie une variable utilisée à l'intérieur du programme.
-f
Les commandes sont lu à partir d'un fichier.
awk : fichier repertoire.in
Helene
56
edu
[email protected]
jean
32
ri
[email protected]
julie
22
adm
[email protected]
michel
24
inf
[email protected]
richard
25
inf
[email protected]
awk : fichier repertoire.in
Helene
56
edu
[email protected]
jean
32
ri
[email protected]
julie
22
adm
[email protected]
michel
24
inf
[email protected]
richard
25
inf
[email protected]
Les variables prédéfinies
Variable
Description
Valeur
$0
Une ligne/entrée
FS
Séparateur de champs
FS=“ “
NF
Nombre de champs
NF=4
NR
Nombre de lignes
NR=5
awk : Expression régulière
$awk '{print $0}’ awk.in
Helene 56 edu [email protected]
jean 32 ri [email protected]
julie 22 adm [email protected]
michel 24 inf [email protected]
richard 25 inf [email protected] !
!
awk : Expression régulière
$awk '{print NR,$1,$4}’ awk.in
1 Helene [email protected]
2 jean [email protected]
3 julie [email protected]
4 michel [email protected]
5 richard [email protected]
!
awk : Expression régulière
$awk '{print NF,$1,$3}’ awk.in
4 Helene edu
4 jean ri
4 julie adm
4 michel inf
4 richard inf
!
awk : Expression régulière
Langage de programmation aussi avec suite d’instructions
awk 'Programme' Fichier-1 Fichier-2 ..... Fichier-n
Programme est une suite d’instructions dont la forme générale est :
Condition {Instr-1; Instr-2; ...; Instr-n}
$$awk '{if($2>24) print « L age d », $1, « est superieur a 24
et est egal a »,
$2}'
L age d Helene est superieur a 24 et egal a 56
L age d jean est superieur a 24 et egal a 32
L age d richard est superieur a 24 et egal a 25
awk : Expression régulière
$awk ’$3 == “inf" {print $0}' ’ awk.in
michel 24 inf [email protected]
richard 25 inf [email protected]
$awk ’/j/ {print $0}' ’ awk.in
jean 32 ri [email protected]
julie 22 adm [email protected]
awk : Expression régulière
$awk ’ {print $1,$2-10} ’ awk.in
Helene 46
Jean 12
Julie 12
Michel 14
Richard 15
!
$awk ’ $2 > 30 && $3 == “ri" {print $0} ’ awk.in
jean 32 ri [email protected]
!
TP
 
 
Exercice 13 : commande awk
Puis commencez le TP2 (http://bioinfo.mpl.ird.fr (lien
trainings))!
Téléchargement