desarrollo-web-br-bd.com

¿Cómo puedo mostrar el contenido de un archivo de texto en la línea de comando?

Me gustaría mostrar el contenido de un archivo de texto en la línea de comando. El archivo solo contiene 5-6 caracteres. ¿Hay una forma fácil de hacer esto?

152
Sam Weinberg

Usando cat

Como su archivo es corto, puede usar cat .

cat filename

Usando less

Si tiene que ver el contenido de un archivo más largo, puede usar un localizador como less .

less filename

Puede hacer que less se comporte como cat cuando se invoca en archivos pequeños y se comporte normalmente de lo contrario pasándole el -F y -X banderas.

less -FX filename

Tengo un alias para less -FX. Puedes hacer uno tú mismo así:

alias aliasname='less -FX'

Si agrega el alias a su configuración de Shell , puede usarlo para siempre.

Usando od

Si su archivo contiene caracteres extraños o no imprimibles, puede usar od para examinar los caracteres. Por ejemplo,

$ 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
220
user26112

Aunque todos usan cat filename para imprimir un texto de archivos a la salida estándar, el primer propósito es con cat enating. De la página del manual del gato:

cat: concatena archivos e imprime en la salida estándar

Ahora cat está bien para imprimir archivos, pero hay alternativas:

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

Los ( ) devuelve el valor de una expresión, en este caso el contenido de nombre de archivo que luego se expande por $ para echo o printf.

Actualizar:

< filename

Esto hace exactamente lo que quieres y es fácil de recordar.

Aquí hay un ejemplo que le permite seleccionar un archivo en un menú y luego imprimirlo.

#!/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 más lectura:
BashPitfalls - archivo cat | sed s/foo/bar /> file
Referencia de Bash - Redireccionamiento

31
crunsher

Puede usar el siguiente comando para mostrar el contenido de un archivo de texto.

 nombre de archivo del gato 
9
forvaidya

Las herramientas para manejar archivos de texto en Unix son comandos básicos y cotidianos:

En Unix y Linux para imprimir todo el contenido en el archivo

cat filename.txt

o

more filename.txt

o

less filename.txt

Para las últimas líneas

tail filename.txt

Para las primeras líneas

head filename.txt
9
Abhishek

Una opción es usar more

p.ej. more file.txt

Sin embargo, no tiene todas las características agregadas por less.
Un ejemplo simple es que no puede desplazarse hacia arriba en la salida. En general, ha sido superado por less, que se nombró en broma porque

menos es más

4
Michael Durrant

Yo siempre uso $ less "your file here", como es muy simple, proporciona un comando interactivo integrado grep y le brinda una interfaz fácil de usar que puede desplazar con las teclas de flecha.

(También se incluye en casi todos los sistemas * nix)

3
SG60

Si es un archivo grande y desea buscar alguna parte específica, puede usar

 cat filename | grep text_to_search -ni 

También puede usar un editor Vim más interactivo (o editor vi si no tiene Vim):

 vim filename
Or
 vi filename

Vim/vi es un gran editor, también se puede usar como lector en "Modo normal" o con la opción -R, tiene muchas características que lo ayudarán a navegar por el archivo.

2

Use el comando cat para mostrar el contenido del nombre del archivo. nombre de archivo del gato

Use el comando vim para editar el archivo. nombre de archivo vim

1
Edward Shen