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
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
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 acat
egyszerűbb. - A csupasz
< filename
nem megjeleníti a fájl tartalmát, decat 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
amore
(hasonlítsa össze aman less
elemet aman 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 aq
szót = “52485bb63c”>
erre lehetőség). Tehát az egyik első műveletem egy új környezetben aexport PAGER=/bin/more
beállítása a profilomban, és amore
állandó használata.
-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. less
túlzottan bonyolult. Külső parancsok futtatásának képessége tökéletes példa a túl bonyolultságára. 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ékeview
. 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
sed -n l file
hasznos lehet.less
egyértelmű előnye más személyhívó programokkal, például apg
, vagy csak személyes preferenciákra süllyed?less
több van jellemzői, mint apg
. Vessen egy pillantást aless(1)
éspg(1)
oldalak. Vannak más személyhívók is. Vessen egy pillantást a unix.stackexchange.com/questions/81129/… oldalra. Aless
valószínűleg a legszélesebb körben használt személyhívó, de melyiket használod, az személyes preferenciákhoz vezet.more
ésmost
!