0% ont trouvé ce document utile (0 vote)
14 vues123 pages

Formation Bioinformatique à Thiès 2018

Transféré par

Amina Dribigi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
14 vues123 pages

Formation Bioinformatique à Thiès 2018

Transféré par

Amina Dribigi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Analyse de données de

séquençage haut débit


Formation bioinformatique
Thiès - Sénégal, 4 au 12 Octobre 2018
Programme de la formation

1er au 3 octobre Installation du cluster de CERAAS &


Bertrand, Ndomassi formation à l’installation/
administration de cluster

4 octobre Introduction à linux et aux


Bertrand, Ndomassi
Christine
lignes de commandes

5 octobre (matin) Initiation à l’utilisation du


Bertrand, Ndomassi
Christine
cluster bioinformatique du
CERAAS
2
Programme de la formation

Lundi 8 octobre • Présentation des technologies de séquençages


François, Christine,
Ndomassi
• Quelques cas d’utilisation
• Manipulations avancées de données sous linux
• 1ère analyses de données de séquençage

Mardi 9 octobre • Introduction aux gestionnaires de workflow


François, Christine
Manuel, Gautier
TOGGLe & Galaxy
• Mapping (TOGGLe)
• Détection de SNPs (TOGGLe)

3
Programme de la formation

Mercredi 10 oct. • Détection de SNP (filtres, annotation)


François, Christine
Manuel, Gautier
• Détection de variants structuraux
• Post analyse de données SNPs sous Galaxy

Jeudi 11 octobre • Post analyse de données SNPs sous Galaxy


Manuel, Gautier
• Visualisation de variants structuraux sous Galaxy

Vendredi 12 oct. • Questions & discussions


François, Christine
Manuel, Gautier
4
[Link] [Link]

[Link]/trainings/
[Link]/tutorials/
7
Guide de survie à Linux
Thiès - Sénégal, 4 au 12 Octobre 2018

Christine Tranchant – [Link]@[Link]


Ndomassi Tando – [Link]@[Link]
Bertrand Pitollat – [Link]@[Link]
Objectifs du module

The objectif!
Lancez vos analyses sous Linux !

Après ce module, vous serez capable de :


• Connaître les principales commandes Linux
• Se déplacer dans l’arborescence de fichier : pwd, ls, cd, mkdir etc.
• Se connecter à un serveur, transférer les données : ssh, scp, wget
• Manipuler des fichiers : head, tail, sort, cut, wc
• Lancer des logiciels en ligne de commande
Introduction
Qu’est ce Linux?

▪ Système d’exploitation réputé pour :


sa sécurité
ses mises à jour fréquentes
son prix et ses programmes gratuits

▪ Créé en 1991 par Linus Torvalds

▪ Basé sur l’OS propriétaire Unix (1969)

▪ Code source de linux gratuit et libre : copier, modifier, redistribuer


Qu’est ce Linux?

▪ OS robuste et multi-plateforme
(ordinateur, serveur, android…)

▪ Système multi-utilisateurs
Plusieurs utilisateurs peuvent travailler en même temps

▪ Système multi-tâches (processus/programmes)


Chaque utilisateur peut lancer plusieurs programmes en même temps
Distribution sous Linux

SOFTWARES

SHELL

Distribution : Noyau/Coeur + logiciels/programmes


KERNEL
Comment utiliser Linux?

▪ 2 façons d’utiliser linux :

en mode graphique
Comment utiliser Linux?

▪ 2 façons d’utiliser linux :

en mode graphique

en mode console (terminal)


Pourquoi utiliser Linux ?

▪ Nombreux programmes rapides & puissants

▪ Facile de lier des commandes/programmes entre eux


(workflow)

▪ Nombreux outils bioinformatique disponibles

▪ Pas besoin de ressources matérielles importantes

▪ 90% des serveurs fonctionnent sous Linux


Pourquoi utiliser Linux ?

▪ Nombreux programmes rapides & puissants

▪ Facile de lier des commandes/programmes entre eux


(workflow)

▪ Nombreux outils bioinformatique disponibles

▪ Pas besoin de ressources matérielles importantes

▪ 90% des serveurs fonctionnent sous Linux

Pas d’interfaces
graphiques
Convivialité de la ligne
de commande ?
Pourquoi utiliser Linux ?

Nécessité de la pratique et de l’expérience

⬄ Investissement non négligeable pour de bons résultats


rapidement
Environnement de travail
Comment copier un fichier de son PC sur
le serveur ?
Copier un fichier de son PC sur le serveur ?

