Я хотів би відобразити вміст текстового файлу в командному рядку. Файл містить лише 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 - об'єднати файли та друкувати на стандартному виході
Зараз кішка чудово друкує файли, але є альтернативи:
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 - файл з котами | sed s / foo / bar /> файл
Довідка Bash - Перенаправлення
< filename
саме те, що ви хочете, ..." вводить в оману. Загалом, хоча це цікава дискусія щодо альтернатив, я думаю, що cat
це простіше.
< filename
не відображає вміст файлу, але cat filename
робить.
tee < filename
.
echo "$(<filename)"
башизм. Тут недостатньо цього.
"$(<filename)"
. Дякую ...
Один з варіантів - використовувати 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
може бути корисним.