Comment lire de gros fichiers sur Linux facilement

Lire de Gros Fichiers Sur Linux Image de Caractéristiques

Vous souhaitez trier un énorme fichier journal, un fichier texte ou un ensemble de données ? Vous n’êtes pas seul. Lire de gros fichiers sur Linux peut être problématique lorsque vous souhaitez visualiser et gérer le contenu sans surcharger les ressources de votre système. Cependant, il existe plusieurs approches que vous pouvez utiliser pour lire de gros fichiers sur Linux, comme utiliser la commande less, Vim, ou diviser le document en morceaux plus petits, entre autres.

Dans cet article, nous allons apprendre comment lire de gros fichiers ou trouver des informations spécifiques sur Linux en utilisant diverses méthodes.

Table des Matières

  • Utiliser la commande Less
  • Diviser le fichier avec la commande Split
  • Utiliser Midnight Commander
  • Utiliser Klogg
  • Lire de gros fichiers avec un Éditeur de Texte
  • Rechercher dans le fichier avec la commande Grep
  • Utiliser les commandes Head et Tail

Utiliser la commande Less

Vous cherchez un outil Linux léger pour visualiser le contenu de gros fichiers texte ou effectuer des recherches rapides ? Ne cherchez pas plus loin que la commande less.

J’adore cet utilitaire car, contrairement aux éditeurs de texte classiques, il vous permet de visualiser les fichiers une page à la fois sans charger l’intégralité du fichier dans la mémoire. Cela le rend plus rapide, surtout pour les gros fichiers, et vous aide à passer facilement en revue de longs documents ou journaux.

Pour l’utiliser, tapez simplement less suivi du nom du fichier :

less filename.txt

Cela ouvrira l’interface less, où vous pouvez faire défiler le fichier ligne par ligne en utilisant les touches fléchées ou rechercher des termes spécifiques en appuyant sur / suivi de votre requête.

Vous pouvez également utiliser less pour lire les sorties des autres commandes en utilisant un opérateur de pipeline. Par exemple, pour lire et afficher la sortie de la commande ls, utilisez :

ls -l | less

Lecture de la sortie de la commande ls dans le terminal.

De plus, la commande less dispose de plusieurs options pour ajuster son comportement. Vous pouvez combiner ces options pour affiner le fonctionnement de less.

Par exemple, vous pouvez utiliser l’option -p avec less pour rechercher un motif spécifique :

ls -l | less -p "sample"

Trouver un motif spécifique dans un fichier particulier sur Linux.

Cette commande ouvre la sortie et passe à la première occurrence du mot échantillon.

Vous pouvez également afficher les numéros de lignes à côté du contenu du fichier en utilisant l’option -N :

ls -l | less -N

Numérotation de la sortie de la commande dans l'interface de l'utilitaire less.

Diviser le fichier avec la commande Split

Parfois, diviser un gros fichier en morceaux plus petits est la meilleure approche – surtout lorsque vous souhaitez traiter ou lire le fichier en sections gérables. Par exemple, je divise le fichier en morceaux chaque fois que sa taille dépasse 1 Go ou contient plus de 100 millions de lignes.

Vous pouvez diviser des fichiers par taille ou par nombre de lignes. Si vous travaillez avec du texte, il est préférable de diviser par lignes pour éviter de couper des lignes ou des mots en deux.

Par exemple, pour diviser un fichier en fonction d’un nombre spécifié de lignes, exécutez cette commande :

split -l 10000 samplefile.txt part_

Diviser les fichiers en morceaux plus petits à l'aide de la commande split.

Dans cet exemple, le fichier “samplefile.txt” est divisé en plusieurs fichiers, chacun contenant 10 000 lignes. Les fichiers résultants seront nommés “part_aa”, “part_ab”, et ainsi de suite. Maintenant, vous pouvez ouvrir et lire des morceaux plus petits du fichier sans vous soucier de l’utilisation de la mémoire ou des ralentissements du système.

Si vous souhaitez diviser de gros fichiers en fonction de la taille, par exemple 100 Mo, vous pouvez exécuter cette commande :

split -b 100M samplefile.txt part_

Utiliser Midnight Commander

Midnight Commander (MC) est un gestionnaire de fichiers textuel à double panneau qui fournit une interface visuelle intuitive pour naviguer dans les répertoires et les fichiers.

MC vous permet de visualiser les fichiers directement dans l’interface, vous permettant de faire défiler rapidement de gros journaux ou données sans charger l’intégralité du fichier dans la mémoire. Ce que j’aime dans MC, c’est sa manière fluide et efficace de faire défiler de gros fichiers.

Pour installer MC, exécutez simplement :

sudo apt install mc

Vous pouvez le lancer en tapant mc dans le terminal. Une fois à l’intérieur, vous pouvez naviguer jusqu’au gros fichier que vous souhaitez lire et afficher son contenu.

Visualiser un gros fichier sur l'outil Midnight Commander.

Utiliser Klogg

Klogg est un outil de visualisation de journaux GUI rapide et open-source qui peut gérer facilement de gros fichiers. Contrairement à d’autres éditeurs, qui chargent l’ensemble du fichier dans la mémoire, il ne lit que des portions du fichier au besoin, réduisant ainsi l’utilisation de la mémoire.

Klogg offre également des capacités de filtrage et de recherche en temps réel, ce qui permet de trouver ce que vous cherchez sans trop faire défiler.