▪ En se connectant sur un serveur linux distant de son


portable windows ou mac via le protocole sftp

[Link]
Copier un fichier de son PC sur le serveur ?

▪ En se connectant sur un serveur linux distant de son


portable windows ou mac via le protocole sftp

[Link]

sftp
Practice
filezilla, sftp

Go to Practice 1 on our github


1
Environnement de travail
Comment travailler sur le serveur ?
Comment travailler sur le serveur ?

▪ En se connectant sur un serveur linux distant de son


portable windows ou mac via le protocole ssh

[Link]
Comment travailler sur le serveur ?

▪ En se connectant sur un serveur linux distant de son


portable windows ou mac via le protocole ssh

[Link]

ssh
Practice
putty,
terminal, ssh

Go to Practice 2 on our github


2
Premiers Pas sur Linux
Se déplacer dans l’arborescence de fichiers et
manipuler des fichiers/répertoires
Invite / Prompt

Toujours présent sur le terminal, juste avant de taper la commande

Prompt [ ]
Invite / Prompt

Toujours présent sur le terminal, juste avant de taper la commande

Prompt [ ]

Nom Répertoire
Nom
utilisateur courant
serveur
Syntaxe d’une commande

commande [ -options ] [ arguments ]


1ère commande pwd

pwd affiche nom du répertoire courant (et son


Present Work Directory chemin complet)

Commande
Affiche le nom du sans options et
répertoire courant sans argument
2ème commande ls

ls liste fichiers & répertoires présents dans le


list répertoire courant

Liste des fichiers du répertoire Commande


courant (par défaut) sans options et
sans argument
2eme commande linux + option ls -l

ls -l liste les fichiers avec des informations pour


list long chaque fichier/répertoire

Commande avec l’option -l et le nom


d’un répertoire en argument

liste détaillée des


fichiers
Quelques commandes de base

Comment obtenir de l’aide sur une commande?

▪ avec l’option --help ou -h ls --help blastn -h

▪ avec la commande man man ls


Quelques commandes de base

Arborescence linux
pwd Affiche le chemin absolu
ls Liste tous les fichiers/répertoires
ls –l Affiche toutes les informations sur les fichiers
Practice
prompt, pwd

Go to Practice 3 on our github


3
Arborescence sous linux

▪ Arborescence = système de fichiers

▪ Répertoire racine appelé “/”


Répertoire racine
(slash)
/

bin etc lib usr home


Quelques commandes pour commencer
Principaux répertoires

répertoire Root (slash)

bin etc lib usr home

/bin commandes principales


/usr, /opt Applications et librairies
/usr/bin Autres commandes
/home répertoire des utilisateurs (1 par utilisateur/login)
Chemin d’un fichier

Chemin (path) : chemin d’accès à un fichier/répertoire


Chemin d’un fichier

Chemin (path) : chemin d’accès à un fichier/répertoire

absolu

▪ chemin complet du fichier en


partant du répertoire racine /
Chemin d’un fichier

Chemin (path) : chemin d’accès à un fichier/répertoire

absolu

▪ chemin complet du fichier en


partant du répertoire racine /

▪ commence toujours par /

▪ toujours correct, peut importe


où on l’on travaille

-
Chemin d’un fichier

Chemin (path) : chemin d’accès à un fichier/répertoire

absolu relatif

▪ chemin complet du fichier en ▪ chemin défini par rapport où


partant du répertoire racine / on est dans l’arborescence

▪ commence toujours par /

▪ toujours correct peut importe


où on l’on travaille

-
Chemin d’un fichier

Chemin (path) : chemin d’accès à un fichier/répertoire

absolu relatif

▪ chemin complet du fichier en ▪ chemin défini par rapport où


partant du répertoire racine / on est dans l’arborescence

▪ commence toujours par / ▪ ne commence jamais par /

▪ toujours correct peut importe ▪ change selon on l’on travaille


où on l’on travaille

-
Chemin absolu

▪ Commence toujours par / (le répertoire racine)


▪ Toujours correct peu importe où on l’on travaille

bin etc lib sbin usr home

granouill tranchant

script data

[Link] fasta

Chemin absolu du fichier [Link]


[Link]
Chemin absolu

▪ Commence toujours par / (le répertoire racine)


▪ Toujours correct peu importe où on l’on travaille

bin etc lib sbin usr home

granouill tranchant

script data

[Link] fasta

Chemin absolu du fichier [Link]


[Link]
/home/granouill/data/fasta/[Link]
Chemin absolu

