Como posso exibir o conteúdo de um arquivo de texto na linha de comando?

108

Gostaria de exibir o conteúdo de um arquivo de texto na linha de comando. O arquivo contém apenas 5-6 caracteres. Existe uma maneira fácil de fazer isso?

    
por Sam Weinberg 11.08.2013 / 05:41

8 respostas

168

Usando cat

Como seu arquivo é curto, você pode usar cat .

cat filename

Usando less

Se você precisar visualizar o conteúdo de um arquivo maior, use um pager como less .

less filename

Você pode fazer com que less se comporte como cat quando invocado em arquivos pequenos e se comporte normalmente, passando os -F e -X flags.

less -FX filename

Eu tenho um alias para less -FX . Você pode fazer um assim:

alias aliasname='less -FX'

Se você adicionar o alias ao seu shell configuração , você pode usá-lo para sempre.

Usando od

Se o seu arquivo contiver caracteres estranhos ou não imprimíveis, você poderá usar od para examinar os personagens. Por exemplo,

$ 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
    
por 11.08.2013 / 06:03
23

Embora todos usem cat filename para imprimir um texto de arquivos para a saída padrão, o primeiro propósito é con cat enating. Da página do homem do gato:

cat - concatenate files and print on the standard output

Agora o gato é bom para imprimir arquivos, mas existem alternativas:

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

O ( ) retorna o valor de uma expressão, neste caso, o conteúdo de nome do arquivo , que é expandido em $ para echo ou printf .

Atualização:

< filename

Isso faz exatamente o que você quer e é fácil de lembrar.

Aqui está um exemplo que permite selecionar um arquivo em um menu e imprimi-lo.

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

Para mais informações: BashPitfalls - cat file | sed s / foo / bar / > arquivo
Referência ao Bash - Redirecionamento

    
por 10.04.2015 / 15:35
9

Você pode usar o seguinte comando para exibir o conteúdo de um arquivo de texto.

cat filename 
    
por 11.08.2013 / 05:44
9

As ferramentas para lidar com arquivos de texto no unix são comandos básicos do dia-a-dia:

No unix e linux para imprimir todo o conteúdo do arquivo

cat filename.txt

ou

more filename.txt

ou

less filename.txt

Nas últimas linhas

tail filename.txt

Para primeiras linhas

head filename.txt
    
por 11.08.2013 / 18:55
3

Eu sempre uso $ less "your file here" , pois é muito simples, fornece um comando grep interativo e fornece uma interface fácil de usar que você pode rolar com as teclas de seta.

(Ele também está incluído em quase todos os sistemas * nix)

    
por 11.08.2013 / 16:48
2

Uma opção é usar more

por exemplo. more file.txt

No entanto, ele não tem todo o recurso adicionado por less .
Um exemplo simples é que você não pode rolar para cima na saída. Geralmente foi superdimensionado por menos - que foi nomeado em tom de brincadeira porque

less is more

    
por 20.04.2015 / 13:17
1

Se for um arquivo grande e você quiser pesquisar alguma parte específica, use

 cat filename | grep text_to_search -ni 

Você também pode usar um editor Vim mais interativo (ou o editor vi se você não tiver o Vim):

 vim filename
Or
 vi filename

O Vim / vi é um ótimo editor, também pode ser usado como um leitor no "Modo Normal" ou usando a opção -R, ele tem muitos recursos que o ajudarão a navegar pelo arquivo.

    
por 12.08.2013 / 12:43
1

Use o comando cat para exibir o conteúdo do nome do arquivo.   cat filename

Use o comando vim para editar o arquivo.    vim filename

    
por 15.08.2013 / 04:04