Показать начало файлов в Linux

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

Добро пожаловать в Нексус Фьючер Тех Лаб (Nexus Future Tech Lab) — передовой научный центр, где собираются одни из самых выдающихся умов, чтобы расширять границы науки и технологии. Вы — один из почетных ученых лаборатории, и в настоящее время вы участвуете в важном проекте, который заключается в анализе огромных наборов данных для выявления закономерностей, которые могут привести к прорывам в эффективности квантовых вычислений.

Ваша задача на сегодня — овладеть командой Linux head, которая необходима для быстрого просмотра начала больших файлов. Эта возможность позволит вам изучать начальные закономерности в данных без необходимости загружать в память целые наборы данных, тем самым экономя драгоценное время и вычислительные ресурсы в нашей динамичной экспериментальной среде.

Это Guided Lab, который предоставляет пошаговые инструкции, чтобы помочь вам учиться и практиковаться. Внимательно следуйте инструкциям, чтобы выполнить каждый шаг и получить практический опыт. Исторические данные показывают, что это лабораторная работа уровня начальный с процентом завершения 100%. Он получил 96% положительных отзывов от учащихся.

Базовое использование команды head

Команда head в Linux позволяет просматривать начальную часть текстовых файлов. Это особенно полезно при работе с большими файлами данных, когда вам нужно изучить только начальную часть содержимого.

Начнем с создания файла с примером данных для работы. Мы создадим этот файл в вашей проектной директории.

  1. Сначала убедитесь, что вы находитесь в проектной директории:
cd ~/project
  1. Теперь создадим файл с именем quantum_data.txt с некоторыми примерами данных:
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. По умолчанию, когда вы используете команду head без каких-либо параметров, она отображает первые 10 строк файла. Попробуем это:
head ~/project/quantum_data.txt

Вы должны увидеть следующий вывод:

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

Обратите внимание, что команда head отобразила ровно 10 строк из файла, что является поведением по умолчанию. Формат команды, которую вы использовали, был прост: head, за которой следовал путь к файлу.

Настройка количества строк с помощью опции -n

Хотя поведение по умолчанию команды head заключается в отображении первых 10 строк, вы можете указать другое количество строк, используя опцию -n, за которой следует количество строк, которые вы хотите просмотреть.

  1. Давайте посмотрим только первые 5 строк нашего файла quantum_data.txt:
head -n 5 ~/project/quantum_data.txt

Вывод должен быть таким:

Qubit1,Qubit2,Probability
00,01,0.25
01,10,0.5
11,00,0.75
10,11,0.35
  1. Вы также можете использовать более короткую форму команды, используя - с последующим количеством строк:
head -3 ~/project/quantum_data.txt

Это отобразит только первые 3 строки:

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

Опция -n позволяет вам гибко выбирать точное количество строк, которые вам нужно просмотреть, что делает ее мощным инструментом для первоначального исследования данных.

Работа с несколькими файлами

Команда head также может использоваться для одновременного просмотра начальных частей нескольких файлов. Это особенно полезно, когда вам нужно быстро сравнить заголовки или начальную часть содержимого нескольких файлов данных.

  1. Создадим второй файл с данными в проектной директории:
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. Теперь создадим третий файл с другим содержимым:
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. Чтобы просмотреть первые 2 строки обоих файлов одновременно, выполните следующую команду:
head -n 2 ~/project/quantum_data.txt ~/project/temperature_data.txt

В результате будет выведен текст с заголовками, указывающими на каждый файл:

==> /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. Вы также можете просмотреть первые строки всех текстовых файлов в текущей директории, используя подстановочные знаки:
head -n 1 ~/project/*.txt

В этом случае будут отображены первые строки (обычно заголовки) каждого текстового файла в проектной директории:

==> /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

Возможность одновременно просматривать несколько файлов делает команду head эффективным инструментом для управления и сравнения наборов данных.

Практическое применение в анализе данных

Теперь, когда вы понимаете, как использовать команду head, давайте применим ее к более реальной ситуации анализа данных. На этом этапе мы создадим более крупный набор данных и используем head для первичного осмотра данных.

  1. Сначала создадим директорию для наших наборов данных:
mkdir -p ~/project/data
  1. Теперь сгенерируем имитированный экспериментальный набор данных из 100 строк:
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. Чтобы провести первичный осмотр этого набора данных, используем команду head:
head ~/project/data/experiment_results.csv

Вы должны увидеть строку заголовка, за которой следуют первые 9 записей:

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. Чтобы сосредоточиться только на заголовках и понять структуру данных:
head -n 1 ~/project/data/experiment_results.csv

В результате будет отображено:

Timestamp,Voltage,Current,Temperature,Efficiency
  1. Чтобы проверить несколько записей после заголовка и понять формат данных:
head -n 4 ~/project/data/experiment_results.csv

Это предоставит достаточно данных для понимания формата, не перегружая вас информацией:

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

Команда head бесценна для первичного исследования данных. Вы можете быстро изучить структуру файла, проверить форматы данных и получить представление о наборе данных, не загружая весь файл в память и не дожидаясь полного отображения большого файла.

Резюме

В этом практическом занятии вы узнали, как использовать команду Linux head, которая является мощным инструментом для предварительного просмотра начальных частей текстовых файлов. Вот краткий обзор того, что вы достигли:

  1. Вы изучили базовое использование команды head для отображения первых 10 строк файла по умолчанию.

  2. Вы узнали, как настроить количество отображаемых строк с помощью опции -n, что позволяет вам просматривать именно то количество данных, которое вам нужно.

  3. Вы исследовали, как использовать head с несколькими файлами одновременно, что упрощает сравнение данных из разных файлов.

  4. Вы применили эти навыки в практической ситуации анализа данных, создав и проверив имитированный экспериментальный набор данных.

Команда head является важным инструментом в арсенале дата-ученого, особенно при работе с большими наборами данных, когда загрузка всего файла неэффективна или излишня. Освоив эту команду, вы теперь можете быстро просматривать файлы, проверять структуры данных и эффективно проводить первичное исследование данных.

По мере развития своих навыков работы с Linux помните, что команды типа head являются частью более широкого инструментария, который включает другие средства обработки текста, такие как tail, grep и awk, все из которых можно комбинировать для создания мощных конвейеров анализа данных.