▪ Commence toujours par / (le répertoire racine)


▪ Toujours correct peu importe où on l’on travaille

bin etc lib sbin usr home

granouill tranchant

script data

[Link] fasta

Chemin absolu du répertoire script


[Link]
Chemin absolu

▪ Commence toujours par / (le répertoire racine)


▪ Toujours correct peu importe où on l’on travaille

bin etc lib sbin usr home

granouill tranchant

script data

[Link] fasta

Chemin absolu du répertoire script


[Link]
/home/granouill/data/script
Chemin relatif

▪ Défini par rapport où on est dans l’arborescence


▪ Ne commence jamais par /

bin etc lib sbin usr home

granouill tranchant

script data
On est dans le répertoire data
[Link] fasta

Chemin relatif du ficher [Link]


[Link]
Chemin relatif

▪ Défini par rapport où on est dans l’arborescence


▪ Ne commence jamais par /

bin etc lib sbin usr home

granouill tranchant

script data
On est dans le répertoire data
[Link] fasta

Chemin relatif du ficher [Link]


[Link]
fasta/[Link]
Chemin relatif

▪ Défini par rapport où on est dans l’arborescence


▪ Ne commence jamais par /

bin etc lib sbin usr home

granouill tranchant

script data
On est dans le répertoire
fasta [Link] fasta

Chemin relatif du ficher [Link]


[Link]
Chemin relatif

▪ Défini par rapport où on est dans l’arborescence


▪ Ne commence jamais par /

bin etc lib sbin usr home

granouill tranchant

script data
On est dans le répertoire
fasta [Link] fasta

Chemin relatif du ficher [Link]


[Link]
[Link]
Chemin relatif

▪ Défini par rapport où on est dans l’arborescence


▪ Ne commence jamais par /

bin etc lib sbin usr home

granouill tranchant

script data
On est dans le répertoire script
[Link] fasta

Chemin relatif du ficher [Link] [Link]


Chemin relatif

▪ Défini par rapport où on est dans l’arborescence


▪ Ne commence jamais par /

bin etc lib sbin usr home

granouill tranchant

script data
On est dans le répertoire script
[Link] fasta

Chemin relatif du ficher [Link] [Link]


../data/fasta/[Link]
Practice
ls

Go to Practice 4 on our github


4
Raccourcis clavier bien pratiques

Interagir avec les processus


<Ctrl> + C Arrêter le processus en cours sous le terminal
<Ctrl> + Z

Tab completion
<Tab> Complète automatiquement le nom d’un
fichier/ répertoire qui est en cours de saisie (fichier
unique)
<Tab><Tab> Affiche la liste des différentes possibilités si le
choix n'est pas unique
Raccourcis clavier bien pratiques

Intéragir avec l’historique de commandes

Flèche bas/haut - Afficher la commande précédente/suivante


- Presser plusieurs fois pour naviguer dans
l’historique

<Ctrl> + R - Afficher la dernière commande qui contient


les caractères saisis.
- Presser les touches et commencer à taper la
commande recherchée
Règles pour les noms de fichier/répertoire
les fichiers

▪ Linux est sensible à la case


[Link] [Link] [Link]

▪ Utiliser uniquement des lettres, chiffres et caractères _ . –

▪ PAS d’espaces, accents et caractères spéciaux


&~#” '{([|`\^@)]}$*%!/;,?

▪ Le suffixe des noms de fichiers (.txt, . fasta, .fa, .fq etc.) est optionnel
Travailler avec les “jokers”

Métacaractères : *, [ ]
Qu’est ce un caractère “joker” ?

C’est un caractère qui peut être utilisé comme subtiitut de


plusieurs caractères ou classes de caractère dans une recherche

Peut être utilisé avec de nombreuses commandes linux


Comment utiliser les “jokers” ?

* N’importe quel caractère ou chaîne de caractères

[Link] [Link] [Link] [Link]


[Link] [Link] [Link] [Link]
Comment utiliser les “wildcards” ?

* N’importe quel caractère ou chaîne de caractère

[Link] [Link] [Link] [Link]


[Link] [Link] [Link] [Link]

ls *fastq
Signification des caractères spéciaux * [ ]

* N’importe quel caractère ou chaîne de caractère

[Link] [Link] [Link] [Link]


[Link] [Link] [Link] [Link]

ls *fastq

[Link] [Link] [Link]


[Link] [Link]
Comment utiliser les “jokers” ?

* N’importe quel caractère ou chaîne de caractère

