Shell Script - Menyalin teks dari satu file ke file lainnya

Linux adalah sistem operasi yang sangat kuat, membutuhkan banyak latihan dan pengetahuan. Namun, ketika seseorang mulai menggunakan Linux secara teratur, menangani file, menyalin, menggunakan skrip shell semuanya menjadi sangat mudah dan mudah. Jika Anda mengalami masalah dalam menyalin teks dari file ke file lain saat menggunakan skrip shell, baca artikel di bawah ini. Bahkan seseorang yang baru

Isu

Saya perlu menyalin teks antara mulai dan pola akhir dari satu file ke yang lain.

Sebagai contoh,

Katakanlah saya punya file dengan konten berikut:

 halo world1 halo world2 halo world3 halo world4 halo world5 beep 

Saya memerlukan skrip shell yang dapat menghasilkan file berikut:

 halo world2 halo world3 halo world4 halo world5 bip 

Saya tidak tahu nomor baris untuk rentang yang ingin saya salin, saya hanya ingin menyalin dari terjadinya 'hello world2' ke terjadinya 'hello world5' + 1 baris

Jika Anda bertanya-tanya apa yang saya coba lakukan di sini, saya ingin menjalankan thread dump pada mesin saya menggunakan kill -3 tetapi output dari ini pergi ke output standar yang dalam kasus saya diarahkan ke file jboss out yang memiliki banyak log lain di dalamnya. Jadi saya ingin menjalankan skrip ini untuk mengekstrak kesedihan thread ke file terpisah setelah kill telah dieksekusi. Tidak perlu dikatakan, mungkin ada lebih dari satu dump thread di file jboss.out.

Larutan

Cara paling sederhana, jika file input Anda di / folder / filefile.txt,

 # Script lines.txt # Baca file input menjadi variabel string. input var str; cat "/folder/somefile.txt"> $ input # Hapus semuanya sebelum "hello world2". stex "] ^ hello world2 ^" $ input> null # Hapus semuanya setelah "hello world5n". stex "^ hello world5n ^ [" $ input> null # $ input sekarang hanya memiliki porsi yang diinginkan. Cetak ini. input $ echo 

TheScript ada dalam biterscripting (//www.biterscripting.com). Untuk mencoba, simpan skrip sebagai /Scripts/lines.txt, mulai biterscripting dan masukkan perintah berikut.

skrip lines.txt

Script juga dapat dipanggil langsung dari program lain, atau shell lain, seperti,

/biterScripting/biterScripting.exe lines.txt

Pastikan Anda menggunakan lokasi file yang benar, bukan /folder/somefile.txt. Perhatikan tanda kutip ganda, ^, [dan] dalam sintaksis perintah string extractor. Jangan ragu menerjemahkan naskah ke bahasa lain mana pun.

Catatan

Terima kasih kepada SenHu untuk tip ini di forum.

Artikel Sebelumnya Artikel Berikutnya

Tips