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.
- Comment fait-on pour obtenir une page d’aide avec
less? On tapehouHpour afficher une page d’aide. On s’y déplace comme dansless(flèches,^D,^F,^B,^P,SPC,j,k…). Pour quitter l’aide, ce sont les mêmes commandes que pour quitterless:q,Q,:q,:Q,ZZ. - Comment examiner plusieurs fichiers à la suite ? Comment passe-t-on au suivant ? Comment revient-on au précédent ? Il suffit de donner plusieurs fichiers en argument à la commande
less; par exemple, pour examiner sucessivement les fichierstoto,blaetblu, 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).:xpermet de revenir au premier fichier spécifié. - Quelles sont les commandes différentes qui permettent de quitter
less? Ce sont :q,Q,:q,:Q,ZZ. - Comment dire à
lessd’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 fichierrapportsur la ligne 57, on tape :less +57 rapport
- Comment dire à
lessd’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-pde la commandeless; par exemple, pour chercher le mot «toto» dans le fichierrapport, on tape :less -p toto rapport
On peut aussi indiquer le motif recherché de la façon suivante :
less +/toto rapport
- Quelles sont les deux commandes de
lessqui 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 taperN. Évidemment, quand on cherche un motif avec?,nremonte dans le texte etNdescend 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.
- Comment dire à
lessde chercher le mot à partir de la première ligne du fichier, et ce où que l’on soit dans le fichier ? Il faut taper^Faprès avoir tapé/. En fait,^Ffait 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 cherchertotoalors 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é.
- Que se passe-t-il si l’on cherche le motif suivant : «toTo» en donnant l’option
-iàless? Quelle option faut-il mettre à la place de-ipour cherchertoTotout en ignorant la casse des caractères ? L’option-isignifie 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
lessne fera pas la différence entre les majuscules et les minuscules, et je trouveraitotocommeTOTO. Bien sûr, c’est la même chose si je lancelessavec l’option-iet que je cherche ensuite le mot à l’intérieur du fichier avec/ou?.Mais l’option
-iest invalidée si le motif recherché contient des majuscules et des minuscules : si, en lançantlesscomme ci-dessus, je cherche le motifToto, je ne trouverai queTotoet pasTOTOpar exemple. Pour contourner cette restriction, il faut lancerlessavec l’option-I, qui est donc un ignorecase «robuste». - Quelles sont les commandes qui permettent d’aller à la prochaine (resp. précédente) occurence du motif recherché à travers tous les fichiers édités ? 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 tapeESC npour chercher en avant, etESC Npour chercher en arrière.ESCdésigne bien sûr la touche d’échappement (Escape). - Comment chercher dans un fichier le caractère
/?Le caractère/sert à chercher un mot dans le fichier. Si on tape//
lessrépond :Pattern not found. Il faut donc dire àlessde 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 deed(et devipar conséquent).