Come posso visualizzare il contenuto di un file di testo sulla riga di comando?

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

  • +1, anche sed -n l file potrebbe essere utile.
  • less presenta chiari vantaggi rispetto ad altri programmi cercapersone come pg o si riduce solo alle preferenze personali?
  • @SamWeinberg: less ne ha di più caratteristiche di pg. Dai unocchiata a less(1) e pg(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.
  • don ‘ non dimenticare more e most!

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 che cat sia più semplice.
  • Bare < filename non lo fa mostra i contenuti del file, ma cat 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, esegui man 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 di more (confronta man less con man 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 esplicitamente q (lo so, lì ‘ è unopzione per questo). Quindi una delle mie prime azioni in un nuovo ambiente è impostare export PAGER=/bin/more nel mio profilo e utilizzare more tutto il tempo.
  • @ ott–: 1) Prova il flag -X. 2) Prova il flag -E. less ha una modalità di emulazione more. Puoi abilitarlo impostando la variabile ambientale LESS_IS_MORE. Puoi scorrere verso lalto nella more 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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *