Как вывести содержимое файла в командной строке
Перейти к содержимому

Как вывести содержимое файла в командной строке

  • автор:

Как в терминале посмотреть содержимое файла?

Вместо myfile нужно указать имя файла или путь до файла.

Если файл очень большой, то можно вывести только несколько последних строк файла. Для этого используется команда tail:

tail mybigfile

Также можно воспользоваться командой less:

less mygoodfile

Данная команда открывает файл в режиме просмотра — вы можете просматривать содержимое, нажимая клавиши Вверх/Вниз или Enter. Чтобы выйти из режима просмотра нажмите клавишу q.

Просмотр содержимого файлов в командной строке Linux

Просмотр содержимого файлов в командной строке Linux

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

Команда cat

Команда cat выводит содержимое файла, который передается ей в качестве аргумента.

cat myfile.txt

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

Команда cat

Команда nl

Команда nl действует аналогично команде cat , но выводит еще и номера строк в столбце слева.

nl mycode.cpp

Команду nl удобно применять для просмотра программного кода или поиска строк в файлах конфигурации.

Команда nl

Команда less

Утилита less выводит содержимое файла, но отображает его только в рамках текущего окна в режиме просмотра.

less myfile.txt

Команда less

Вы можете прокручивать текст файла клавишами стрелок или перелистывать страницы клавишами w и z .

Для поиска текста внутри файла нажмите / .

Для просмотра списка доступных горячих клавиш нажмите h

Чтобы выйти из режима просмотра используется клавиша q .

Очень удобно, что после выхода окно терминала остается чистым и не содержит текст файла.

Команда more

Команда more очень похожа на команду less . Она также выводит файл в терминале в режиме просмотра, но имеет некоторые отличия от команды less.

Например, less в конце файла выводит сообщение (END) (или EOF — End Of File) и ожидает нажатия клавиши q чтобы закрыть режим просмотра, а more по достижении конца файла сразу возвращает управление в терминал.

Также more после своей работы оставляет текст файла в терминале, а less работает «чисто» и не сохраняет текст в терминале.

more myfile.txt

Команда head

Команда head выводит на экран только первые 10 строк файла.

head somefile.txt

Используя опцию -n можно задать количество строк, которое нужно вывести. Например, чтобы вывести 15 строк используется команда:

head -n15 somefile.txt

Вместо -n можно просто использовать знак минус — , за которым сразу указывается количество строк.

head -11 somefile.txt

Команда head

Команда tail

Команда tail аналогична команде head , но выводит последние 10 строк файла.

tail somefile.txt

Заключение

Команды, которые мы рассмотрели, имеют дополнительные возможности и области применения. Для получения справки по каждой команде можно воспользоваться Man-страницами.

man cat man nl man less man more man head man tail

Как создать или вывести текстовый файл в командной строке Windows

Создание и чтение текстовых файлов в командной строке

Если вы оказались без доступа к чему-либо кроме командной строки или Windows PowerShell и по какой-то причине вам требуется возможность создания или чтения текстовых файлов, это вполне реализуемо, причем более чем одним методом.

Создание текстовых файлов в командной строке

Возможность создания текстовых файлов доступна как в командной строке (cmd.exe), так и в PowerShell. Начнем с первого варианта.

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

Команда ECHO

Команда командной строки echo предназначена для вывода текстовых сообщений в окне консоли, например, при выполнении сценария в bat-файле, но может быть использована и для вывода текста в файл, благодаря возможности использования оператора «>» для перенаправления вывода из консоли в файл.

echo Содержимое текстового файла > file.txt

В результате её выполнения в текущей рабочей папке командной строки будет создан файл с именем file.txt и содержимым «Содержимое текстового файла».

Создание текстового файла с помощью команды echo

COPY CON

Команда copy с параметром con позволяет скопировать содержимое консоли в файл. Использование возможности будет состоять из следующих шагов:

