¿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 ...

IAmYourFaja
fuente

Respuestas:

184

Eso es lo que echohace:

echo "Some text here." > myfile.txt
Carl Norum
fuente
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
gbrener
fuente
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
46

Aquí hay otra forma:

cat > outfile.txt
>Enter text
>to save press ctrl-d
hojas robadas
fuente
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.

Arahkun
fuente
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.

usuario5260939
fuente
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
Le Khiem
fuente
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.

JuanToroMarty
fuente
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 
nsantana
fuente
3

simplemente eco de tubería con gato

Por ejemplo

echo write something to file.txt | cat > file.txt
Giannis Mpountouridis
fuente
3

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

cat >file.txt <<< Write something here
Giannis Mpountouridis
fuente
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

Leahcim
fuente
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

Vipul Sharma
fuente