Chtěl bych zobrazit obsah textového souboru na příkazovém řádku. Soubor obsahuje pouze 5-6 znaků. Existuje snadný způsob, jak to udělat?
Odpovědět
Pomocí cat
Protože je váš soubor krátký, můžete použít cat
.
cat filename
Použití less
Pokud si chcete prohlédnout obsah delšího souboru, můžete použít stránkovací program například less
.
less filename
Při vyvolání u malých souborů můžete less
chovat se jako cat
a chovat se normálně jinak tím, že jej předáte -F
a -X
příznaky.
less -FX filename
Mám alias pro less -FX
. Můžete si sami jednu vyrobit:
alias aliasname="less -FX"
Pokud do své konfigurace shellu přidáte alias , můžete jej používat navždy.
Použití od
Pokud váš soubor obsahuje divné nebo netisknutelné znaky, můžete použít od
zkoumat znaky. Například
$ 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
Komentáře
Odpovědět
I když každý používá cat filename
k tisku textu souborů na standardní výstup, první účel je kon cat enating. Z mužské stránky kočky:
kočka – zřetězení souborů a tisk na standardní výstup
Nyní je kočka v pořádku pro tisk souborů, ale existují alternativy:
echo "$(<filename)" or printf "%s" "$(<filename)"
( )
návrat hodnota výrazu, v tomto případě obsah názvu souboru , který je poté rozšířen o $
pro echo
nebo printf
.
Aktualizace:
< filename
Dělá přesně to, co chcete a je snadno zapamatovatelné.
Zde je příklad, který vám umožní vybrat soubor v nabídce a poté jej vytisknout.
#!/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
Další čtení:
BashPitfalls – kočičí soubor | sed s / foo / bar /> soubor
Bash Reference – přesměrování
Komentáře
- Vaše aktualizace: “
< filename
je přesně wh kdykoli chcete … “ je zavádějící. Přestože se jedná o zajímavou diskusi o alternativách, myslím si, žecat
je jednodušší. - Bare
< filename
není zobrazit obsah souboru, alecat filename
ano. - Můžete také použít
tee < filename
. - +1 pro
echo "$(<filename)"
bashismus. Tady toho není dost. - To je skvělý nápad ‚ používat interní příkaz Linux s echo
"$(<filename)"
. Díky …
Odpověď
Nástroje pro práci s textovými soubory v unixu jsou základní každodenní příkazy:
V unixu a linuxu vytiskne celý obsah souboru
cat filename.txt
nebo
more filename.txt
nebo
less filename.txt
Za posledních několik řádků
tail filename.txt
Pro prvních pár řádků
head filename.txt
Odpověď
K zobrazení obsahu můžete použít následující příkaz textového souboru.
cat filename
Komentáře
- Další informace o
cat
, spusťteman cat
.
odpověď
Jednou z možností je použít more
např.more file.txt
Neobsahuje však všechny funkce přidané less
.
Jedním jednoduchým příkladem je, že ve výstupu nelze posunout zpět. Obecně to bylo překonáno méně – což bylo pojmenováno v žertu, protože
méně je více
Komentáře
- Pěkné vysvětlení, proč méně bylo jméno
Odpověď
Vždy používám $ less "your file here"
, protože je velmi jednoduchý, poskytuje vestavěný interaktivní grep
příkaz a poskytuje snadno použitelné rozhraní, které můžete posouvat pomocí kláves se šipkami.
(Je také součástí téměř každého systému * nix)
Komentáře
-
less
je přehnaná verzemore
(srovnejman less
sman more
) a pro mě má dvě nepříjemné funkce: 1) přepne se na alternativní vyrovnávací paměť obrazovky, když se méně ukončí, soubor, který jste právě prohlíželi, zmizí 2) na EOF musíte explicitně zadatq
(vím, že ‚ s touto možností). Jednou z mých prvních akcí v novém prostředí je tedy nastaveníexport PAGER=/bin/more
do mého profilu a používánímore
pořád. - @ ott–: 1) Vyzkoušejte příznak
-X
. 2) Vyzkoušejte příznak-E
.less
mámore
režim emulace. Můžete jej povolit nastavením environmentální proměnnéLESS_IS_MORE
. V režimu emulacemore
se můžete posouvat nahoru. - Viz také: unix.stackexchange.com/questions / 81129 / …
- Obecně však souhlasím s tím, že
less
je přehnaně- složitý. Jeho schopnost spouštět externí příkazy je dokonalým příkladem jeho přílišné složitosti. - @EvanTeitelman I ‚ jsem sám zjistil, že funkce grep je pro mě nesmírně užitečná, @ott – Zjistil jsem, že kvůli tomu ‚ s emulace
more
a ‚ Díky mnoha dalším funkcím dělá svou práci velmi dobře.
Odpovědět
Pokud jde o velký soubor a chcete-li vyhledat nějakou konkrétní část, můžete použít
cat filename | grep text_to_search -ni
Můžete také použít interaktivnější editor Vim (nebo editor vi, pokud nemáte Vim):
vim filename Or vi filename
Vim / vi je skvělý editor, lze jej také použít jako čtečku v „normálním režimu“ nebo pomocí volby -R, má mnoho funkcí, které vám pomůže při procházení souboru.
Komentáře
- Kratší pro
vim -R
jeview
. Mějte však na paměti, že nemá rád přesměrování, jak je popsáno v xargs a vi – „Vstup není z terminálu“ . - díky @manatwork pro heads up! Nedávno jsem začal používat Vim a líbí se mi to kvůli jeho několika funkcím. Pokud jde o přesměrování, na to jsem zapomněl, děkuji za připomenutí. Od této chvíle pracuji na vzdáleném VM, kde používám ssh bez grafického uživatelského rozhraní, proto je Vim velmi užitečné, když žádný jiný editor grafického uživatelského rozhraní nemůže fungovat, že ‚ s proč jsem zde zdůraznil Vima.
Odpověď
Pomocí příkazu cat zobrazte obsah názvu souboru. název souboru kočky
Upravte soubor pomocí příkazu vim. vim název souboru
sed -n l file
může být užitečný.less
nějaké jasné výhody oproti jiným stránkovacím programům, jako jepg
, nebo se to jen vaří podle osobních preferencí?less
má více funkce nežpg
. Podívejte se naless(1)
apg(1)
stránky. Existují i jiné pagery. Podívejte se na unix.stackexchange.com/questions/81129/… .less
je pravděpodobně nejpoužívanější pager, ale který používáte, záleží na osobních preferencích.more
amost
!