Dapatkah perintah linux cat digunakan untuk menulis teks ke file?

143

Adalah sesuatu seperti ini:

cat "Some text here." > myfile.txt

Bisa jadi? Sedemikian rupa sehingga isi dari myfile.txtsekarang akan ditimpa ke:

Some text here.

Ini tidak berfungsi untuk saya, tetapi juga tidak membuat kesalahan.

Khusus tertarik pada catsolusi berbasis (bukan vim / vi / emacs, dll.). Semua contoh acara daring yang catdigunakan bersama dengan input file, bukan teks mentah ...

IAmYourFaja
sumber

Jawaban:

184

Itu yang echodilakukannya:

echo "Some text here." > myfile.txt
Carl Norum
sumber
13
Bonus: echo "Some text here." >> myfile.txtuntuk menambahkan hingga akhir file
Jim Aho
6
Jika Anda perlu menggunakan tanda kutip ganda dalam teks Anda, mencakup semuanya dalam tanda kutip tunggal. Ini berguna untuk .json dan yang lainnya, misalnyaecho '{"info1": "123456"}' > info.json
bkd
164

Sepertinya Anda sedang mencari dokumen Di Sini

cat > outfile.txt <<EOF
>some text
>to save
>EOF
Gbrener
sumber
Di linux Kernel 2.6.32 centos 6 saya harus menghilangkan >karakter untuk mendapatkan hasil yang diharapkan.
Ecoe
4
The >karakter mewakili nilai default $PS2; mereka muncul secara otomatis, dan tidak dimaksudkan untuk diketik. Jika Anda memiliki nilai berbeda untuk $PS2, itu akan muncul sebagai gantinya.
gbrener
46

Inilah cara lain -

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

Saya menggunakan kode berikut untuk menulis teks mentah ke file, untuk memperbarui pengaturan CPU saya. Semoga ini bisa membantu! Naskah:

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

Ini menulis teks "kinerja" untuk dua file yang disebutkan dalam skrip di atas. Contoh ini menimpa data lama dalam file.

Kode ini disimpan sebagai file (cpu_update.sh) dan untuk membuatnya dapat dijalankan:

chmod +x cpu_update.sh

Setelah itu, Anda dapat menjalankan skrip dengan:

./cpu_update.sh

JIKA Anda tidak ingin menimpa data lama dalam file, beralihlah

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

dengan

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

Ini akan menambahkan teks Anda ke akhir file tanpa menghapus data apa yang sudah ada dalam file.

Arahkun
sumber
8
cat > filename.txt

masukkan teks sampai EOF untuk menyimpan penggunaan teks: ctrl + d

jika Anda ingin membaca penggunaan file .txt

cat filename.txt

dan satu hal .txt tidak wajib, ini untuk referensi Anda.

pengguna5260939
sumber
7

Untuk file teks:

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

Untuk file PHP:

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

Anda dapat melakukannya seperti ini juga:

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

Saya percaya ada banyak cara untuk menggunakannya.

JuanToroMarty
sumber
4

Tulis teks multi-baris dengan variabel lingkungan menggunakan echo:

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

cukup gema pipa dengan kucing

Sebagai contoh

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

Cara lain untuk menulis teks ke file menggunakan cat akan menjadi seperti ini

cat >file.txt <<< Write something here
Giannis Mpountouridis
sumber
Perintah ini sangat berguna ketika Anda mencoba untuk menulis output dari suatu perintah ke dalam file. Misalnya cat > docker-inspect.txt <<< buruh pelabuhan memeriksa gambar ``
Prasanth Ganesan
2

catjuga dapat digunakan mengikuti a |untuk menulis ke file, yaitu pipa memberi makan kucing aliran data

Leahcim
sumber
1

Solusi untuk masalah Anda adalah:

echo "Some Text Goes Here"> filename.txt

Tetapi Anda dapat menggunakan perintah cat jika Anda ingin mengarahkan output file ke file lain atau jika Anda ingin menambahkan output file ke file lain:

cat filename> newfile - Untuk mengarahkan ulang keluaran nama file ke newfile

cat filename >> newfile - Untuk menambahkan output dari nama file ke newfile

Vipul Sharma
sumber