copy con имя_файла.txt

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

  • Курсор переместится на строчку ниже, и вы сможете набирать текст так, как делаете это обычно, включая перенос строки. Создание текстового файла с помощью copy con
  • Для завершения набора и сохранения текстового файла нажмите сочетание клавиш Ctrl+Z, а затем — Enter. Это добавит отметку конца файла и сохранит его в текущей папке с указанным на 1-м шаге именем. Сохранение текстового файла с помощью copy con
  • Создание текстового файла в PowerShell

    PowerShell также имеет набор встроенных командлетов для сохранения текстовых данных в файл.

    Out-File

    Использование Out-File в PowerShell по своей функциональности сходно с оператором перенаправления вывода в командной строке. Вывод консоли перенаправляется в заданный файл.

    "Текстовая строка" | Out-File -FilePath .\file.txt

    В этом примере в текущей папке PowerShell будет создан файл с именем file.txt и содержимым «Текстовая строка».

    New-Item

    Создание нового текстового файла в PowerShell возможно с помощью командлета New-Item. Пример команды, в которой создается текстовый файл file.txt, содержащий «Текстовая строка» в текущем расположении:

    New-Item -Path . -Name "file.txt" -ItemType "file" -Value "Текстовая строка"

    Создание текстового файла с помощью New-Item в PowerShell

    Set-Content и Add-Content

    Ещё два командлета PowerShell для работы с текстовыми файлами:

    • Set-Content — перезаписывает содержимое файла
    • Add-Content — добавляет содержимое в конце выбранного файла

    Их использование можно увидеть на примере следующей команды:

    Add-Content -Path .\file.txt -Value "Ещё одна текстовая строка"

    Добавление текста к файлу в PowerShell

    Вывод (чтение) текстового файла в командной строке и PowerShell

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

    TYPE

    Самый простой вариант — использование команды TYPE с указанием пути к файлу, который нужно отобразить в консоли, например:

    type file.txt

    Вывод текстового файла с помощью команды type

    MORE

    Если файл объемный и содержит большое количество строк, используйте команду more, например:

    more file.txt

    Выполнив команду, вы увидите часть содержимого текста, которая помещается в окне консоли, далее вы можете использовать следующие клавиши:

    Вывод текстового файла с помощью команды more

    • Enter — для отображения следующей строки файла.
    • Пробел — для отображения следующих строк документа, которые поместятся в активное окно консоли.
    • P — Показать следующие N строк. После нажатия этой клавиши с последующим указанием количества строк, будет выведено соответствующее количество строк текстового документа.
    • S — пропустить следующие N строк, работает аналогично предыдущему варианту.
    • Клавиша «=» — для отображения текущего номера строки.
    • Q — для прекращения выполнения команды more.

    Get-Content

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

    Get-Content file.txt

    Чтение текстового файла с помощью Get-Content в PowerShell

    Также вы можете выводить определенные строки файла, с помощью команд вида (вывод первых или последних 10 строк соответственно):

    Get-Content file.txt | Select-Object -First 10 Get-Content file.txt | Select-Object -Last 10

    Или присвоить содержимое файла переменной и вывести конкретную строку:

    $file_text = Get-Content file.txt $file_text[2]

    type

    В командной оболочке Windows введите встроенную команду, отображающую содержимое текстового файла. Используйте команду type для просмотра текстового файла, не изменяя его.

    В PowerShell введите встроенный псевдоним командлета Get-Content, который также отображает содержимое файла, но с помощью другого синтаксиса.

    Синтаксис

    type [:][]

    Параметры

    Параметр Описание
    [:][]

    Указывает расположение и имя файла или файлов, которые требуется просмотреть. Если содержит пробелы, его необходимо заключить в кавычки (например, «Имя файла, содержащее Spaces.txt»). Можно также добавить несколько имен файлов, добавив пробелы между ними.
    /? Отображение справки в командной строке.
    Замечания
    • При отображении двоичного файла или файла, созданного программой, на экране могут отображаться странные символы, включая символы формы и символы escape-последовательности. Эти символы представляют коды элементов управления, используемые в двоичном файле. Как правило, не используйте команду типа для отображения двоичных файлов.

    Примеры

    Чтобы отобразить содержимое файла с именем holiday.mar, введите:

    type holiday.mar 

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

    type holiday.mar | more 

    Дополнительные ссылки

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *