web-dev-qa-db-fra.com

Peut-on utiliser la commande linux cat pour écrire du texte dans un fichier?

Est-ce que quelque chose comme ceci:

cat "Some text here." > myfile.txt

Possible? De telle sorte que le contenu de myfile.txt soit maintenant remplacé par:

Some text here.

Cela ne fonctionne pas pour moi, mais ne jette pas non plus d'erreur.

Particulièrement intéressé par une solution basée sur cat- (pas vim/vi/emacs, etc.). Tous les exemples en ligne montrent cat utilisé conjointement avec des entrées de fichier, pas de texte brut ...

116
IAmYourFaja

C'est ce que echo fait:

echo "Some text here." > myfile.txt
152
Carl Norum

On dirait que vous cherchez un ici document

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

Voici un autre moyen -

cat > outfile.txt
>Enter text
>to save press ctrl-d
40
stolen_leaves

J'utilise le code suivant pour écrire du texte brut dans des fichiers, pour mettre à jour mes paramètres de processeur. J'espère que ça aide! Scénario:

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

Ceci écrit le texte "performance" dans les deux fichiers mentionnés dans le script ci-dessus. Cet exemple remplace les anciennes données dans les fichiers.

Ce code est enregistré dans un fichier (cpu_update.sh) et pour le rendre exécutable:

chmod +x cpu_update.sh

Après cela, vous pouvez exécuter le script avec:

./cpu_update.sh

SI vous ne voulez pas écraser les anciennes données du fichier, remplacez-le.

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

avec

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

Cela ajoutera votre texte à la fin du fichier sans supprimer les autres données déjà présentes dans le fichier.

9
Arahkun
cat > filename.txt

entrez le texte jusqu'à EOF pour enregistrer le texte, utilisez: ctrl + d

si vous voulez lire ce fichier .txt, utilisez

cat filename.txt

et une chose .txt n’est pas obligatoire, c’est pour votre référence.

7
user5260939

Vous pouvez le faire comme ça aussi:

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

Je crois qu'il y a beaucoup de façons de l'utiliser.

4
JuanToroMarty

cat peut également être utilisé à la suite d'un | pour écrire dans un fichier, c'est-à-dire qu'un tuyau alimente un flux de données cat.

3
Leahcim

Écrire un texte multiligne avec des variables d’environnement en utilisant echo:

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

Une autre façon d'écrire du texte dans un fichier en utilisant cat serait quelque chose comme ceci

cat >file.txt <<< Write something here
2

tout simplement pipeline écho avec chat

Par exemple

echo write something to file.txt | cat > file.txt
2

La solution à votre problème est la suivante:

echo "Certains textes vont ici"> filename.txt

Mais vous pouvez utiliser la commande cat si vous souhaitez rediriger la sortie d'un fichier vers un autre fichier ou si vous souhaitez ajouter la sortie d'un fichier à un autre fichier:

cat nomfichier> newfile - Pour rediriger la sortie du nom de fichier vers newfile

cat nom_fichier >> newfile - Pour ajouter la sortie du nom de fichier à newfile

1
Vipul Sharma

Pour un fichier texte:

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

Pour le fichier PHP:

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