Pengaturcaraan BASH

Cara Memperoleh Substring Bash Selepas Karakter yang Ditentukan

Cara Memperoleh Substring Bash Selepas Karakter yang Ditentukan
Dalam pengaturcaraan, rentetan adalah rangkaian watak, sama ada sebagai pemalar tepat atau semacam pemboleh ubah. Karakter yang terdapat dalam rentetan dapat berupa angka, digit, atau karakter khas. Kata kunci boleh digunakan untuk mendapatkan substring setelah watak tertentu, dan semua kata kunci berfungsi sama. Beberapa contoh kata kunci merangkumi yang berikut:

Artikel ini memberikan beberapa contoh untuk meningkatkan pemahaman anda mengenai konsep memperoleh substring selepas watak tertentu.

Untuk mengikuti contoh yang diberikan dalam tutorial ini, pertama, log masuk ke sistem Linux anda dan buka terminal. Seterusnya, buat fail baru dengan nama “input.sh."

Contoh 1: Menggunakan Kata Kunci Potong

Buka input "fail.sh ”dari direktori utama, dan tulis kod berikut dalam fail. Dalam contoh pertama kami, kami akan menentukan rentetan bernama "string" dengan beberapa nilai di dalamnya mempunyai beberapa watak dan angka. Kami akan menggunakan kata kunci "potong" dalam kod ini, diikuti dengan "-d," untuk mendapatkan substring dari rentetan tertentu. Setelah itu, kami akan memberikan watak yang tepat dalam koma terbalik sebagai "-" sehingga substring akan dicari setelah watak khas ini.

Di sini, adalah penting untuk memahami idea utama pembentukan substring. Anda mesti ingat bagaimana memasukkan kata kunci "f" ketika menggunakan perintah "potong". Kata kunci "f" dapat digunakan dalam pelbagai cara untuk membuat substring, jadi mari kita lihat kaedah tertentu ini.

-f2: teks selepas watak khas pertama "-" dan sebelum yang berikutnya "-"

Ini berarti bahawa ia harus menampilkan "bar" substring kerana terletak setelah karakter pertama "-" dan sebelum karakter "-" berikutnya.

Setelah menjalankan file bash ini, kami memperoleh substring "bar", seperti yang kami harapkan.

Sekarang, kita akan memeriksa contoh yang sama untuk kata kunci "-f2-". Kemas kini fail, seperti di bawah.

-f2-: teks yang mengikuti watak khas pertama "-" tidak kira sama ada terdapat banyak watak "-".

Ini menunjukkan bahwa ia akan menampilkan substring "bar-123" kerana terletak setelah karakter pertama "-", terlepas dari apakah ada karakter "-" yang ada.

Setelah menjalankan file bash ini, kami memperoleh substring "bar-123", kerana ia terletak setelah watak "-" pertama.

Kami sekarang akan menggunakan keadaan yang sama, dengan sedikit perubahan pada rentetan dan watak. Kami telah menentukan rentetan baru "str" ​​dan memberikannya nilai yang berbeza. Dalam contoh ini, "i" adalah watak khas yang akan dicari dari rentetan asal, dan dari watak ini dan seterusnya, kita akan membuat substring. Dalam kes ini, kami telah menggunakan:

-f2: untuk membuat substring mengikut watak khas pertama "i" dan sebelum watak seterusnya "i."

Ini menyiratkan bahawa ia harus menampilkan substring "ltEff = str" kerana terletak setelah watak "i" pertama.

Apabila fail berjalan, substring akan diperoleh sebelum “i” berikutnya dan setelah “i” pertama."

Anda boleh mencuba kaedah ini dengan baris rentetan yang sama, seperti yang ditunjukkan dalam gambar di bawah:

Ia akan menunjukkan hasil yang sama seperti di atas.

Sekarang, kita akan menggunakan kata kunci "potong" dengan sedikit perubahan pada keadaan "f" dalam satu baris. Kami akan menggunakan "f1" dalam hal ini untuk mengubah hasil substring. Kami menggunakan:

-f1: untuk membuat substring sebelum watak khas pertama “i."

Ini menunjukkan bahawa ia harus menampilkan substring "GenF" kerana terletak sebelum watak khas "i."

