Poate fi folosită comanda linux cat pentru a scrie text în fișier? (Programare, Linux, Cat)

IAmYourFaja a intrebat.

Este ceva de genul acesta:

cat "Some text here." > myfile.txt

Posibil? Astfel încât conținutul fișierului myfile.txt ar fi acum suprascris în:

Some text here.

Acest lucru nu funcționează pentru mine, dar nici nu dă erori.

Sunt interesat în mod special de un cat-(nu vim/vi/emacs, etc.). Toate exemplele online arată cat utilizate împreună cu intrări de fișiere, nu cu text brut…

12 răspunsuri
Carl Norum

Asta este ceea ce echo face:

echo "Some text here." > myfile.txt

Comentarii

    18

  • Bonus: echo "Some text here." >> myfile.txt pentru a adăuga la sfârșitul fișierului –  > Por Jim Aho.
  • Dacă trebuie să folosiți ghilimele duble în text, cuprindeți totul în ghilimele simple. Acest lucru este util pentru .json și altele asemenea, de ex. echo '{"info1": "123456"}' > info.json –  > Por bkd.
gbrener

Se pare că sunteți în căutarea unui document Here

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

Comentarii

  • Pe Linux Kernel 2.6.32 centos 6 a trebuit să omiteți > caractere pentru a obține rezultatul așteptat. –  > Por ecoe.
  • > caracterele reprezintă valoarea implicită a $PS2; acestea apar automat și nu sunt destinate a fi tastate. Dacă aveți o valoare diferită pentru $PS2, aceasta se va afișa în locul ei. –  > Por gbrener.
stolen_leaves

Iată o altă modalitate –

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

Le Khiem

Pentru fișier text:

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

Pentru fișierul PHP:

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

Arahkun

Eu folosesc următorul cod pentru a scrie text brut în fișiere, pentru a actualiza setările CPU. Sper să vă fie de ajutor!Script:

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

Acesta scrie textul „performance” în cele două fișiere menționate în scriptul de mai sus. Acest exemplu suprascrie datele vechi din fișiere.

Acest cod este salvat ca fișier (cpu_update.sh) și pentru a-l face executabil executați:

chmod +x cpu_update.sh

După aceea, puteți rula scriptul cu:

./cpu_update.sh

DACĂ nu doriți să suprascrieți datele vechi din fișier, schimbați

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

cu

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

Acest lucru va adăuga textul dvs. la sfârșitul fișierului fără a elimina celelalte date care se află deja în fișier.

user5260939
cat > filename.txt

introduceți textul până la EOFpentru salvarea textului folosiți : ctrl+d

dacă doriți să citiți acel fișier .txt utilizați

cat filename.txt

și un singur lucru .txt nu este obligatoriu, este pentru referință.

JuanToroMarty

Poți face și așa:

[email protected]: $ cat<<EOF > file.txt
$ > 1 line
$ > other line
$ > n line
$ > EOF
[email protected]: $ _

Cred că există o mulțime de moduri de utilizare.

nsantana

Scrieți text pe mai multe linii cu variabile de mediu folosind echo:

echo -e "
Home Directory: $HOME 

hello world 1 

hello world 2 

line n... 

" > file.txt 

mpountou

Un alt mod de a scrie text în fișier folosind cat ar fi ceva de genul acesta

cat >file.txt <<< Write something here

Comentarii

  • Această comandă este foarte utilă atunci când încercați să scrieți într-un fișier rezultatul unei comenzi. De exemplu cat > docker-inspect.txt <<< docker inspect image` ` –  > Por Prasanth Ganesan.
mpountou

pur și simplu, pipeline echo cu cat

De exemplu

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

Leahcim

cat poate fi de asemenea utilizat după un | pentru a scrie într-un fișier, adică pipe alimentează cat un flux de date

Vipul Sharma

Soluția la problema dvs. este :

echo ” Some Text Goes Here ” > filename.txt

Dar puteți utiliza comanda cat dacă doriți să redirecționați ieșirea unui fișier către un alt fișier sau dacă doriți să adăugați ieșirea unui fișier la un alt fișier :

cat nume fișier > noufișier — Pentru a redirecționa ieșirea din numele fișierului către noul fișier

cat filename >> newfile — Pentru a adăuga ieșirea din filename în newfile

Tags:,