Autres commandes de base pour lire des fichiers texte

Nous vous avons parlé de nombreuses commandes de base pour l'invite du shell qui permettent de lire des fichiers texte au moyen d'éditeurs de texte. En voici encore quelques-unes.

La commande head

Vous pouvez utiliser la commande head si vous ne désirez que visualiser le début d'un fichier. La commande est :

head <nom-du-fichier>

La commande Head peut être utile, mais comme elle se limite à afficher les premières lignes du fichier, vous ne pouvez savoir sa longueur réelle. Par défaut, seules les dix premières lignes peuvent être lues, bien que vous puissiez modifier ce nombre au moyen de la commande suivante :

head -20 <nom-du-fichier>

La commande tail

La commande tail est exactement le contraire de la commande head, c'est-à-dire qu'elle permet de visualiser les dix dernières lignes d'un fichier.

La commande grep

La commande grep est utile pour trouver une chaîne de caractères spécifiques dans un fichier. Par exemple, si vous désirez trouver toutes les références au mot "coffee" dans le fichier sneakers.txt, vous entrez ceci :

grep coffee sneakers.txt

Toutes les lignes où le mot "coffee" apparaît vous sont alors montrées.

TuyauAttention à la casse
 

Sauf spécification contraire, les recherches de grep sont sensibles à la casse. Donc, la recherche du mot Coffee est différente de la recherche du mot coffee. C'est pourquoi une des options de grep, -i, permet de faire la recherche de mots dans un fichier sans tenir compte de la casse. Reportez-vous à la page de manuel grep pour avoir plus d'informations sur cette commande.

redirection E/S et conduits

N'oubliez pas d'utiliser des conduits et la redirection de sortie lorsque vous voulez stocker ou imprimer des informations à lire ultérieurement.

Vous pouvez par exemple utiliser la commande grep pour effectuer une recherche sur le contenu d'un fichier particulier, puis enregistrer les résultats ou les envoyer à une imprimante.

Pour imprimer les informations relatives aux occurrences du mot "coffee" dans le fichier sneakers.txt, entrez simplement :

grep coffee sneakers.txt | lpr

Caractères génériques et expressions régulières

Que faire si vous oubliez le nom du fichier que vous cherchez ? Grâce aux caractères génériques et aux expressions régulières, il est possible d'agir sur un ou plusieurs fichiers sans en connaître le nom complet. Il suffit de saisir les caractères que vous connaissez et de remplacer les autres par un caractère générique.

TuyauInformations complémentaires sur les caractères génériques et les expressions régulières
 

Pour en savoir plus sur les caractères génériques et les expressions régulières, consultez la page de manuel bash (man bash). N'oubliez pas que vous pouvez enregistrer le fichier sous la forme d'un fichier texte en entrant man bash | col -b > bash.txt. Ensuite, vous pouvez l'ouvrir et le lire à l'aide de less ou de pico (pico bash.txt). Si vous voulez imprimer le fichier, rappelez-vous que cela peut être assez long.

Par exemple, nous savons que le fichier s'appelle "sneak____.txt". Entrez tout simplement :

ls sneak*.txt

Le nom du fichier s'affiche :

sneakers.txt

Il est probable que vous utiliserez très fréquemment l'astérisque (*) pour effectuer de telles recherches. L'astérisque permet de rechercher tout ce qui correspond au modèle recherché. Vous pouvez donc même entrer

ls *.txt

ou

ls sn*

Vous trouverez également sneakers.txt ou tout autre fichier commençant par "sn". Très pratique pour limiter la recherche au maximum.

Une façon de limiter la recherche consiste à utiliser le point d'interrogation (?). Tout comme l'astérisque, le signe ? peut vous aider à trouver un fichier correspondant à un certain modèle de recherche.

Dans ce cas, cependant, le signe ? permet de remplacer un seul caractère ; ainsi, si vous recherchez sneaker?.txt, vous trouverez sneakers.txt, de même que sneakerz.txt, s'il existe un fichier de ce nom.

Si un astérisque fait partie du nom du fichier, comme ce serait le cas si le fichier sneakers.txt s'appelait plutôt sneak*.txt, les expressions régulières s'avèrent utiles.

Les expressions régulières sont plus complexes que l'astérisque ou le point d'interrogation.

La barre oblique inverse (\) permet de spécifier que vous ne voulez pas rechercher tout ce que remplace l'astérisque, mais plutôt un fichier dont le nom contient un astérisque.

Si le fichier s'appelle sneak*.txt, entrez :

sneak\*.txt

Voici une petite liste des caractères génériques et des expressions régulières :