Я хотел бы отобразить содержимое текстового файла в командной строке. Файл содержит только 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может быть полезным.