Avant d’installer Klogg, vous devez d’abord créer le répertoire “/etc/apt/keyrings” et y ajouter la clé GPG. La clé GPG est nécessaire pour vérifier le dépôt de paquets de Klogg.

Pour créer le répertoire, exécutez :

sudo mkdir -p /etc/apt/keyrings

Maintenant, ajoutez la clé GPG :

curl -sS https://klogg.filimonov.dev/klogg.gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/klogg.gpg

Ensuite, vous devez ajouter le dépôt Klogg à votre système en utilisant la commande curl :

curl -sS https://klogg.filimonov.dev/deb/klogg.jammy.list | sudo tee /etc/apt/sources.list.d/klogg.list

Mettez à jour la liste des paquets :

sudo apt update

Enfin, vous pouvez installer Klogg avec ceci :

sudo apt install klogg

Installation de Klogg sur Ubuntu.

Une fois installé, ouvrez simplement le fichier via l’interface et utilisez ses fonctionnalités intégrées pour rechercher et naviguer dans le contenu.

Lecture de gros fichiers sur Klogg.

Lire de Gros Fichiers Avec un Éditeur de Texte

La plupart des éditeurs de texte ont du mal avec les gros fichiers, mais des éditeurs comme Vim ou Emacs gèrent mieux les gros fichiers que les éditeurs standards comme Nano ou Gedit.

Par exemple, Vim dispose de fonctionnalités qui vous permettent de naviguer rapidement dans le fichier et de rechercher des termes spécifiques sans tout charger dans la mémoire d’un coup. Cependant, les recherches sont limitées aux parties déjà chargées.

Pour ouvrir un fichier dans Vim, exécutez :

vim samplefile.txt

Remarque : Bien que Vim puisse gérer les gros fichiers plus efficacement, ce n’est toujours pas l’outil le plus rapide. Pour un aperçu rapide, il est généralement plus efficace d’utiliser la commande less ou les outils spécialisés mentionnés précédemment.

Rechercher Dans le Fichier Avec la Commande Grep

Si votre objectif est de trouver des informations spécifiques dans un gros fichier, essayez d’utiliser la commande grep. Elle vous permet de rechercher à travers des fichiers et d’afficher uniquement les lignes qui correspondent à votre requête de recherche.

Lorsque vous utilisez une sortie de commande avec less, c’est temporaire – une fois que vous fermez less, la sortie disparaît. Si vous souhaitez garder la sortie pour plus tard, redirigez-la vers un fichier et ouvrez-le avec un outil en ligne de commande comme less.

Par exemple, pour imprimer chaque ligne contenant le mot “ERROR” dans un gros fichier, exécutez :

grep "Error" samplefile.txt

Vous pouvez affiner votre recherche avec des options supplémentaires, comme ignorer la sensibilité à la casse ( grep -i) ou rechercher uniquement des mots entiers ( grep -w).

Rediriger la sortie vers un fichier

Si vous souhaitez enregistrer des informations spécifiques pour plus tard, vous pouvez rediriger la sortie de vos commandes vers un nouveau fichier.

Par exemple, vous pouvez rechercher des lignes à l’aide de la commande grep et les enregistrer dans un nouveau fichier :

grep "Error" samplefile.txt > errors.log

L’opérateur > crée un nouveau fichier ou l’écrase à chaque fois. Cependant, si vous souhaitez ajouter des données à un fichier déjà présent, utilisez >> au lieu de l’opérateur >.

Utiliser les Commandes Head et Tail

Parfois, lorsque vous travaillez avec de gros fichiers sur Linux, vous n’avez peut-être besoin de visualiser que le début ou la fin du fichier. Pour cela, vous pouvez utiliser les commandes head ou tail.

Vous pouvez afficher les 20 premières lignes d’un fichier avec ceci :

head -n 20 samplefile.txt

Affichage des premières vingt lignes des gros fichiers sur Linux.

De même, pour voir les 20 dernières lignes, exécutez :

tail -n 20 samplefile.txt

Dans les deux cas, -n 20 spécifie que vous ne souhaitez voir que les 20 premières ou dernières lignes. Vous pouvez ajuster ce nombre pour afficher plus ou moins de lignes si nécessaire. Par défaut, les deux commandes affichent 10 lignes.

Vous pouvez également combiner tail et head pour naviguer à travers une section particulière du fichier. Par exemple, pour voir les lignes 10-14 d’un fichier de 100 lignes, calculez la ligne de départ à partir de la fin en soustrayant la ligne de départ moins un du nombre total de lignes (100 – 9 = 91). Ensuite, utilisez cette commande :

tail -n 91 samplefile.txt | head -n 5

Cela affichera les lignes 10-14. Vous pouvez confirmer la sortie en la comparant à ce que vous verriez en utilisant less.

Si vous surveillez un fichier qui est constamment mis à jour, comme un fichier journal, utilisez tail -f pour suivre les changements en temps réel.

Conclusion

Que vous soyez en train de trier des journaux, de travailler avec des ensembles de données ou de visualiser un gros fichier texte, ces méthodes rendent le processus simple et efficace. Vous pouvez également apprendre comment trouver de gros fichiers sur Linux et comment les transférer à un autre emplacement dans le terminal.

Crédit image : Unsplash. Toutes les modifications et captures d’écran par Haroon Javed.