Output di bawah adalah seperti yang diharapkan.

Di sini, kita menggunakan contoh yang sama dengan sedikit perubahan. Kami telah menggunakan kaedah lama untuk itu.

Hasil skrip ini sama seperti di atas.

Seterusnya, dengan mengambil contoh sebelumnya yang sama, kita menggunakan kata kunci "potong", sambil mengubah kata kunci "f."Di sini, kami akan menggunakan" f3 "untuk mengubah hasil substring, dan kami menggunakan:

-f3: untuk membuat substring selepas watak khas seterusnya “i."

Ini menunjukkan bahawa ia harus menunjukkan substring “ng.-01234 "kerana terletak selepas watak khas seterusnya" i."

Kami akan menjalankan kod yang sama menggunakan perintah Bash. Anda dapat melihat hasil baru di bawah:

Contoh 2: Menggunakan Kata Kunci Awk

Buka input "fail.sh ”dan tuliskan kod yang dilampirkan dalam fail. Di sini, kami telah menyatakan pernyataan gema dengan rentetan "foo-bar-123" menggunakan kata kunci "awk". Istilah cetakan diikuti oleh kata kunci "-F-". Ini akan membuat substring selepas watak khas seterusnya, iaitu "123," dan mencetaknya. Tidak perlu menentukan watak khas dalam kes ini.

Berikut ini adalah output "123" yang disebutkan di atas.

Contoh 3: Menggunakan Kata Kunci Sed

Dalam contoh ini, kami akan mengemas kini fail yang sama dengan kod yang disediakan di bawah. Dalam kes ini, kata kunci "sed" digunakan bukan "potong" atau "awk."

Kod ini akan memaparkan output yang serupa dengan contoh sebelumnya.

Contoh 4: Menggunakan Perwatakan Khas

Dalam contoh seterusnya, kami akan mengemas kini fail yang sama dengan kod yang disediakan di bawah. Di sini, kita akan menentukan tiga rentetan: "string", "searchstr" dan "temp."Kami mempunyai" $ string% $ searchstr * "dalam kodnya. “%” Akan mencari nilai pemboleh ubah “searchstr,” iaitu “dan,” dan akan membuang segala sesuatu setelah pemboleh ubah khas ini dari rentetan asal. Teks yang tersisa akan disimpan dalam pemboleh ubah "temp."Sekarang, pemboleh ubah" temp "akan dicetak, bersama dengan teks" Ini adalah rentetan baru."

Sekiranya kita melaksanakan kod di atas, rentetan asal akan dicetak terlebih dahulu; kemudian, substring baru akan dicetak.

Mengambil contoh yang sama dengan pembaruan kecil, kita akan menggunakan string "# *" sehingga segala sesuatu yang mengikuti nilai "searchstr," yaitu "dan," akan dimasukkan ke dalam variabel "temp."

Apabila anda memeriksanya di Bash, anda akan melihat bahawa rentetan lama akan dicetak terlebih dahulu. Setelah itu, kerana "ia akan dihapus" adalah nilai baru dari "temp", itulah sebabnya ia akan dicetak pada baris berikutnya terlebih dahulu, bersama dengan teks "Ini adalah rentetan baru."

Kesimpulannya

Sekiranya anda ingin mendapatkan substring dari rentetan menggunakan beberapa watak khas di dalamnya, anda boleh melakukannya dengan menggunakan kaedah yang disediakan di atas.

Battle For Wesnoth 1.13.6 Pembangunan Dikeluarkan
Battle For Wesnoth 1.13.6 dilancarkan bulan lalu, adalah rilis pengembangan keenam di 1.13.siri x dan memberikan sejumlah penambahbaikan, terutamanya ...
Cara Memasang League Of Legends di Ubuntu 14.04
Sekiranya anda peminat League of Legends, maka ini adalah peluang bagi anda untuk menguji menjalankan League of Legends. Perhatikan bahawa LOL disokon...
Pasang permainan Strategi OpenRA terkini di Ubuntu Linux
OpenRA adalah mesin permainan Strategi Masa Nyata / Bebas yang mencipta semula permainan Westwood awal seperti Command & Conquer klasik: Makluman Mera...