Hogyan jeleníthetek meg egy szöveges fájl tartalmát a parancssorban?

Szeretném megjeleníteni egy szöveges fájl tartalmát a parancssorban. A fájl csak 5-6 karaktert tartalmaz. Van erre egyszerű módszer?

Válasz

A cat

Mivel a fájlja rövid, használhatja a cat parancsot.

cat filename 

A less

használata Ha hosszabb fájl tartalmát kell megtekintenie, használhat személyhívót például less .

less filename 

A less úgy viselkedhet, mint cat, ha kis fájlokra hívják meg, és normálisan viselkedhet másként, ha átadja a -F és -X zászlók.

less -FX filename 

Aliasom van a . Ilyet saját maga is elkészíthet:

alias aliasname="less -FX" 

Ha az álnevet hozzáadja a shell konfigurációhoz , örökké használhatja.

A od

használata Ha a fájl furcsa vagy nem nyomtatható karaktereket tartalmaz, használhatja a od a karakterek vizsgálatához. Például

$ 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 

megjegyzések

  • +1, szintén sed -n l file hasznos lehet.
  • Van-e less egyértelmű előnye más személyhívó programokkal, például a pg , vagy csak személyes preferenciákra süllyed?
  • @SamWeinberg: less több van jellemzői, mint a pg. Vessen egy pillantást a less(1) és pg(1) oldalak. Vannak más személyhívók is. Vessen egy pillantást a unix.stackexchange.com/questions/81129/… oldalra. A less valószínűleg a legszélesebb körben használt személyhívó, de melyiket használod, az személyes preferenciákhoz vezet.
  • don ‘ felejtsd el more és most!


Válasz

Annak ellenére, hogy mindenki a cat filename fájlt használja a fájlok szövegének normál kimenetre történő kinyomtatására, az első cél az > macska enating. A macska man oldaláról:

macska – összefűzi a fájlokat és kinyomtatja a szokásos kimenetre

Most a cat rendben van fájlok nyomtatásához, de vannak alternatívák:

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

A ( ) visszatérés egy kifejezés értéke, ebben az esetben a fájlnév tartalma, amelyet azután $ bővít a echo vagy printf.

Frissítés:

< filename 

Ez pontosan azt teszi, amit akar, és könnyen megjegyezhető.

Íme egy példa, amely lehetővé teszi egy fájl kiválasztását a menüben, majd kinyomtatását.

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

További információk olvasás:
BashPitfalls – macskafájl | sed s / foo / bar /> fájl
Bash Reference – Átirányítás

Megjegyzések

  • Frissítés: ” < filename pontosan wh ha akarod, … ” félrevezető. Összességében, bár érdekes alternatívákról van szó, úgy gondolom, hogy a cat egyszerűbb.
  • A csupasz < filename nem megjeleníti a fájl tartalmát, de cat filename igen.
  • Használhatja a tee < filename szót is.
  • +1 a echo "$(<filename)" bashizmushoz. Itt nem elég.
  • Ez az ‘ nagyszerű ötlet a Linux belső parancsának echo "$(<filename)" használatához. Köszönöm …

Válasz

A szöveges fájlok UNIX-on történő kezelésének alapvető eszközei a mindennapi parancsok:

Unix és Linux alatt a fájl teljes tartalmának kinyomtatásához

cat filename.txt 

vagy

more filename.txt 

vagy

less filename.txt 

Az utolsó sorokhoz

tail filename.txt 

első néhány sor

head filename.txt 

Válasz

A következő paranccsal jeleníthet meg tartalmat szöveges fájl.

 cat filename 

Megjegyzések

  • További információ a , futtassa man cat.

Válasz

Az egyik lehetőség a more

használata pl.more file.txt

Azonban nem tartalmazza az összes funkciót, amelyet less adott hozzá.
Egy egyszerű példa: nem lehet “visszagörgetni a kimenetben. Általában kevesebbel túllépte – amit azért viccesen neveztek el, mert

a kevesebb több

Megjegyzések

  • Szép magyarázat arra, hogy miért volt kevesebb a név

Válasz

Mindig a $ less "your file here" -t használom, mivel nagyon egyszerű, beépített interaktív grep parancsot, és egy könnyen használható felületet ad, amelyet a nyílbillentyűkkel görgethet.

(Szinte minden * nix rendszerben megtalálható)

Megjegyzések

  • less a more (hasonlítsa össze a man less elemet a man more -vel), és számomra két idegesítő tulajdonsága van: 1) az alternatív képernyő pufferre vált, ha kevesebb véget ér, akkor az éppen megtekintett fájl eltűnik. 2) Az EOF-nél kifejezetten be kell írnia a q szót = “52485bb63c”>

erre lehetőség). Tehát az egyik első műveletem egy új környezetben aexport PAGER=/bin/morebeállítása a profilomban, és amoreállandó használata.

  • @ ott–: 1) Próbálja ki a -X zászlót. 2) Próbálja ki a -E zászlót. A less more emulációs módja van. Engedélyezheti az LESS_IS_MORE környezeti változó beállításával. A more emulációs módban felfelé görgethet.
  • Lásd még: unix.stackexchange.com/questions / 81129 / …
  • Bár általában véve egyetértek azzal, hogy a less túlzottan bonyolult. Külső parancsok futtatásának képessége tökéletes példa a túl bonyolultságára.
  • @EvanTeitelman I ‘ én magam mindig is rendkívül hasznosnak találtam a grep funkciót, @ott – Megállapítottam, hogy emiatt ‘ a more emulációja, és ‘ sok további funkcióval, nagyon jól végzi a munkát.
  • Válasz

    Ha nagy fájlja van, és keresni szeretne egy adott részt, használhatja a következőt:

     cat filename | grep text_to_search -ni 

    Használhat még több interaktív Vim szerkesztőt (vagy vi szerkesztőt is, ha még nincs Vim):

     vim filename Or vi filename

    A Vim / vi nagyszerű szerkesztő, “Normál módban” vagy “-R” opcióval olvasóként is használható, sok olyan funkcióval rendelkezik, amelyek segítséget nyújt a fájl böngészésében.

    Megjegyzések

    • A vim -R rövidebb értéke view. De ne feledje, hogy nem szereti az átirányításokat, amint arról a xargs és vi – „A bemenet nem terminálról származik” című témakör tárgyalja.
    • köszönöm @manatwork for heads up! Nemrég kezdtem el használni a Vim-et, és számos funkciója miatt tetszik. Ami az átirányításokat illeti, erről megfeledkeztem, köszönöm az emlékeztetőt. Mostantól egy távoli virtuális gépen dolgozom, ahol az ssh-t GUI interfész nélkül használom, ezért a Vim nagy hasznát veszi, ha bármely más GUI-szerkesztő nem tud működni, az ‘ s miért hangsúlyoztam itt Vim-et.

    Válasz

    A cat paranccsal jelenítse meg a fájlnév tartalmát. macska fájlnév

    A fájl szerkesztéséhez használja a vim parancsot. vim fájlnév

    Vélemény, hozzászólás?

    Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük