Vorrei visualizzare il contenuto di un file di testo sulla riga di comando. Il file contiene solo 5-6 caratteri. Esiste un modo semplice per farlo?
Rispondi
Utilizzando cat
Poiché il file è breve, puoi utilizzare cat
.
cat filename
Utilizzo di less
Se devi visualizzare il contenuto di un file più lungo, puoi utilizzare un cercapersone come less
.
less filename
Puoi fare in modo che less
si comporti come cat
quando viene richiamato su piccoli file e si comporti normalmente altrimenti passandogli -F
e -X
flag.
less -FX filename
Ho un alias per less -FX
. Puoi crearne uno tu stesso in questo modo:
alias aliasname="less -FX"
Se aggiungi lalias alla tua configurazione della shell , puoi usarlo per sempre.
Utilizzando od
Se il tuo file contiene caratteri strani o non stampabili, puoi usare od
per esaminare i caratteri. Ad esempio,
$ 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
Commenti
Risposta
Anche se tutti usano cat filename
per stampare il testo di un file nelloutput standard, il primo scopo è con cat enating. Dalla pagina man di cat:
cat – concatena i file e stampa sullo standard output
Ora cat va bene per la stampa di file ma ci sono alternative:
echo "$(<filename)" or printf "%s" "$(<filename)"
Il ( )
return il valore di unespressione, in questo caso il contenuto di nome file che viene poi espanso da $
per echo
o printf
.
Aggiorna:
< filename
Questo fa esattamente quello che vuoi ed è facile da ricordare.
Ecco un esempio che ti permette di selezionare un file in un menu e poi stamparlo.
#!/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
Per ulteriori lettura:
BashPitfalls – file cat | sed s / foo / bar /> file
Riferimento Bash – Reindirizzamento
Commenti
- Il tuo aggiornamento: ”
< filename
è esattamente wh come vuoi, … ” è fuorviante. Nel complesso, sebbene questa sia una discussione interessante sulle alternative, penso checat
sia più semplice. - Bare
< filename
non lo fa mostra i contenuti del file, macat filename
sì. - Potresti usare anche
tee < filename
. - +1 per il
echo "$(<filename)"
bashismo. Non abbastanza qui. - Questa ‘ è unottima idea per usare Linux Internal Command con echo
"$(<filename)"
. Grazie …
Risposta
Gli strumenti per la gestione dei file di testo su Unix sono comandi di base di tutti i giorni:
In unix e linux per stampare lintero contenuto nel file
cat filename.txt
o
more filename.txt
o
less filename.txt
Per le ultime righe
tail filename.txt
Per prime righe
head filename.txt
Risposta
Puoi utilizzare il seguente comando per visualizzare il contenuto di un file di testo.
cat filename
Commenti
- Per ulteriori informazioni su
cat
, eseguiman cat
.
Rispondi
Unopzione è utilizzare more
ad es.more file.txt
Tuttavia non ha tutte le funzionalità aggiunte da less
.
Un semplice esempio è che non puoi “scorrere indietro nelloutput. Generalmente è stato sostituito da less – che è stato chiamato per scherzo perché
less is more
Commenti
- Bella spiegazione sul motivo per cui il nome era meno
Answer
Uso sempre $ less "your file here"
, poiché è molto semplice, fornisce un grep
e offre uninterfaccia facile da usare che puoi scorrere con i tasti freccia.
(È anche incluso in quasi tutti i sistemi * nix)
Commenti
-
less
è la versione overkill dimore
(confrontaman less
conman more
) e per me ha due fastidiose caratteristiche: 1) passa al buffer dello schermo alternativo, quando less termina, il file che stavi visualizzando svanisce 2) in EOF devi digitare esplicitamenteq
(lo so, lì ‘ è unopzione per questo). Quindi una delle mie prime azioni in un nuovo ambiente è impostareexport PAGER=/bin/more
nel mio profilo e utilizzaremore
tutto il tempo. - @ ott–: 1) Prova il flag
-X
. 2) Prova il flag-E
.less
ha una modalità di emulazionemore
. Puoi abilitarlo impostando la variabile ambientaleLESS_IS_MORE
. Puoi scorrere verso lalto nellamore
modalità di emulazione. - Vedi anche: unix.stackexchange.com/questions / 81129 / …
- Anche se, in generale, sono daccordo che
less
sia eccessivamente- complicato. La sua capacità di eseguire comandi esterni è un perfetto esempio della sua eccessiva complessità. - @EvanTeitelman I ‘ io stesso ho sempre trovato la funzionalità grep estremamente utile, @ott – Trovo che a causa di esso ‘ emulazione di
more
e ‘ s molte funzionalità aggiuntive, fa molto bene il lavoro.
Rispondi
Se è un file di grandi dimensioni, e vuoi cercare una parte specifica, puoi usare
cat filename | grep text_to_search -ni
Inoltre puoi usare un editor Vim più interattivo (o un editor vi se non hai Vim):
vim filename Or vi filename
Vim / vi è un ottimo editor, può anche essere usato come lettore in “Modalità normale” o usando lopzione -R, ha molte caratteristiche che ti aiuterà a sfogliare il file.
Commenti
- Più breve per
vim -R
èview
. Ma tieni presente che non gli piacciono i reindirizzamenti, come discusso in xargs e vi – “Linput non proviene da un terminale” . - grazie @manatwork per lavviso! Recentemente ho iniziato a usare Vim e mi piace per le sue numerose funzionalità. Per quanto riguarda i reindirizzamenti, me ne sono dimenticato, grazie per il promemoria. Per ora, sto lavorando su una VM remota, dove uso ssh senza interfaccia GUI, quindi Vim è di grande utilità, quando qualsiasi altro editor GUI non può funzionare, che ‘ s perché ho enfatizzato Vim qui.
Risposta
Usa il comando cat per visualizzare il contenuto del nome del file. cat nomefile
Usa il comando vim per modificare il file. nome file vim
sed -n l file
potrebbe essere utile.less
presenta chiari vantaggi rispetto ad altri programmi cercapersone comepg
o si riduce solo alle preferenze personali?less
ne ha di più caratteristiche dipg
. Dai unocchiata aless(1)
epg(1)
manpage. Ci sono anche altri cercapersone. Dai unocchiata a unix.stackexchange.com/questions/81129/… .less
è probabilmente il cercapersone più utilizzato, ma quello che utilizzi dipende dalle preferenze personali.more
emost
!