¿Se puede usar el comando linux cat para escribir texto en un archivo?


143

Es algo como esto:

cat "Some text here." > myfile.txt

¿Posible? De modo que el contenido de myfile.txtahora se sobrescribirá a:

Some text here.

Esto no funciona para mí, pero tampoco arroja ningún error.

Específicamente interesado en una catsolución basada en (no vim / vi / emacs, etc.). Todos los ejemplos en línea se muestran catjunto con entradas de archivos, no texto sin formato ...

Respuestas:


184

Eso es lo que echohace:

echo "Some text here." > myfile.txt

13
Bonificación: echo "Some text here." >> myfile.txtagregar al final del archivo
Jim Aho

66
Si necesita usar comillas dobles en su texto, abarque todo en comillas simples. Esto es útil para .json y similares, por ejemploecho '{"info1": "123456"}' > info.json
bkd

164

Parece que estás buscando un documento Aquí

cat > outfile.txt <<EOF
>some text
>to save
>EOF

En Linux Kernel 2.6.32 centos 6 tuve que omitir los >caracteres para obtener el resultado esperado.
ecoe

44
Los >caracteres representan el valor predeterminado de $PS2; se muestran automáticamente y no están destinados a ser escritos. Si tiene un valor diferente para $PS2, eso aparecerá en su lugar.
gbrener


10

Utilizo el siguiente código para escribir texto sin formato en archivos, para actualizar la configuración de mi CPU. Espero que esto ayude! Guión:

#!/bin/sh

cat > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor <<EOF
performance
EOF

cat > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor <<EOF
performance
EOF

Esto escribe el texto "rendimiento" en los dos archivos mencionados en el script anterior. Este ejemplo sobrescribe datos antiguos en archivos.

Este código se guarda como un archivo (cpu_update.sh) y para que sea ejecutable ejecute:

chmod +x cpu_update.sh

Después de eso, puede ejecutar el script con:

./cpu_update.sh

SI no desea sobrescribir los datos antiguos en el archivo, cambie

cat > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor <<EOF

con

cat >> /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor <<EOF

Esto agregará su texto al final del archivo sin eliminar los otros datos que ya están en el archivo.


8
cat > filename.txt

ingrese el texto hasta EOF para guardar el texto use: ctrl + d

si quieres leer ese archivo .txt usa

cat filename.txt

y una cosa .txt no es obligatoria, es para su referencia.


7

Para archivo de texto:

cat > output.txt <<EOF
some text
some lines
EOF

Para archivo PHP:

cat > test.php <<PHP
<?php
echo "Test";
echo \$var;
?>
PHP

5

También puedes hacerlo así:

user@host: $ cat<<EOF > file.txt
$ > 1 line
$ > other line
$ > n line
$ > EOF
user@host: $ _

Creo que hay muchas formas de usarlo.


4

Escriba texto de varias líneas con variables de entorno utilizando echo:

echo -e "
Home Directory: $HOME \n
hello world 1 \n
hello world 2 \n
line n... \n
" > file.txt 


3

Otra forma de escribir texto en un archivo usando cat sería algo como esto

cat >file.txt <<< Write something here

Este comando es realmente útil cuando intenta escribir una salida de un comando en un archivo. Por ejemplo, cat > docker-inspect.txt <<< Docker inspecciona la imagen ''
Prasanth Ganesan el

2

cattambién se puede usar después |de escribir en un archivo, es decir, los canales de alimentación de un flujo de datos


1

La solución a su problema es:

echo "Algunos textos van aquí"> filename.txt

Pero puede usar el comando cat si desea redirigir la salida de un archivo a otro archivo o si desea agregar la salida de un archivo a otro archivo:

cat filename> newfile: para redirigir la salida del nombre de archivo a newfile

cat filename >> newfile: para agregar la salida del nombre de archivo a newfile

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.