Я хотел бы отобразить содержимое текстового файла в командной строке. Файл содержит только 5-6 символов. Есть простой способ сделать это?
Я хотел бы отобразить содержимое текстового файла в командной строке. Файл содержит только 5-6 символов. Есть простой способ сделать это?
Ответы:
cat
Поскольку ваш файл короткий, вы можете использовать
cat
.
cat filename
less
Если вам нужно просмотреть содержимое более длинного файла, вы можете использовать пейджер, например
less
.
less filename
Вы можете less
вести себя как cat
при запуске на небольших файлов и ведут себя нормально , но иным путем передачи его в -F
и -X
флаги.
less -FX filename
У меня есть псевдоним для less -FX
. Вы можете сделать его себе так:
alias aliasname='less -FX'
Если вы добавите псевдоним в конфигурацию оболочки , вы можете использовать его навсегда.
od
Если ваш файл содержит странные или непечатные символы, вы можете использовать
od
для проверки символов. Например,
$ cat file
(ÐZ4 ?o=÷jï
$ od -c test
0000000 202 233 ( 320 K j 357 024 J 017 h Z 4 240 ? o
0000020 = 367 \n
0000023
less
какие-либо явные преимущества по сравнению с другими программами пейджера pg
, или это сводится к личным предпочтениям?
less
имеет больше возможностей, чем pg
. Взгляните на less(1)
и pg(1)
страницы. Есть и другие пейджеры. Взгляните на unix.stackexchange.com/questions/81129/… . less
это, пожалуй, самый широко используемый пейджер, но какой вы используете, зависит от личных предпочтений.
more
и most
!
Даже если каждый использует cat filename
для печати текстовых файлов в стандартном выводе первой цели является жуликом кошка enating. Со страницы руководства кошки:
cat - объединяет файлы и печатает на стандартный вывод
Теперь cat подходит для печати файлов, но есть альтернативы:
echo "$(<filename)"
or
printf "%s" "$(<filename)"
( )
Возвращает значение выражения, в этом случае содержимое файла , который затем расширяется $
для echo
или printf
.
Обновить:
< filename
Это делает именно то, что вы хотите, и легко запомнить.
Вот пример, который позволяет вам выбрать файл в меню и затем распечатать его.
#!/bin/bash
select fname in *;
do
# Don't forget the "" around the second part, else newlines won't be printed
printf "%s" "$(<$fname)"
break
done
Для дальнейшего чтения:
BashPitfalls - файл cat | sed s / foo / bar /> file
Bash Reference - Перенаправление
< filename
это именно то, что вы хотите, ...» вводит в заблуждение. В целом, хотя это интересная дискуссия об альтернативах, я думаю, что cat
это проще.
< filename
не отображает содержимое файла, но отображает cat filename
.
tee < filename
тоже можете использовать .
echo "$(<filename)"
башизм. Здесь этого недостаточно.
"$(<filename)"
. Спасибо ...
Инструменты для обработки текстовых файлов в Unix - это основные повседневные команды:
В Unix и Linux, чтобы распечатать весь контент в файл
cat filename.txt
или же
more filename.txt
или же
less filename.txt
За последние несколько строк
tail filename.txt
Для первых нескольких строк
head filename.txt
Одним из вариантов является использование more
например more file.txt
Однако он не имеет все функции, добавленные less
.
Одним простым примером является то, что вы не можете прокрутить обратно вверх в выводе. Как правило, он был заменен меньшим - который был назван в шутку, потому что
меньше - больше
Я всегда использую $ less "your file here"
, так как он очень прост, предоставляет встроенную интерактивную grep
команду и предоставляет вам простой в использовании интерфейс, который вы можете прокручивать с помощью клавиш со стрелками.
(Он также включен почти в каждой системе * nix)
less
является overkill-версией more
(сравните man less
с man more
), и для меня она имеет две досадные особенности: 1) она переключается на альтернативный экранный буфер, когда меньше заканчивается, файл, который вы только что просматривали, исчезает 2) в EOF вы должны явно ввести q
(Я знаю, есть вариант для этого). Поэтому одним из моих первых действий в новой среде является настройка export PAGER=/bin/more
в моем профиле и постоянное использование more
.
-X
флаг. 2) Попробуйте -E
флаг. less
имеет more
режим эмуляции. Вы можете включить его, установив LESS_IS_MORE
переменную среды. Вы можете прокрутить вверх в more
режиме эмуляции.
less
это слишком сложно. Его способность запускать внешние команды является прекрасным примером его чрезмерной сложности.
more
и множеству дополнительных функций, она отлично справляется со своей работой.
Если это большой файл, и вы хотите найти какую-то конкретную часть, вы можете использовать
cat filename | grep text_to_search -ni
Также вы можете использовать более интерактивный редактор Vim (или редактор vi, если у вас нет Vim):
vim filename
Or
vi filename
Vim / vi - отличный редактор, его также можно использовать для чтения в «Нормальном режиме» или с помощью опции -R, он имеет много функций, которые помогут вам при просмотре файла.
vim -R
есть view
. Но имейте в виду, что он не любит перенаправления, как обсуждалось в xargs и vi - «Ввод не из терминала» .
Используйте команду cat для отображения содержимого имени файла. имя файла кошки
Используйте команду vim для редактирования файла. VIM имя файла
sed -n l file
может быть полезным.