in

Comment utiliser la commande look sous Linux

Fatmawati Achmad Zaenuri / Shutterstock

Le Linux look La commande parcourt un fichier et répertorie toutes les lignes commençant par un mot ou une phrase en particulier. Mais attention! Il se comporte différemment sur différentes distributions Linux. Ce tutoriel vous montrera comment l’utiliser.

La commande look d’Ubuntu se comporte différemment

Pour une commande simple mais utile, look m’a certainement donné le tourbillon lorsque je recherchais cet article. Il y avait deux problèmes: la compatibilité et la documentation.

Cet article a été vérifié à l’aide d’Ubuntu, de Fedora et de Manjaro. look était fourni avec chacune de ces distributions, ce qui était super. Le problème était que le comportement n’était pas le même dans les trois. La version Ubuntu était très différente. Selon le Pages de manuel Ubuntu, le comportement doit être le même.

J’ai finalement compris. look utilise traditionnellement un recherche binaire, tandis qu’Ubuntu look utilise un recherche linéaire. Les pages de manuel en ligne Ubuntu pour Bionic Beaver (18.04), Cosmic Cuttlefish (18.10) et Disco Dingo (19.04) indiquent toutes que la version Ubuntu utilise une recherche binaire, ce qui n’est pas le cas.

Si nous jetons un coup d’œil à la page de manuel Ubuntu, nous voyons qu’elle indique clairement leur look utilise une recherche linéaire. Il existe une option de ligne de commande pour le forcer à utiliser une recherche binaire. Aucune des versions des autres distributions n’a la possibilité de choisir entre les méthodes de recherche.

man look

"regard homme" dans une fenêtre de terminal.

En faisant défiler la page de manuel, nous voyons la section qui décrit cette version de look en utilisant une recherche linéaire au lieu d’une recherche binaire.

Ubuntu regarde la page de manuel dans une fenêtre de terminal.

La morale de l’histoire est de vérifier d’abord les pages de manuel locales.

Recherche linéaire et recherche binaire

La méthode de recherche binaire est plus rapide et plus efficace qu’une recherche linéaire. Travailler avec de gros fichiers rend cela très apparent. L’inconvénient de la recherche binaire est que votre fichier doit être trié. Si vous ne souhaitez pas trier votre fichier, triez-en une copie, puis utilisez-la avec look.

Nous allons le démontrer ailleurs dans cet article. Sachez simplement que sur Fedora, Manjaro, et j’attends la plupart du reste du monde Linux, vous devrez créer une copie triée de votre fichier et travailler avec cela.

Installer des mots

look peut fonctionner avec n’importe quel fichier texte de votre choix, ou avec le fichier de dictionnaire local « words ».

Sur Manjaro, vous devez installer le fichier «mots». Utilisez cette commande:

sudo pacman -Syu words

"sudo pacman -Syu mots" dans une fenêtre de terminal.

Utilisation du look

Pour cet article, nous allons travailler avec un fichier texte du Edward Lear poème «The Jumblies».

Regardons son contenu avec cette commande:

less the-jumblies.txt

"moins the-jumblies.txt" dans une fenêtre de terminal.

Voici la première partie du poème. Notez que nous utilisons Ubuntu, donc le fichier reste non trié. Pour Fedora et Manjaro, nous travaillerions avec une copie triée du fichier, que nous aborderons plus loin dans cet article.

"Les Jumblies" en moins dans une fenêtre de terminal.

Si nous recherchons des lignes qui commencent par le mot «Ils», nous découvrirons une partie de ce que les Jumblies ont fait.

look They the-jumblies.txt

"regardez Ils les-jumblies.txt" dans une fenêtre de terminal.

look répond en listant ces lignes:

Sortie de "regardez Ils les-jumblies.txt" dans une fenêtre de terminal.

Ignorer la casse des caractères

Faire look ignorer les différences entre majuscules et minuscules, utilisez la -f (ignorer la casse) option. Nous avons de nouveau utilisé «ils» comme mot de recherche, mais cette fois, il est en minuscules.

look -f they the-jumblies.txt

regardez -f ils le-jumblies.txt dans une fenêtre de terminal.

Cette fois, les résultats incluent une ligne supplémentaire.

Sortie de "regarde -f ils le-jumblies.txt" dans une fenêtre de terminal.

