less
On aborde ici less
, qui est une version plus élaborée de
more
; ce dernier est toujours détaillé dans dans les ouvrages sur
Unix, et de fait il est toujours présent sur ces systèmes, ce qui n'est pas
forcément vrai pour less
(qui est quand même très courant).
more
est beaucoup plus rudimentaire, alors que less
a beaucoup de fonctionnalités appréciables : vidéo inverse pour les
motifs recherchés, déplacements en avant et en arrière pour la recherche, etc.
less
?
On tape h
ou H
pour afficher une page d'aide. On s'y
déplace comme dans less
(flèches, ^D
,
^F
, ^B
, ^P
, SPC
,
j
, k
...). Pour quitter l'aide, ce sont les mêmes
commandes que pour quitter less
: q
,
Q
, :q
, :Q
, ZZ
.
Il suffit de donner plusieurs fichiers en argument à la commande
less
; par exemple, pour examiner sucessivement les fichiers
toto
, bla
et blu
, on tape :
less toto bla blu
Pour passer au fichier suivant, on tape :n
(next); pour
revenir au fichier précédent, on tape :p
(previous).
:x
permet de revenir au premier fichier spécifié.
less
?
Ce sont : q
, Q
, :q
, :Q
,
ZZ
.
less
d'ouvrir le
fichier en plaçant en haut de l'écran la ligne n ?
On spécifie le numéro de la ligne après le signe +
; par exemple,
pour ouvrir le fichier rapport
sur la ligne 57, on tape :
less +57 rapport
less
d'ouvrir le
fichier en plaçant en haut de l'écran la première ligne où apparaît un motif
donné ?
On utilise l'option -p
de la commande less
; par
exemple, pour chercher le mot «toto» dans le fichier rapport
, on
tape :
less -p toto rapport
On peut aussi indiquer le motif recherché de la façon suivante :
less +/toto rapport
less
qui permettent de chercher un motif dans un fichier,
respectivement après et avant la position courante ?
Pour chercher un motif plus en avant dans le texte, on utilise le slash (barre
oblique vers la droite : /
). Par exemple :
/mot
Pour chercher en arrière de la position courante, on utilise le point
d'interrogation. Pour aller à la prochaine occurence du mot, il suffit de
taper n
(next). Pour aller à la précédente occurence du
mot, il faut taper N
. Évidemment, quand on cherche un motif avec
?
, n
remonte dans le texte et N
descend dans le texte.
Une fois le début ou la fin du fichier atteint, la recherche s'arrête. On peut utiliser les expressions régulières.
less
de chercher le
mot à partir de la première ligne du fichier, et ce où que l'on soit dans le
fichier ?
Il faut taper ^F
après avoir tapé /
. En fait,
^F
fait commencer la recherche au premier fichier dont on a donné
le nom; quand il n'y en a qu'un seul, cela place de fait tout au début du
fichier. Par exemple, pour chercher toto
alors qu'on se trouve à
la fin du fichier, on tape :
/^F
Le prompt devient alors :
First-file /
et il n'y a plus qu'à taper le motif recherché.
-i
à
less
? Quelle option faut-il mettre à la place de
-i
pour chercher toTo
tout en ignorant la casse des
caractères ?
L'option -i
signifie ignorecase, c'est-à-dire ignorer la
casse des caractères (différence entre majuscules et minuscules). Si donc
je tape (au choix) :
less -ip TOTO rapport less -ip toto rapport less -i +/toto rapport less -i +/TOTO rapport
less
ne fera pas la différence entre les majuscules et les
minuscules, et je trouverai toto
comme TOTO
. Bien
sûr, c'est la même chose si je lance less
avec l'option
-i
et que je cherche ensuite le mot à l'intérieur du fichier avec
/
ou ?
.
Mais l'option -i
est invalidée si le motif
recherché contient des majuscules et des minuscules : si, en
lançant less
comme ci-dessus, je cherche le motif
Toto
, je ne trouverai que Toto
et pas
TOTO
par exemple. Pour contourner cette restriction, il faut
lancer less
avec l'option -I
, qui est donc un
ignorecase «robuste».
Pour aller à l'occurence suivante (resp. précédente) d'un motif dans un
fichier, on utilise n
(resp. N
). Pour faire la même
opération mais sans passer manuellement de fichier en fichier, on tape
ESC n
pour chercher en avant, et ESC N
pour chercher
en arrière. ESC
désigne bien sûr la touche d'échappement
(Escape
).
/
?
Le caractère /
sert à chercher un mot dans le fichier. Si on tape
//
less
répond : Pattern not found
. Il faut donc
dire à less
de considérer le /
comme un caractère
ordinaire, et pas comme un caractère spécial. Comme avec toutes les
expressions régulières, c'est le backslash (barre oblique vers la
gauche : \
) qui sert à cela. Pour chercher un
/
, on tape donc :
/\/
La page de man donne une liste de caractères qui sont spéciaux avec
/
et ?
. Ces commandes de recherche utilisent les
expressions régulières de ed
(et de vi
par
conséquent).