Affichage du début de fichiers Linux

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Bienvenue au Nexus Future Tech Lab, un centre scientifique de pointe où les plus brillantes minds (esprits) se réunissent pour repousser les limites de la science et de la technologie. En tant que l'un des scientifiques estimés du laboratoire, vous êtes actuellement engagé dans un projet critique qui analyse de vastes ensembles de données pour découvrir des modèles qui pourraient conduire à des percées dans l'efficacité de l'informatique quantique.

Votre objectif pour aujourd'hui est de maîtriser la commande Linux head, qui est essentielle pour inspecter rapidement le début de grands fichiers. Cette capacité vous permettra d'examiner les modèles initiaux des données sans avoir à charger des ensembles de données entiers en mémoire, économisant ainsi du temps précieux et des ressources informatiques dans notre environnement expérimental à rythme rapide.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicFileOperationsGroup -.-> linux/head("File Beginning Display") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/FileandDirectoryManagementGroup -.-> linux/mkdir("Directory Creating") linux/FileandDirectoryManagementGroup -.-> linux/wildcard("Wildcard Character") subgraph Lab Skills linux/echo -.-> lab-271299{{"Affichage du début de fichiers Linux"}} linux/head -.-> lab-271299{{"Affichage du début de fichiers Linux"}} linux/cd -.-> lab-271299{{"Affichage du début de fichiers Linux"}} linux/mkdir -.-> lab-271299{{"Affichage du début de fichiers Linux"}} linux/wildcard -.-> lab-271299{{"Affichage du début de fichiers Linux"}} end

Utilisation de base de la commande head

La commande head en Linux vous permet d'afficher la partie initiale de fichiers texte. Cela est particulièrement utile lorsque vous travaillez avec de grands fichiers de données et que vous n'avez besoin d'examiner que le contenu initial.

Commençons par créer un fichier de données d'exemple avec lequel travailler. Nous allons créer ce fichier dans votre répertoire de projet.

  1. Tout d'abord, assurez-vous d'être dans le répertoire de projet :
cd ~/project
  1. Maintenant, créons un fichier nommé quantum_data.txt avec quelques données d'exemple :
echo -e "Qubit1,Qubit2,Probability\n00,01,0.25\n01,10,0.5\n11,00,0.75\n10,11,0.35\n00,00,0.15\n11,11,0.85\n01,01,0.45\n10,10,0.65\n10,01,0.55\n01,11,0.95" > ~/project/quantum_data.txt
  1. Par défaut, lorsque vous utilisez la commande head sans aucune option, elle affiche les 10 premières lignes d'un fichier. Essayons cela :
head ~/project/quantum_data.txt

Vous devriez voir la sortie suivante :

Qubit1,Qubit2,Probability
00,01,0.25
01,10,0.5
11,00,0.75
10,11,0.35
00,00,0.15
11,11,0.85
01,01,0.45
10,10,0.65
10,01,0.55

Notez que la commande head a affiché exactement 10 lignes du fichier, ce qui est le comportement par défaut. Le format de la commande que vous avez utilisé était simplement head suivi du chemin vers le fichier.

Personnalisation du nombre de lignes avec l'option -n

Alors que le comportement par défaut de head est d'afficher les 10 premières lignes, vous pouvez spécifier un nombre différent de lignes en utilisant l'option -n suivie du nombre de lignes que vous souhaitez afficher.

  1. Affichons seulement les 5 premières lignes de notre fichier quantum_data.txt :
head -n 5 ~/project/quantum_data.txt

La sortie devrait être :

Qubit1,Qubit2,Probability
00,01,0.25
01,10,0.5
11,00,0.75
10,11,0.35
  1. Vous pouvez également utiliser une forme plus courte de la commande en utilisant - suivi du nombre de lignes :
head -3 ~/project/quantum_data.txt

Cela affichera seulement les 3 premières lignes :

Qubit1,Qubit2,Probability
00,01,0.25
01,10,0.5

L'option -n vous offre la flexibilité d'afficher exactement le nombre de lignes dont vous avez besoin, ce qui en fait un outil puissant pour l'exploration initiale des données.

Travailler avec plusieurs fichiers

La commande head peut également être utilisée pour afficher les parties initiales de plusieurs fichiers à la fois. Cela est particulièrement utile lorsque vous avez besoin de comparer rapidement les en-têtes ou le contenu initial de plusieurs fichiers de données.

  1. Créons un deuxième fichier de données dans le répertoire de projet :
echo -e "Time,Energy,Temperature\n0,100,25.5\n1,95,25.7\n2,90,26.0\n3,85,26.2\n4,80,26.5\n5,75,26.8\n6,70,27.0\n7,65,27.3\n8,60,27.5\n9,55,27.8" > ~/project/temperature_data.txt
  1. Maintenant, créons un troisième fichier avec un contenu différent :
echo -e "ID,Name,Score\n1,Alice,95\n2,Bob,87\n3,Charlie,92\n4,David,78\n5,Eve,89" > ~/project/score_data.txt
  1. Pour afficher les 2 premières lignes des deux fichiers à la fois, exécutez :
head -n 2 ~/project/quantum_data.txt ~/project/temperature_data.txt