[Link] [Link] [Link] [Link]


[Link] [Link] [Link] [Link]

ls KYVF*fastq
Comment utiliser les “jokers” ?

* N’importe quel caractère ou chaîne de caractère

[Link] [Link] [Link] [Link]


[Link] [Link] [Link] [Link]

ls KYVF*fastq

[Link] [Link]
[Link] [Link]
Comment utiliser les “jokers” ?

* N’importe quel caractère ou chaîne de caractères


[] Tous les caractères entre crochets

[Link] [Link] [Link] [Link]


[Link] [Link] [Link] [Link]

ls *.[sb]am
Comment utiliser les “jokers” ?

* N’importe quel caractère ou chaîne de caractère


[] Tous les caractères entre crochets

[Link] [Link] [Link] [Link]


[Link] [Link] [Link] [Link]

ls *.[sb]am = ls *.[!f]*
[Link] [Link]
[Link]
Practice
ls, *

Go to Practice 5 on our github


5
Commandes relative à
l’arborescence de fichiers
commande cd
Commande cd

cd pour se déplacer dans l’arborescence


Change Directory

cd nom_repertoire(chemin absolu ou relatif)


Commande cd
/
cd nom_repertoire(chemin absolu ou relatif)
home

granouill
Chemin absolu :
script data

[Link] fasta

[Link]
Commande cd
/
cd nom_repertoire(chemin absolu ou relatif)
home

granouill
Chemin absolu :
script data
cd /home/granouill/data/fasta
[Link] fasta

[Link]
Commande cd
/
cd nom_repertoire(chemin absolu ou relatif)
home

granouill
Chemin absolu :
script data

[Link] fasta

[Link]
Commande cd
/
cd nom_repertoire(chemin absolu ou relatif)
home

granouill
Chemin absolu :
script data
cd /home/granouill/script/
[Link] fasta

[Link]
Commande cd
/
cd nom_repertoire(chemin absolu ou relatif)
home

granouill

script data

[Link] fasta
Chemin relatif :
[Link]

Commande Se déplace dans


cd directory_name directory_name Retour au répertoire de
l’utilisateur courant home
cd home directory
cd .. le répertoire parent Remonte d’1 répertoire
cd ../.. ?
Remonte de 2 répertoires
Quelques commandes pour commencer

Arborescence linux
pwd Affiche le chemin absolu
ls Liste tous les fichiers/répertoires
cd rep_name Se déplace dans rep_name

mkdir rep_name Crée un répertoire


rm nom_fichier Supprime un fichier

cp fichier_source repertoire_cible Copie un fichier dans un répertoire


cp fichier_source nouveau_fichier Copie un fichier sous un nouveau nom
Practice
pwd, cd, ls

Go to Practice 6 on our github


6
Practice
mkdir, mv, ls, cp, rm

Go to Practice 7 on our github


7
Des commandes pour éditer
des fichiers et les manipuler
Commande cat

cat nom_fichier Affiche le contenu d’un fichier sans pagination


Commande less

less nom_fichier Affiche le contenu d’un fichier


<space> pour défiler
q pour quitter
/ suivi par le mot

less Data/Fasta/[Link]
Autres commandes utiles

head Affiche les premières lignes d’un fichier head –n 20 [Link]


(n=10, 10 lignes par défaut)

tail affiche les dernières lignes d’un fichier tail –n 5 [Link]


(n=10 par défaut)

wc Compter le nombre de lignes, mots ou wc [Link]


caractères d’un fichier wc –l [Link]
Practice
ls, head, tail, wc

Go to Practice 8 on our github


8
Commande grep

grep pour rechercher un motif dans une ligne

grep [options] motif [file1, … ]

Pour rechercher un motif, le mettre entre simple/double quote


=> ex : ‘gene’ ou « gene »
Commande grep

grep pour rechercher un motif dans une ligne

grep [options] motif [file1, … ]

Option Description

-i Recherche le motif sans tenir compte de la casse


-c Compte le nombre de lignes dans lesquelles le motif a été trouvées

-v Affiche seulement les lignes sans le motif


-l Affiche uniquement les noms de fichiers dans lesquels le motif a été
trouvé
Practice
wget, grep

Go to Practice 9 on our github


9
Commande sort
sort Trier une ou plusieurs colonnes d’un fichier tabulé

sort –k2 fileName sur la colonne 2 (tri alphanumérique)


sort –k2r fileName sur la colonne 2, décroissant
sort –k2g –k1r fileName sur la colonne 2 et 1

