Базовая обработка файлов с помощью команды 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, чтобы вернуться к подсказке.

  1. cat Выполните команду с оператором "больше чем" (>) и именем создаваемого файла, например file1:

    cat > file1
    
  2. Добавьте приведенный ниже текст и нажмите клавишу ВВОД, чтобы переместить курсор на новую строку.

    NASA headquarters
    
  3. Нажмите клавиши CTRL+D, чтобы завершить действие объединения и восстановить запрос.

  4. Чтобы добавить в файл строку без перезаписи существующего содержимого, используйте оператор «двойной знак "больше"» (>>) с командой cat:

    cat >> file1
    
  5. Добавьте приведенный ниже текст и нажмите клавишу ВВОД, чтобы переместить курсор на новую строку.

    Goddard Space Flight Center
    
  6. Нажмите клавиши CTRL+D, чтобы завершить действие объединения и восстановить запрос.

  7. Если выполнить команду ls, новый файл отобразится в каталоге:

    file1   NASA-logs-1995.txt   NASA-software-API.txt
    
  8. Используйте базовую команду cat, чтобы отобразить содержимое обновленного файла:

    cat file1
    

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

    NASA headquarters
    Goddard Space Flight Center
    

Сцепление файлов

Третий вариант использования команды cat — сцепление копий содержимого файлов. Поскольку сцепление происходит только с копиями, эта операция не влияет на исходные файлы.

  1. Выполните следующую команду, чтобы объединить две копии file1 в stdout:

    cat file1 file1
    

    Выходные данные должны выглядеть примерно так:

    NASA headquarters
    Goddard Space Flight Center
    NASA headquarters
    Goddard Space Flight Center
    
  2. Если вы выполните команду ls сейчас, вы заметите, что новый файл не добавлен в каталог:

    file1   NASA-logs-1995.txt   NASA-software-API.txt
    

    Содержимое каждого файла отображено в stdout начиная с новой строки, в том порядке, в котором имена файлов отображаются в команде. Также можно перенаправить результат объединения в файл.

  3. cat Выполните команду с оператором больше (>) для сохранения выходных данных в новом файле, например file2:

    cat file1 file1 > file2
    
  4. Изучите содержимое нового файла:

    cat file2
    

    Выходные данные должны выглядеть так:

    NASA headquarters
    Goddard Space Flight Center
    NASA headquarters
    Goddard Space Flight Center
    
  5. Если выполнить команду ls снова, новый файл отобразится в каталоге:

    file1   file2   NASA-logs-1995.txt   NASA-software-API.txt