Terdapat banyak cara untuk membaca dan menulis fail dalam bash. Cara paling mudah adalah menggunakan operator ">" dan ">>".
- Operator ">" akan menimpa data yang ada
- Pengendali ">>" akan menambahkan data
Format umum penggunaan pengendali pengalihan adalah:
Data> Nama FailData >> Nama Fail
Mari kita fahami prosedur penulisan fail dengan contoh:
Cara menulis fail menggunakan pengendali pengalihan
Seperti yang dibincangkan di atas, pendekatan menulis dan fail yang mudah dan mudah adalah menggunakan pengendali pengalihan. Contohnya, jika anda ingin mengubah teks file yang sudah ada, pertama-tama buat file teks dengan nama “fail ujian.txt"Dan tulis apa sahaja di dalamnya:
Simpan fail teks.
Taipkan arahan yang disebutkan di bawah di terminal:
$ echo "Menimpa teks yang ada dalam fail"> testfile.txt
Pergelangan tangan yang berlebihan mungkin berisiko; oleh itu, adalah amalan yang baik untuk mengaktifkan "noclobber". Menetapkan "noclobber" akan menyekat sebarang penggantian ke fail yang keluar.
$ set -o noclobber$ echo "Menimpa teks yang ada dalam fail"> testfile.txt
Tetapi jika anda ingin memotong "noclobber" maka gunakan "> |"Operator dan bukannya">":
$ echo "Menimpa teks yang ada dalam fail"> | fail ujian.txtAtau anda boleh mematikan "noclobber":
$ set + o noclobber
Tetapi perintah ini akan menghilangkan perlindungan dari semua fail.
Output di atas menunjukkan bahawa teks yang ada telah ditimpa. Sekarang, mari kita gunakan ">>Pengendali:
$ echo "Menambah teks ke fail teks yang ada" >> testfile.txt
"gema"Tidak selalu ideal untuk digunakan kerana anda tidak dapat memformat teks menggunakannya, oleh itu gunakan" printf "di tempat" echo "untuk memformat teks seperti yang ditunjukkan dalam perintah berikut:
$ printf “Selamat Datang \ n Ini adalah fail teks baru."> Newtestfile.txt
Mari kita fahami konsep dengan contoh skrip bash. Buka Vim dengan menaip "vim" di terminal. Sekiranya anda tidak mempunyai editor Vim pada peranti anda, pasang dengan menggunakan:
$ sudo apt pasang vimTaipkan skrip:
#! / bin / bashgema "Masukkan nama anda"
baca nama
gema $ name> data_dir.txt
gema "Masukkan umur anda"
zaman membaca
gema $ usia >> data_dir.txt
data kucing_dir.txt
The "kucingPerintah digunakan untuk membuat dan mengedit fail. Simpan skrip di atas dalam Vim dengan menukar mod setelah menekan "Esc"Kekunci dan kemudian taip": w myscript.sh". Buka terminal dan jalankan kodnya:
Cara menulis fail menggunakan Heredoc
Sekiranya anda ingin menulis beberapa baris, maka kaedah termudah adalah menggunakan "Heredoc". Di sini dokumen, juga dikenali sebagai "Heredoc," adalah blok kod pelbagai guna. Sintaks Heredoc adalah:
Perintah <<[-] Delimiter.
teks / arahan
.
Pembatas
String apa pun dapat digunakan di tempat "Delimiter", dan "-" juga dapat digunakan untuk menghapus ruang tab di file. Mari fahami dengan menggunakan contoh mudah:
#! / bin / bashkucing << TEXTFILE
Ini adalah fail teks.
Fail ini dibuat menggunakan heredoc.
TEKS TEKS
Perintah skrip "cat" di atas membuat fail teks dengan nama "TEXTFILE", dan menulis teks ke dalam fail yang baru dibuat. Sekarang simpan fail dengan nama “skrip saya.sh". Lancarkan terminal dan jalankan skrip.
Cara menulis fail menggunakan arahan Tee
Kaedah lain untuk menulis fail adalah menggunakan perintah "Tee". Sebagai nama yang menunjukkan perintah ini mengambil input dan menulis ke fail dan menunjukkan output secara serentak. Secara lalai, perintah "Tee" akan menimpa data yang ada.
$ echo "Ini adalah beberapa teks" | teks teks tee.txt
Untuk menambahkan penggunaan -a:
$ echo "Ini teks lain" | tee -a teksfile.txt
Untuk menulis beberapa baris, gunakan:
$ echo "Menambah teks ke beberapa fail" | tee teksfile1.txt textfile2.txt teksfile3.txt
Perintah di atas akan membuat tiga fail jika tidak ada dan menulis teks kepada masing-masing.
Kesimpulannya
Panduan ini memfokuskan pada pelbagai pendekatan untuk menulis ke fail dalam bash dengan contoh. Dalam skrip bash, terdapat banyak cara untuk menulis fail, tetapi yang paling mudah adalah menggunakan operator pengalihan ">", ">>". Untuk menulis beberapa baris, "heredoc" dapat digunakan, dan jika anda ingin menulis data yang sama ke beberapa baris, maka perintah "tee" cukup berguna.