sort -t: -k3g fileName sur la colonne 3 (nombre), le délimitateur de


colonne est :
Commande cut
cut Sélection de colonnes/champs d’un fichier

cut -d separateurColonne -f fieldNumber fileName

cut –d “:” -f1,5 /etc/passwd

Sélection des champs 1 et 5 dans un fichier tabulé


dont les colonnes sont séparées par un :
Practice
makeblastdb, blastn
head, tail, wc, sort, cut

Go to Practice 10 on our github


10
Les entrées / sorties
pour sauvegarder la sortie d’une
commande dans un fichier
Ecrire la sortie d’une commande dans un fichier

La sortie d’une commande peut être écrite


Redirection
Action
dans un fichier avec les caractères :

>

>>

cut -d: -f1 /etc/passwd > [Link]


Ecrire la sortie d’une commande dans un fichier

cut -d: -f1 /etc/passwd > [Link]

Redirection Action

Command > file


● si le fichier n’existe pas : il sera créé
● si le fichier existe : efface le contenu

Command >> file


● si le fichier n’existe pas : il sera créé
● si le fichier existe : écrit à la fin du fichier
Practice

Go to Practice 11 on our github


2
Connecter des commandes ensemble

• La sortie d’une 1ère commande peut être envoyée


comme input d’une 2ème commande
Redirection
Action

• Pour connecter/combiner plusieurs commandes


ensemble dans la même ligne de commande
(sans fichier intermédiaire)

• Pipelines= workflow

cmd1 | cmd2 | cmd3


Connecter des commandes ensemble

cut -d: -f1 /etc/passwd


Root
troot
iroot
ctroot
//
Connecter des commandes ensemble

cut -d: -f1 /etc/passwd


Root
troot
iroot
ctroot
//

cut -d: -f1 /etc/passwd | sort


abate
adm
adroot
ais
#albar
alvaro-wis
anthony
apache
Connecter des commandes ensemble

cut -d: -f1 /etc/passwd


Root
troot
iroot
ctroot
//

cut -d: -f1 /etc/passwd | sort


abate
adm
adroot
ais
#albar
alvaro-wis
anthony
apache
cut -d: -f1 /etc/passwd | sort | head –n 2
Practice

Go to Practice 12 on our github


3
Formateurs itrop / South Green

● Christine Tranchant-Dubreuil

● Sebastien Ravel

● Alexis Dereeper

● Ndomassi Tando

● François Sabot

● Gautier Sarah

● Bruno Granouillac
LOGO CERAAS

Merci !

Le matériel pédagogique utilisé pour ces enseignements est mis à


disposition selon les termes de la licence Creative Commons
Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes
Conditions (BY-NC-SA) 4.0 International:
[Link]
Autres commandes utiles
Manipuler des fichiers compressés

Compresser des fichiers tar,gzip


tar –zcvf [Link] dirToCompress
gzip fileToCompress

Décompresser une archive gunzip, tar


gunzip [Link]
tar –xvf [Link]
tar -zxvf [Link]

Afficher le contenu d’une archive zcat


zmore [Link]

Rechercher une expression/motif dans une archive zgrep


zgrep ‘NM_000020’ [Link]
Renommer des fichiers

rename

Exemple Description
rename ‘s/.txt/.fasta/’ * rename the extension of all files

rename ‘y/a-z/A-Z/’ * rename files in uppercase


Attributs des fichiers / permission

Commande ls –l

$ ls –l filename
drwxrwrwx 3 user user 4096 2012-02-11 20:21 file_name

Permissions Proprio Groupe Taille Heure et date de la dernière modification

-Interprétation/Légendes des permissions

Type - : fichier normal


d : répertoire
l : lien symbolique
Attributs des fichiers / permission

ls –l command
Permissions

drwxrwrwx 3 user user 4096 2012-02-11 20:21 file_name

other
group 3 classes
user

3 types of permissions :

Permission File Directory


Read r Ouverture et Lecture Lister et copier les fichiers
Write w Modiier et supprimer Manipuler le contenu : copier, créer, modifier,
écraser
Execution x Executer le fichier Accès seulement au fichier pour l’exécuter
Attributs des fichiers / permission

commande pour la gestion des permissions : chmod

chmod <perm> file_name

Chaque permission = 1 valeue


R 4
W 2
X 1
none 0

Exemple
chmod 740 [Link] # Owner=rwx
Group=r–- Other=---
chmod 755 [Link] # Owner=rwx Group=r-
x Other=r-x
Visualiser et changer des droits
chmod, ls

