¿Cómo leer un archivo en un script de shell como variable?

¿Cómo leer un archivo en un script de shell como variable?

Necesito escribir un script de shell para leer un archivo de texto y realizar operaciones en él para contar todas las palabras distintas en el archivo de texto.

Tengo todos los comandos necesarios para realizar estas operaciones, pero ¿cómo haría para ingresar el archivo de texto en el script de shell para luego usarlo con los comandos?

entonces, el comando que uso es este: ¿cómo haría para tener text.txt como variable para poder llamar a la variable en el script?

tr '[A-Z]' '[a-z]' < text.txt

Respuesta1

Puedes usar simplessustitución de comando:

variable=`cat text.txt`
echo $variable

O en fiesta:

variable=$(cat text.txt)

Lo mismo con:

variable=`tr '[A-Z]' '[a-z]' < text.txt`

Respuesta2

Herramientas como tr y wc pueden operar con archivos; tu notenerpara pasar cadenas a su entrada estándar. Para responder tu pregunta:

¿Cómo haría para tener el text.txt como variable para poder llamar a la variable en el script?

La sintaxis para eso es:

input=text.txt # or other file name
tr '[A-Z]' '[a-z]' $input

Respuesta3

Archivo de ejemplo

foo
        bar
    foo bar
foobar f0o b@rred

Generado a través de

echo -e 'foo\n\t\tbar\n    foo bar\nfoobar f0o b@arred' | tee -a /tmp/foo.bar

Continencia de archivos en la variable bash (taquigrafíapara $(cat file))

v="$(</tmp/foo.bar)"

Utilice la variable como entrada (sin caracteres no imprimibles) para otro comando

sed 's#@#a#; s@0@o@' <<<"${v//[![[:print:]]]}" | tail -1

Debería generar la última línea, reemplazando @con ay 0cono

foobar foo barred

También es mi deseo investigar mkfifo... mucha suerte con el análisis de text.txt.

información relacionada