Grep - Tutoriel linux

Mise à jour : Debian 11.2 - Bullseye

1 - Installation

$ which grep
/usr/bin/grep

$ dpkg -S /usr/bin/grep
dpkg-query: aucun chemin ne correspond à /usr/bin/grep

$ find -L /bin -samefile /usr/bin/grep 2>/dev/null
/bin/grep

$ dpkg -S /bin/grep
grep: /bin/grep
$ grep --version |head -1
grep (GNU grep) 3.6
$ grep --help
$ man grep
$ info grep
$ whatis grep
grep (1) - Afficher les lignes correspondant à un motif donné

2 - Commande de base

$ grep <motif> <fichier>
$ grep Partition /etc/fstab
# Partition ESP
# Partition swap
# Partition système
# Partition home

3 - Entrées - Sorties

$ grep mapper /etc/fstab
/dev/mapper/ssd2 /home ext4 defaults 0 2
$ grep motif -
une ligne sans le mooooootif est n'est pas répétée
une ligne avec le motif est répétée
une ligne avec le motif est répétée
$ cat /etc/fstab |grep mapper
/dev/mapper/ssd2 /home ext4 defaults 0 2
$ grep Partition /etc/fstab
# Partition ESP
# Partition swap
# Partition système
# Partition home

$ grep Partition /etc/fstab > Fichier
$ grep Partition /etc/fstab |grep ESP
# Partition ESP

4 - Syntaxe

4.1 - Expansion de la ligne de commande

$ var=Partition

$ cat /etc/fstab |grep "$var"
# Partition ESP
# Partition swap
# Partition système
# Partition home

$ cat /etc/fstab |grep '$var'
$ cat /etc/fstab |grep $'\t'
# <file system> <mount point> <type> <options> <dump> <pass>
UUID=120D-7EAA /boot/efi vfat umask=0077 0 2

4.2 - Motif avec espaces ou tabulations

$ cat /etc/fstab |grep "Partition ESP"
# Partition ESP

4.3 - Motif comprenant des métacaractères

$ cat /etc/fstab|grep #
Usage: grep [OPTION]... MOTIFS [FICHIER]...
Exécutez « grep --help » pour obtenir des renseignements complémentaires.
$ cat /etc/fstab|grep \#
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
# Partition ESP
# Partition swap
# Partition système
# Partition home

5 - Options d'affichage

$ grep "Partition" /etc/fstab 
# Partition ESP
# Partition swap
# Partition système
# Partition home
$ grep -n "Partition" /etc/fstab 
5:# Partition ESP
8:# Partition swap
11:# Partition système
14:# Partition home
$ grep -m2 "Partition" /etc/fstab
# Partition ESP
# Partition swap
$ grep -c "Partition" /etc/fstab
4
$ grep -B2 "ESP" /etc/fstab 
# <file system> <mount point> <type> <options> <dump> <pass>

# Partition ESP
$ grep -A2 "ESP" /etc/fstab 
# Partition ESP
UUID=120D-7EAA /boot/efi vfat umask=0077 0 2

$ grep -C1 "Partition" /etc/fstab

# Partition ESP
UUID=120D-7EAA /boot/efi vfat umask=0077 0 2

# Partition swap
UUID=c57f75e2-b63b-47ec-be81-b8d357c4ed00 none swap sw,discard 0 0

# Partition système
UUID=979870b7-dbe7-4697-b122-0b9f14d00e5f / ext4 errors=remount-ro 0 1

# Partition home
/dev/mapper/ssd2 /home ext4 defaults 0 2

$ cat /etc/fstab |grep -o  "/ ext4"
/ ext4
$ grep -C1 "Partition" /etc/fstab --color

# Partition ESP
UUID=120D-7EAA /boot/efi vfat umask=0077 0 2

# Partition swap
UUID=c57f75e2-b63b-47ec-be81-b8d357c4ed00 none swap sw,discard 0 0

# Partition système
UUID=979870b7-dbe7-4697-b122-0b9f14d00e5f / ext4 errors=remount-ro 0 1

# Partition home
/dev/mapper/ssd2 /home ext4 defaults 0 2

6 - Options de recherche

$ cat /etc/fstab |grep -i esp
# Partition ESP
$ cat /etc/apt/sources.list  |grep -v deb

# bullseye-updates, previously known as 'volatile


# bullseye-proposed-updates

$ cat /etc/fstab |grep -w "Par"

$ cat /etc/fstab |grep -w "Partition"
# Partition ESP
# Partition swap
# Partition système
# Partition home

$ cat /etc/fstab |grep -w "file system"
# /etc/fstab: static file system information.
# <file system> <mount point> <type> <options> <dump> <pass>

7 - Utilisation d'un fichier de motifs

$ cat motifs
ESP
swap

$ grep -if motifs /etc/fstab
# Partition ESP
# Partition swap
UUID=c57f75e2-b63b-47ec-be81-b8d357c4ed00 none swap sw,discard 0 0