Базовая обработка файлов с помощью команды cat
Здесь будет использоваться команда cat
для вывода, создания и сцепления файлов. Эта команда полезна при выполнении сложной первичной обработки данных.
Команда cat
является одной из самых основных и полезных команд для работы с файлами. Она включает три основные функции для текстовых файлов: отображение содержимого, создание новых файлов и объединение копий.
Отображение содержимого
Команда cat
чаще всего используется для чтения содержимого файлов. Местом назначения потока вывода по умолчанию, который также называется стандартным потоком вывода или stdout
, является экран монитора. Чтобы отобразить содержимое файла, необходимо ввести cat <filename>
.
cat
Выполните команду, чтобы отобразить содержимое файла NASA-software-API.txt:cat NASA-software-API.txt
Выходные данные должны содержать каждую строку в файле и заканчиваться следующими строками:
... SSC-00424 SSC 2013-09-06T00:00:00.000 "General Public" "SSC Site Status Mobile Application" GSC-14732-1 GSFC 2004-06-09T00:00:00.000 "Open Source" "Tool For Interactive Plotting, Sonification, And 3D Orbit Display (TIPSOD)" GSC-14730-1 GSFC 2004-06-09T00:00:00.000 "Open Source" "Space Physics Data Facility Web Services" GSC-14726-1 GSFC 2004-06-09T00:00:00.000 "Open Source" "Earth Observing System (EOS) Clearinghouse (ECHO)"
Создание файлов
Создавать файлы можно с помощью команды cat
. Использование этой команды часто проще, чем использовать текстовый редактор или vi (сокращенно для визуального) редактора для небольших файлов.
Мы создаем новые файлы, перенаправляя стандартный вывод команды cat
с оператором перенаправления (>
) и указывая имя создаваемого файла. После добавления текста нажмите клавиши CTRL+D, чтобы вернуться к подсказке.
cat
Выполните команду с оператором "больше чем" (>
) и именем создаваемого файла, например file1:cat > file1
Добавьте приведенный ниже текст и нажмите клавишу ВВОД, чтобы переместить курсор на новую строку.
NASA headquarters
Нажмите клавиши CTRL+D, чтобы завершить действие объединения и восстановить запрос.
Чтобы добавить в файл строку без перезаписи существующего содержимого, используйте оператор «двойной знак "больше"» (
>>
) с командойcat
:cat >> file1
Добавьте приведенный ниже текст и нажмите клавишу ВВОД, чтобы переместить курсор на новую строку.
Goddard Space Flight Center
Нажмите клавиши CTRL+D, чтобы завершить действие объединения и восстановить запрос.
Если выполнить команду
ls
, новый файл отобразится в каталоге:file1 NASA-logs-1995.txt NASA-software-API.txt
Используйте базовую команду
cat
, чтобы отобразить содержимое обновленного файла:cat file1
Вы должны увидеть следующий результат:
NASA headquarters Goddard Space Flight Center
Сцепление файлов
Третий вариант использования команды cat
— сцепление копий содержимого файлов. Поскольку сцепление происходит только с копиями, эта операция не влияет на исходные файлы.
Выполните следующую команду, чтобы объединить две копии file1 в
stdout
:cat file1 file1
Выходные данные должны выглядеть примерно так:
NASA headquarters Goddard Space Flight Center NASA headquarters Goddard Space Flight Center
Если вы выполните команду
ls
сейчас, вы заметите, что новый файл не добавлен в каталог:file1 NASA-logs-1995.txt NASA-software-API.txt
Содержимое каждого файла отображено в
stdout
начиная с новой строки, в том порядке, в котором имена файлов отображаются в команде. Также можно перенаправить результат объединения в файл.cat
Выполните команду с оператором больше (>
) для сохранения выходных данных в новом файле, например file2:cat file1 file1 > file2
Изучите содержимое нового файла:
cat file2
Выходные данные должны выглядеть так:
NASA headquarters Goddard Space Flight Center NASA headquarters Goddard Space Flight Center
Если выполнить команду
ls
снова, новый файл отобразится в каталоге:file1 file2 NASA-logs-1995.txt NASA-software-API.txt