Donner le nom du propriétaire, du groupe et les droits des fichiers contenus


dans le répertoire “~/Data/454-projet1/raw”

Changer les droits du fichier


Scripts/[Link] pour qu’il soit :
en lecture/écriture pour le groupe,
lecture/écriture/exécution
pour le propriétaire
et lecture au public
Performing basic text
transformations on a file
Sed command
Command sed

sed “s/Search/Replace/” file

Replace the SEARCH motif by the REPLACE one in FILE


Command sed

Some examples

Example Description
sed "s/ATTAAT/NN/" file Replace the FIRST
occurence of ATTAAT by NN in FILE
sed "s/ATTAAT/NN/g" file Replace ALL
file occurences of ATTAAT by NN in FILE
sed "s/attaat/NN/ig” file Replace ALL
occurences of ATTAAT by NN in FILE,
case insensitive
Practice

Go to Practice 6 on our github


6
Processing or analyzing text file

awk
Processing and Modifying a file

awk: manipulating a file line by line...

• AWK stand for ”Aho, Weinberger, Kernighan“, the 3 authors

• Programming language to easily manipulate tabular files


(BLAST, SAM, VCF...)

• Motif search, operation, actions...


Processing and Modifying a file

awk: manipulating a file line by line...

• For awk, the input file is tabulate

• awk can perfom computing on number and text chains

• awk can generate reporting following these manipulations


Processing and Modifying a file

Syntax : awk [-F] 'program' file


Option Description
-F To provide the type of field delimitator (tab in standard)
Processing and Modifying a file

Syntax : awk [-F] 'program' file


Option Description
-F To provide the type of field delimitator (tab in standard)

Predefined variables used by awk


Variable Description
$0 The whole line
NR Number of the read line
NF Umber of the fields in the line
Processing and Modifying a file

Helene 56 edu hcyr@[Link]


jean 32 ri jeanc@[Link]
julie 22 adm juliem@[Link]
michel 24 inf michel@[Link]
richard 25 inf rcaron@[Link]
File: [Link]
Processing and Modifying a file

Helene 56 edu hcyr@[Link]


jean 32 ri jeanc@[Link]
julie 22 adm juliem@[Link]
michel 24 inf michel@[Link]
richard 25 inf rcaron@[Link]
File: [Link]
awk '{print $0}’ [Link]

Helene 56 edu hcyr@[Link]


jean 32 ri jeanc@[Link] Print every line

julie 22 adm juliem@[Link]


michel 24 inf michel@[Link]
richard 25 inf rcaron@[Link]
Processing and Modifying a file

Helene 56 edu hcyr@[Link]


jean 32 ri jeanc@[Link]
julie 22 adm juliem@[Link]
michel 24 inf michel@[Link]
richard 25 inf rcaron@[Link]
File: [Link]
$awk '{print NR,$1,$2}’ [Link]

1 Helene 56
Print the line
2 jean 32
number, then the FIRST
3 julie 22 and SECOND fields
4 michel 24
5 richard 25
Processing and Modifying a file

Helene 56 edu hcyr@[Link]


jean 32 ri jeanc@[Link]
julie 22 adm juliem@[Link]
michel 24 inf michel@[Link]
richard 25 inf rcaron@[Link]
$awk ’{print $1,$2};
END { print NR « lines read »; }’ [Link]

Helene 56
Jean 32 Perform the previous
command then print the
Julie 22
number of lines read
Michel 24
Richard 25
5 lines read
Processing and Modifying a file

Helene 56 edu hcyr@[Link]


jean 32 ri jeanc@[Link]
julie 22 adm juliem@[Link]
michel 24 inf michel@[Link]
richard 25 inf rcaron@[Link]
$awk ’{print $1,$3; sum+=$2}
END { print « Age sum : », sum; }’ [Link]

Helene edu print for each line the 1st


jean ri and third fields, then sum
the 2nd and output the
julie adm sum at the end
michel inf
richard inf
Age sum : 159 120
Processing and Modifying a file

awk ’$2>24 && $2<50{ print $1, “ :”, $2; }’


[Link]

Helene : 56
jean : 32 Print only if higher than 20 AND lower than
50
richard : 25
Processing and Modifying a file

awk ’$3 == “inf" {print $0}’ [Link]

michel 24 inf michel@[Link]


richard 25 inf rcaron@[Link]
Practice

7 [Link] to Practice 7 on our github


[Link].i
o/trainings/linux/
linuxPracticeJedi/#practice-6

Vous aimerez peut-être aussi