Cara Menulis ke File di Bash

How Write File Bash

Salah satu tugas penting yang kami lakukan saat bekerja dengan skrip bash adalah membaca dan menulis file. Dalam panduan ini, kami akan fokus pada cara membaca file di bash dan cara mengeditnya.

Ada beberapa cara untuk membaca dan menulis file di bash. Cara paling sederhana adalah menggunakan operator > dan >>.



  • > operator akan menimpa data yang ada
  • >> operator akan menambahkan data

Format umum penggunaan operator redirection adalah:



Data > Nama File
Data >> Nama File

Mari kita pahami penulisan ke prosedur file dengan contoh:



Cara menulis file menggunakan operator pengalihan

Seperti dibahas di atas, pendekatan penulisan ke file yang sederhana dan mudah adalah menggunakan operator pengalihan. Misalnya, jika Anda ingin mengubah teks dari file yang sudah ada, buat file teks terlebih dahulu dengan nama testfile.txt dan tulis apa saja di dalamnya:

Simpan file teks.



Ketik perintah yang disebutkan di bawah ini di terminal:

$ echo Menimpa teks yang ada di file > testfile.txt

Peras berlebihan mungkin berisiko; oleh karena itu, adalah praktik yang baik untuk mengaktifkan noclobber. Menyetel noclobber akan memblokir penimpaan apa pun ke file apa pun yang keluar.

$ set –o noclobber
$ echo Menimpa teks yang ada di file > testfile.txt

Tetapi jika Anda ingin melewati noclobber maka gunakan > | operator alih-alih > :

$ echo Menimpa teks yang ada di file >| testfile.txt

Atau Anda cukup menonaktifkan noclobber:

$ set + atau noclobber

Tetapi perintah ini akan menghilangkan perlindungan dari semua file.

Output di atas menunjukkan bahwa teks yang ada telah ditimpa. Sekarang, mari kita gunakan >> operator:

$ echo Menambahkan teks ke file teks yang ada >> testfile.txt

dibuang tidak selalu ideal untuk digunakan karena Anda tidak dapat memformat teks menggunakannya, oleh karena itu gunakan printf sebagai pengganti echo untuk memformat teks seperti yang ditunjukkan dalam perintah berikut:

$ printf Selamat datang Ini adalah file teks baru. > newtestfile.txt

Mari kita pahami konsepnya dengan contoh skrip bash. Buka Vim dengan mengetik vim di terminal. Jika Anda tidak memiliki editor Vim di perangkat Anda, maka instal menggunakan:

$ sudo apt install vim

Ketik skrip:

#! /bin/bash
gema Masukkan nama Anda
baca nama
echo $nama > data_dir.txt
echo Masukkan usia Anda
usia baca
echo $umur >> data_dir.txt
cat data_dir.txt

NS kucing Perintah ini digunakan untuk membuat dan mengedit file. Simpan skrip di atas di Vim dengan beralih mode setelah menekan tombol ESC kunci dan kemudian ketik : di myscript.sh . Buka terminal dan jalankan kode:

Cara menulis file menggunakan Heredoc

Jika Anda ingin menulis beberapa baris, maka cara termudah adalah menggunakan Heredoc. Di sini dokumen, juga dikenal sebagai Heredoc, adalah blok kode multiguna. Sintaks Heredoc adalah:

Memerintah<<[-] Delimiter
.
teks/perintah
.

Pembatas

String apa pun dapat digunakan sebagai pengganti Delimiter, dan - juga dapat digunakan untuk menghapus spasi tab apa pun dalam file. Mari kita memahaminya menggunakan contoh sederhana:

#! /bin/bash

kucing<< TEXTFILE
Ini adalah file teks.
File ini dibuat menggunakan heredoc.
FILE TEKS

Perintah kucing skrip di atas membuat file teks dengan nama TEXTFILE, dan menulis teks ke dalam file yang baru saja dibuat. Sekarang simpan file dengan nama myscript.sh . Luncurkan terminal dan jalankan skrip.

Cara menulis file menggunakan perintah Tee

Metode lain untuk menulis file adalah menggunakan perintah Tee. Seperti namanya, perintah ini mengambil input dan menulis ke file dan menampilkan output secara bersamaan. Secara default, perintah Tee akan menimpa data yang ada.

$ echo Ini adalah beberapa teks | file teks tee.txt

Untuk menambahkan gunakan –a:

$ echo Ini adalah teks lain | tee – file teks.txt

Untuk menulis beberapa baris, gunakan:

$ echo Menambahkan teks ke banyak file | tee textfile1.txt textfile2.txt textfile3.txt

Perintah di atas akan membuat tiga file jika tidak ada dan menulis teks ke masing-masing file.

Kesimpulan

Panduan ini berfokus pada beberapa pendekatan untuk menulis ke file di bash dengan contoh. Dalam skrip bash, ada beberapa cara untuk menulis file, tetapi yang paling sederhana 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.