GNU/Linux >> Belajar Linux >  >> Linux

Masukkan beberapa baris data ke file setelah pola cocok menggunakan skrip shell Linux

Memiliki sepotong kode yang harus dimasukkan ke dalam banyak file? Kemudian, Anda seperti saya mengalami waktu yang sulit! Saya sedang mengerjakan situs web yang dihosting di cpanel yang memiliki banyak file HTML yang masing-masingnya harus dimasukkan kode sembulan. Jumlah file HTML adalah 425. Itu adalah mimpi buruk melakukannya di windows. Tapi hei, bukankah saya sudah memberi tahu Anda bahwa saya menemukan cara yang lebih cerdas untuk melakukannya. Lihat di bawah!

Langkah 1:Salin file dari CPANEL

Salin semua file dari cpanel ke sistem windows lokal Anda menggunakan WinSCP.

Langkah 2:Salin file dari Windows ke Linux

Kemudian salin file HTML ke Server Linux. Jika Anda tidak memiliki server sendiri, Anda dapat menjalankan sistem Linux secara virtual di desktop menggunakan virtualbox. Lihat cara menginstal virtualbox di sini.

Langkah 3:Gunakan perintah 'sed' untuk memasukkan kode

Gunakan perintah sed di bawah ini, untuk memasukkan kode Anda dari file lain. Contoh:Data yang akan disisipkan dari file “add.txt” ke dalam “input.txt”. Sekarang perintahnya adalah :

Input.txt

abcd
efgh
ijkl
mnop
qrst

add.txt

uvwx
yzab
cdef
ghij
klmn
$sed '/ijkl/r add.txt' input.txt

Perintah akan menambahkan konten dari add.txt ke input.txt setelah pola “ijkl” cocok. Jadi outputnya adalah:

abcd
efgh
ijkl
uvwx
yzab
cdef
ghij
klmn
mnop
qrst

Perintah di atas akan menampilkan konten di terminal. Untuk mengupdate file beserta isinya, maka gunakan perintah “-i” dengan perintah sed seperti gambar di bawah ini:

$sed -i '/ijkl/r add.txt' input.txt

Jika Anda harus memasukkan konten yang langsung diinput dan bukan dari file, maka Anda dapat menggunakan perintah di bawah ini:

$sed -i 's/.*ijkl.*/uvwx\n&/' input.txt
abcd
efgh
ijkl
uvwx
mnop
qrst

Langkah 4:Jalankan perintah di atas dalam satu lingkaran dengan jumlah file

Masuk ke direktori tempat file perlu dimodifikasi. Gunakan “for loop” masukkan data dengan perintah di bawah ini:

for i in *;
do
    $sed '/ijkl/r add.txt' $i
done

Dalam kode di atas * mewakili file. Untuk setiap file, sebagai $i, tambahkan konten dari file add.txt setelah pola “ijkl” cocok.

Langkah 5:Salin kembali file dari Linux ke windows ke Cpanel

Langkah terakhir adalah menyalin kembali file yang diedit dari server Linux ke sistem windows lokal. Dan kemudian gunakan scp atau ftp untuk menyalin file dari sistem windows lokal ke cpanel.


Linux
  1. Bagaimana Cara Menambahkan Data Ke Buffer Dalam Script Shell?

  2. Bagaimana Cara Menambahkan Beberapa Baris Ke File?

  3. Cara Mengganti Nama Banyak File Bersama di Linux Menggunakan 3 Metode

  1. Cara membuat file sparse di Linux menggunakan perintah 'dd'

  2. Cara membuat file bernama setelah baris dalam file teks di Linux

  3. Membuat template dengan Linux dalam Shell Script?

  1. Script Shell Untuk Memindahkan File Terlama?

  2. Linux – Pemulihan Data Setelah Menyalin File ke Blokir Perangkat?

  3. Skrip shell Linux untuk menambahkan angka nol di depan nama file