Jak mogę wyświetlić zawartość pliku tekstowego w wierszu poleceń?

Chciałbym wyświetlić zawartość pliku tekstowego w linii poleceń. Plik zawiera tylko 5-6 znaków. Czy istnieje łatwy sposób na zrobienie tego?

Odpowiedz

Używając cat

Ponieważ twój plik jest krótki, możesz użyć cat .

cat filename 

Używanie less

Jeśli musisz przeglądać zawartość dłuższego pliku, możesz użyć pagera takie jak less .

less filename 

Możesz sprawić, aby less zachowywał się jak cat po wywołaniu dla małych plików i zachowywał się normalnie, przekazując mu -F i -X flagi.

less -FX filename 

Mam alias dla less -FX. Możesz zrobić taki sam:

alias aliasname="less -FX" 

Jeśli dodasz alias do swojej konfiguracji powłoki , możesz go używać wiecznie.

Używając od

Jeśli twój plik zawiera dziwne lub niedrukowalne znaki, możesz użyć od , aby sprawdzić znaki. Na przykład

$ 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 

Komentarze

  • +1, a także sed -n l file może być przydatne.
  • Czy less ma jakieś wyraźne zalety w porównaniu z innymi programami do obsługi stronicowania, takimi jak pg , czy sprowadza się to po prostu do osobistych preferencji?
  • @SamWeinberg: less ma więcej funkcje niż pg. Przyjrzyj się less(1) i pg(1) podręczników. Istnieją również inne pagery. Spójrz na unix.stackexchange.com/questions/81129/… . less to prawdopodobnie najczęściej używany pager, ale którego używasz, sprowadza się do osobistych preferencji.
  • don ' nie zapomnij more i most!

Odpowiedz

Mimo że wszyscy używają cat filename do wydrukowania tekstu pliku na standardowe wyjście, pierwszym celem jest con kot enating. Ze strony podręcznika cat:

cat – łączy pliki i drukuje na standardowym wyjściu

Teraz cat jest odpowiedni do drukowania plików, ale są alternatywy:

 echo "$(<filename)" or printf "%s" "$(<filename)" 

( ) return wartość wyrażenia, w tym przypadku zawartość nazwa_pliku , która jest następnie rozwijana przez $ dla echo lub printf.

Aktualizacja:

< filename 

Robi dokładnie to, co chcesz i jest łatwe do zapamiętania.

Oto przykład, który pozwala wybrać plik z menu, a następnie go wydrukować.

#!/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 

Więcej czytanie:
BashPitfalls – plik cat | sed s / foo / bar /> plik
Bash Reference – Przekierowanie

Komentarze

  • Twoja aktualizacja: ” < filename to dokładnie wh jeśli chcesz, … ” wprowadza w błąd. Ogólnie rzecz biorąc, chociaż jest to interesująca dyskusja na temat alternatyw, myślę, że cat jest prostsza.
  • Nagie < filename nie wyświetlić zawartość pliku, ale cat filename tak.
  • Możesz też użyć tee < filename.
  • +1 za bashizm echo "$(<filename)". Nie dość tego tutaj.
  • To ' świetny pomysł na użycie wewnętrznego polecenia Linuksa z echo "$(<filename)". Dzięki …

Odpowiedź

Narzędzia do obsługi plików tekstowych w systemie UNIX to podstawowe, codzienne polecenia:

W systemach UNIX i Linux, aby wydrukować całą zawartość w pliku

cat filename.txt 

lub

more filename.txt 

lub

less filename.txt 

Kilka ostatnich wierszy

tail filename.txt 

Dla kilka pierwszych wierszy

head filename.txt 

Odpowiedź

Do wyświetlenia treści możesz użyć następującego polecenia pliku tekstowego.

 cat filename 

Komentarze

  • Więcej informacji na temat cat, uruchom man cat.

Odpowiedz

Jedną z opcji jest użycie more

np.more file.txt

Jednak nie ma wszystkich funkcji dodanych przez less.
Prostym przykładem jest to, że nie można przewijać danych wyjściowych w górę. Generalnie zostało zastąpione przez mniej – które zostało nazwane żartobliwie, ponieważ

mniej znaczy więcej

Komentarze

  • Ładne wyjaśnienie, dlaczego nazwa była mniejsza

Odpowiedź

Zawsze używam $ less "your file here", ponieważ jest to bardzo proste, zapewnia wbudowaną interaktywną grep i zapewnia łatwy w użyciu interfejs, który można przewijać za pomocą klawiszy strzałek.

(Jest również dostępny w prawie każdym systemie * nix)

Komentarze

  • less to przesadna wersja more (porównaj man less z man more) i dla mnie ma dwie irytujące funkcje: 1) przełącza się na alternatywny bufor ekranu, gdy less się kończy, plik który właśnie przeglądałeś znika 2) w EOF musisz jawnie wpisać q (wiem, że ' jest odpowiednią opcją). Dlatego jedną z moich pierwszych czynności w nowym środowisku jest ustawienie export PAGER=/bin/more w moim profilu i używanie more przez cały czas.
  • @ ott–: 1) Wypróbuj flagę -X. 2) Wypróbuj flagę -E. less ma tryb emulacji more. Możesz ją włączyć, ustawiając zmienną środowiskową LESS_IS_MORE. W more trybie emulacji można przewijać w górę.
  • Zobacz też: unix.stackexchange.com/questions / 81129 / …
  • Chociaż ogólnie zgadzam się, że less jest przesadnie skomplikowane. Jego zdolność do uruchamiania poleceń zewnętrznych jest doskonałym przykładem jego nadmiernej złożoności.
  • @EvanTeitelman I ' Zawsze uważałem, że funkcja grep jest niezwykle użyteczna, @ott – Uważam, że z tego powodu ' emulacja more i ' ma wiele dodatkowych funkcji, bardzo dobrze spełnia swoje zadanie.

Odpowiedź

Jeśli jest to duży plik i chcesz przeszukać jakąś konkretną część, możesz użyć

 cat filename | grep text_to_search -ni 

Możesz także użyć bardziej interaktywnego edytora Vima (lub edytora vi, jeśli nie masz Vima):

 vim filename Or vi filename

Vim / vi to świetny edytor, może być również używany jako czytnik w „Trybie Normalnym” lub używając opcji -R, ma wiele funkcji, które pomoże ci w przeglądaniu pliku.

Komentarze

  • Krótsze dla vim -R to view. Pamiętaj jednak, że nie lubi przekierowań, o czym mowa w xargs i vi – „Dane wejściowe nie pochodzą z terminala” .
  • dzięki @manatwork for the heads up! Niedawno zacząłem używać Vima i podoba mi się ze względu na kilka jego funkcji. Jeśli chodzi o przekierowania, zapomniałem o tym, dzięki za przypomnienie. W tej chwili pracuję na zdalnej maszynie wirtualnej, gdzie używam ssh bez interfejsu GUI, dlatego Vim jest bardzo przydatny, gdy żaden inny edytor GUI nie może działać, ' s dlaczego podkreśliłem tutaj Vima.

Odpowiedź

Użyj polecenia cat, aby wyświetlić zawartość nazwy pliku. cat nazwa_pliku

Użyj polecenia vim do edycji pliku. nazwa pliku vim

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *