Работа с различными форматами файлов
На этом этапе мы рассмотрим, как использовать команду column
с различными форматами файлов и разделителями. Это поможет вам понять универсальность утилиты column
и то, как ее можно применять к разным типам данных.
Работа с файлами в формате CSV
Файлы в формате CSV (Comma-Separated Values, значения, разделенные запятыми) — это распространенный формат для хранения табличных данных. Создадим более сложный файл в формате CSV и используем команду column
для его форматирования.
Сначала создайте новый файл в формате CSV:
cd ~/project
echo -e "Name,Age,Occupation,City\nAlex,28,Engineer,Boston\nSamantha,35,Teacher,Chicago\nMohamed,42,Doctor,New York\nLin,31,Artist,San Francisco" > employees.csv
Проверим содержимое этого файла:
cat employees.csv
Вы должны увидеть:
Name,Age,Occupation,City
Alex,28,Engineer,Boston
Samantha,35,Teacher,Chicago
Mohamed,42,Doctor,New York
Lin,31,Artist,San Francisco
Теперь используем команду column
для форматирования этого файла в формате CSV:
column -t -s ',' employees.csv
Вывод должен выглядеть так:
Name Age Occupation City
Alex 28 Engineer Boston
Samantha 35 Teacher Chicago
Mohamed 42 Doctor New York
Lin 31 Artist San Francisco
Обратите внимание, как команда column
аккуратно выровняла данные в колонках, сделав их намного легче читаемыми.
Работа с файлами в формате TSV
TSV (Tab-Separated Values, значения, разделенные табуляцией) — это еще один распространенный формат для табличных данных. Создадим файл в формате TSV и отформатируем его с помощью команды column
.
Создайте файл в формате TSV:
echo -e "Product\tPrice\tCategory\nLaptop\t999.99\tElectronics\nBook\t12.50\tMedia\nChair\t149.50\tFurniture" > products.tsv
Посмотрим на его содержимое:
cat products.tsv
Вы должны увидеть:
Product Price Category
Laptop 999.99 Electronics
Book 12.50 Media
Chair 149.50 Furniture
Теперь отформатируем его с помощью команды column
. Поскольку табуляция является разделителем по умолчанию для команды column
, нам не нужно указывать разделитель:
column -t products.tsv
Вывод должен выглядеть так:
Product Price Category
Laptop 999.99 Electronics
Book 12.50 Media
Chair 149.50 Furniture
Использование нашего сценария с разными файлами
Теперь используем наш сценарий columnize.sh
с этими разными файлами:
Для файла в формате CSV:
~/project/columnize.sh employees.csv ,
Для файла в формате TSV:
~/project/columnize.sh products.tsv $'\t'
Примечание: Во второй команде мы используем $'\t'
для представления символа табуляции. Это специальный синтаксис в bash, который позволяет включать в команду специальные символы, такие как табуляция.
Обе команды должны дать хорошо отформатированный вывод, демонстрирующий гибкость нашего сценария при работе с разными форматами файлов и разделителями.
На этом этапе мы показали, как команда column
и наш сценарий можно использовать для форматирования различных типов табличных данных, делая их более читаемыми и легкими для анализа.