La ligne qui commence par « ILS » a été manquée dans le dernier ensemble de résultats, car elle est en majuscules et ne correspond pas à notre terme de recherche « Ils ».

Ignorer la casse permet look pour l’inclure dans les résultats.

Utilisation de l’apparence avec un fichier trié

Si votre distribution Linux a une version de look qui suit le comportement traditionnel de l’utilisation d’une recherche binaire, vous devez soit trier votre fichier, soit travailler avec une copie triée de celui-ci.

Répétons la commande pour rechercher «Ils», mais cette fois sur Manjaro.

regardez They the-jumblies.txt dans une fenêtre de terminal.

Comme vous pouvez le voir, aucun résultat n’a été renvoyé. Mais nous savons qu’il y a des vers dans le poème qui commencent par le mot «Ils».

Faisons une copie triée du fichier. Si vous comptez utiliser le -f (ignorer la casse) ou -d (caractères alphanumériques et espaces uniquement) options avec look, vous devez les utiliser lorsque vous triez le fichier.

le -o (sortie) vous permet de spécifier le nom du fichier auquel les lignes triées doivent être ajoutées. Dans cet exemple, il s’agit de «sorted.txt».

sort -f -d the-jumblies.txt -o sorted.txt

sort -f -d the-jumblies.txt -o sorted.txt dans une fenêtre de terminal.

Utilisons look sur le fichier sorted.txt, puis utilisez le -f et -d options.

sort -f -d the-jumblies.txt -o sorted.txt dans une fenêtre de terminal.

Maintenant, nous obtenons les résultats attendus.

Ne considérez que les espaces et les caractères alphanumériques

Pour faire ignorer tout ce qui n’est pas Caractère alphanumérique ou un espace, utilisez le -d (alphanumérique) option.

Voyons s’il y a des mots qui commencent par «Oh».

look -f oh the-jumblies.txt

regardez -f oh the-jumblies.txt dans une fenêtre de terminal.

Aucun résultat n’est renvoyé par look.

Essayons à nouveau et disons à look d’ignorer autre chose que les caractères alphanumériques et les espaces. Cela signifie que les caractères et les symboles, tels que la ponctuation, seront ignorés.

look -f -d oh the-jumblies.txt

regardez -f -d oh the-jumblies.txt dans une fenêtre de terminal.

Cette fois, nous obtenons un résultat. Nous n’avons pas trouvé cette ligne auparavant car les guillemets et le point d’exclamation ont confondu la recherche.

Sortie de "regarde -f -d oh les-jumblies.txt" dans une fenêtre de terminal.

Spécification du caractère de fin

Tu peux dire look pour utiliser un caractère spécifique comme caractère de fin. Habituellement, les espaces et la fin des lignes sont utilisés comme caractère de fin.

le -t (caractère de fin) nous permet de spécifier le caractère que nous aimerions utiliser. Dans cet exemple, nous allons utiliser le caractère apostrophe. Nous devons le citer avec une barre oblique inverse pour que look sait que nous n’ouvrons pas une chaîne.

Nous citons également le terme de recherche car il comprend un espace. Nous recherchons deux mots.

look -f -t ' "they call" the-jumblies.txt

regarder -f -t  ' "ils appelent" the-jumblies.txt dans une fenêtre de terminal.

Les résultats correspondent au terme de recherche, terminé par l’apostrophe que nous avons utilisée comme caractère de fin.

Sortie de "regarder -f -t  ' "ils appelent" the-jumblies.txt" dans une fenêtre de terminal.

Utiliser look sans fichier

Si vous ne fournissez pas de nom de fichier sur la ligne de commande, regardez utilise le fichier de mots.

La commande:

"cercle de regard" dans une fenêtre de terminal.

donne ces résultats:

"cercle de regard" entraîne une fenêtre de terminal.

Ce sont tous les mots du fichier qui commencent par le mot «cercle».

cherchez pas plus loin

C’est tout ce qu’il y a à look.

C’est assez facile une fois que vous savez qu’il existe différents comportements dans différentes distributions Linux, et que vous avez déterminé si votre version utilise une recherche binaire ou linéaire.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Mettez sous tension et gérez votre menu d'envoi Windows avec Envoyer vers jouets

Mettez sous tension et gérez votre menu d’envoi Windows avec Envoyer vers jouets

Comment utiliser votre calendrier à partir de la barre des tâches de Windows 10