Cela produira une sortie avec des en-têtes indiquant chaque fichier :

==> /home/labex/project/quantum_data.txt <==
Qubit1,Qubit2,Probability
00,01,0.25

==> /home/labex/project/temperature_data.txt <==
Time,Energy,Temperature
0,100,25.5
  1. Vous pouvez également afficher les parties initiales de tous les fichiers texte dans le répertoire actuel en utilisant des caractères génériques (wildcards) :
head -n 1 ~/project/*.txt

Cela affichera la première ligne (habituellement l'en-tête) de chaque fichier texte dans le répertoire de projet :

==> /home/labex/project/quantum_data.txt <==
Qubit1,Qubit2,Probability

==> /home/labex/project/score_data.txt <==
ID,Name,Score

==> /home/labex/project/temperature_data.txt <==
Time,Energy,Temperature

La capacité d'examiner plusieurs fichiers simultanément fait de la commande head un outil efficace pour gérer et comparer des ensembles de données.

Application pratique pour l'analyse de données

Maintenant que vous savez utiliser la commande head, appliquons - la à un scénario d'analyse de données plus réaliste. Dans cette étape, nous allons créer un ensemble de données plus volumineux et utiliser head pour effectuer une inspection initiale des données.

  1. Tout d'abord, créons un répertoire pour nos ensembles de données :
mkdir -p ~/project/data
  1. Maintenant, générons un ensemble de données expérimentales simulées de 100 lignes :
echo "Timestamp,Voltage,Current,Temperature,Efficiency" > ~/project/data/experiment_results.csv
for i in {1..100}; do
  timestamp=$(date -d "2023-01-01 +$i hours" "+%Y-%m-%d %H:00:00")
  voltage=$(echo "scale=2; 220 + (RANDOM % 10) - 5" | bc)
  current=$(echo "scale=3; 0.5 + (RANDOM % 100) / 1000" | bc)
  temp=$(echo "scale=1; 25 + (RANDOM % 50) / 10" | bc)
  efficiency=$(echo "scale=2; 0.85 + (RANDOM % 10) / 100" | bc)
  echo "$timestamp,$voltage,$current,$temp,$efficiency" >> ~/project/data/experiment_results.csv
done
  1. Pour effectuer une inspection initiale de cet ensemble de données, nous utilisons la commande head :
head ~/project/data/experiment_results.csv

Vous devriez voir la ligne d'en-tête suivie des 9 premiers enregistrements :

Timestamp,Voltage,Current,Temperature,Efficiency
2023-01-01 01:00:00,220.xx,0.xxx,xx.x,0.xx
2023-01-01 02:00:00,220.xx,0.xxx,xx.x,0.xx
...
  1. Pour vous concentrer uniquement sur les en-têtes afin de comprendre la structure des données :
head -n 1 ~/project/data/experiment_results.csv

Cela affichera :

Timestamp,Voltage,Current,Temperature,Efficiency
  1. Pour vérifier quelques enregistrements après l'en-tête afin de comprendre le format des données :
head -n 4 ~/project/data/experiment_results.csv

Cela fournit suffisamment de données pour comprendre le format sans vous submerger :

Timestamp,Voltage,Current,Temperature,Efficiency
2023-01-01 01:00:00,220.xx,0.xxx,xx.x,0.xx
2023-01-01 02:00:00,220.xx,0.xxx,xx.x,0.xx
2023-01-01 03:00:00,220.xx,0.xxx,xx.x,0.xx

La commande head est inestimable pour l'exploration initiale des données. Vous pouvez rapidement examiner la structure des fichiers, vérifier les formats de données et avoir une idée de l'ensemble de données sans charger le fichier entier en mémoire ni attendre que l'affichage d'un gros fichier soit terminé.

Résumé

Dans ce laboratoire, vous avez appris à utiliser la commande Linux head, un outil puissant pour prévisualiser les parties initiales de fichiers texte. Voici un récapitulatif de ce que vous avez accompli :

  1. Vous avez appris l'utilisation de base de la commande head pour afficher les 10 premières lignes par défaut d'un fichier.

  2. Vous avez découvert comment personnaliser le nombre de lignes affichées en utilisant l'option -n, vous permettant d'afficher exactement la quantité de données dont vous avez besoin.

  3. Vous avez exploré comment utiliser head avec plusieurs fichiers simultanément, facilitant ainsi la comparaison des données entre différents fichiers.

  4. Vous avez appliqué ces compétences dans un scénario pratique d'analyse de données, en générant et en inspectant un ensemble de données expérimentales simulées.

La commande head est un outil essentiel dans la boîte à outils d'un data scientist, en particulier lorsqu'il travaille avec de grands ensembles de données où charger le fichier entier est inefficace ou inutile. En maîtrisant cette commande, vous avez maintenant la capacité de prévisualiser rapidement les fichiers, de vérifier les structures de données et d'effectuer une exploration initiale des données de manière efficace.

Au fur et à mesure que vous continuerez à développer vos compétences en Linux, rappelez-vous que des commandes comme head font partie d'un ensemble plus large d'outils qui inclut d'autres outils de traitement de texte tels que tail, grep et awk, tous pouvant être combinés pour créer des pipelines d'analyse de données puissants.