Bash Buang Karakter x Terakhir Dari Rentetan

Bash Remove Last X Characters From String



Kadang kala seseorang mesti memadamkan huruf dari rentetan. Walau apa jua keadaannya, Linux menyertakan beberapa alat terpakai dan berguna untuk menghilangkan huruf dari teks seperti itu di Bash. Artikel ini menunjukkan cara menghapus huruf dari rentetan menggunakan kaedah tersebut. Dalam catatan ini, arahan dijalankan pada Ubuntu 20.04 Focal Fossa. Arahan yang sama boleh dijalankan pada mana-mana sistem Linux yang memasang utiliti yang disebutkan di atas. Untuk melaksanakan arahan, kami akan menggunakan Terminal yang biasa. Pintasan Ctrl + Alt + T akan membuka alat Terminal.

Kaedah 01: Substring Way

Kaedah pertama kami untuk membuang huruf atau watak dari rentetan lebih seperti membuat substring dari yang asal. Sementara itu, terminal telah dibuka; kami akan membuat fail bash untuk menambahkan kod bash kami. Supaya kita dapat melakukan penghapusan watak atau pembuatan substring di dalamnya. Oleh itu, kami telah menggunakan arahan sentuhan terbina dalam shell kami untuk membuat fail bash.









Oleh kerana fail telah dihasilkan dengan cepat di folder beranda Ubuntu 20.04, buka di beberapa editor untuk diedit. Jadi, kami memilih editor GNU untuk membuka dokumen file.sh seperti di bawah.







Salin kod yang ditunjukkan di bawahnya. Kod ini mengandungi ekstensi bash pada awal, dan setelah itu, kami telah menyatakan val variabel string dengan nilai string. Di baris lain, kami menggunakan frasa gema untuk memaparkan pemboleh ubah ini di terminal. Tugas sebenarnya bermula dari sini. Kami telah memulakan pemboleh ubah baru dan memberikannya nilai yang merupakan substring dari pemboleh ubah asal. Kami telah melakukannya dengan menyebutkan -14 pada pendakap selepas dua titik dua. Ini memberitahu penyusun bahawa ia mesti mengeluarkan 14 huruf terakhir dari rentetan asal FirstWorldCountries. Huruf yang tinggal akan disimpan ke pemboleh ubah baru. Pada baris terakhir, gema telah digunakan untuk mencetak pemboleh ubah baru baru.



Pelaksanaan file.sh yang betul menggunakan perintah bash keluar seperti yang diharapkan. Pertama, ia memaparkan nilai val variabel rentetan pertama, dan setelah itu, Ia memaparkan nilai rentetan yang baru dibuat dari pemboleh ubah pertama seperti pada output yang ditunjukkan.

Kaedah 02: Menggunakan Simbol Khas

Kaedah lain yang mudah dan senang untuk membuang huruf atau watak terakhir dari rentetan apa pun adalah melalui simbol atau watak khas, contohnya, simbol peratusan dan tanda tanya. Jadi, kali ini kita akan menggunakan peratusan dan tanda tanya untuk membuang watak dari rentetan mana pun. Oleh itu, kami telah membuka fail yang sama untuk mengemas kini skrip bash menggunakan editor GNU Nano. Keseluruhan kodnya sama, tetapi bahagian baru yang berubah-ubah sedikit berbeza. Kami telah menggunakan tanda peratusan untuk memberitahu sistem bahawa bilangan tanda tanya yang disebutkan mewakili jumlah watak dari val pemboleh ubah yang akan dikeluarkan setelah tanda peratusan ini. Anda dapat melihat kami telah menambahkan 9 simbol tanda tanya. Ini bermaksud 9 aksara terakhir dari rentetan FirstWorldCountries akan dikeluarkan, dan rentetan yang selebihnya akan menjadi FirstWorld. Rentetan yang tersisa ini kemudian akan disimpan ke pemboleh ubah baru.

Ketika kami telah menjalankan file bash yang dikemas kini, output akan datang seperti yang dijangkakan. Ini menunjukkan rentetan asal dari pemboleh ubah pertama dan nilai pemboleh ubah kedua, baru yang telah dibuat dari pemboleh ubah val.

Kaedah 03: Menggunakan Sed

Sed adalah alat yang berguna dan berkesan untuk mengubah urutan teks. Itulah persekitaran pembangunan yang tidak interaktif yang membolehkan anda bekerja dengan input data dan melakukan transformasi teks yang mudah. Anda juga boleh menggunakan sed untuk menghapus huruf dari teks yang tidak anda mahukan. Kami akan menggunakan rentetan contoh dan mengarahkannya ke perintah sed untuk tujuan ilustrasi. Anda boleh menghapus watak tertentu dari beberapa jenis tali dengan sed. Oleh itu, kami telah menggunakan garis rentetan sederhana dalam pernyataan gema. Kami telah menggunakan sed untuk mengeluarkan huruf A dari tali yang disebutkan. Pastikan anda mengikuti sintaks 's / string_to_be_removed //'. Keluaran menunjukkan huruf A telah dikeluarkan.

Untuk membuang keseluruhan perkataan Aqsa, kami telah menyebut watak pertama dan terakhir kata dengan titik di dalamnya untuk mewakili huruf yang hilang. Output menunjukkan rentetan dengan penghapusan kata Aqsa.

Untuk mengeluarkan sebilangan aksara terakhir dari rentetan, sebutkan jumlah titik mengikut keperluan anda sebelum simbol dolar seperti yang ditunjukkan.

Kaedah 04: Menggunakan Awk

Awk adalah bahasa skrip yang canggih yang dapat digunakan untuk memadankan corak dan memproses teks. Anda mungkin menggunakan Awk untuk mengubah dan mengubah input dengan pelbagai cara. Anda juga boleh menghapus huruf dari rentetan menggunakan awk. Awk nampaknya sedikit berbeza dengan sed. Kali ini kami telah menukar rentetan dengan Aqsa Yasin. Fungsi awk akan membuat substring melalui kaedah substr dan mencetaknya di terminal. Panjang fungsi telah digunakan untuk menunjukkan jumlah huruf yang dikeluarkan dari tali yang disebutkan. Di sini, panjang ($ 0) -5 bermaksud membuang 5 aksara rentetan terakhir, dan selebihnya akan menjadi bahagian substring yang akan dicetak.

Kami telah mencuba mengeluarkan 9 watak terakhir dari rentetan Aqsa Yasin dan mendapat A sebagai substring output.

Kaedah 05: Menggunakan Potong

Cut nampaknya menjadi utiliti baris perintah untuk mengekstrak sekeping teks dari frasa atau dokumen tersebut dan mencetaknya ke output standard. Operasi ini juga dapat digunakan untuk menghilangkan huruf dari beberapa jenis tali. Kami akan menggunakan frasa contoh dan menyampaikannya kepada arahan pemotongan untuk tujuan pengujian. Oleh itu, kami telah menggunakan frasa Aqsa Yasin dan menyampaikannya ke pertanyaan potong. Selepas bendera –c, kami telah menentukan julat indeks untuk rentetan untuk memotong watak dari rentetan yang disebutkan. Ini akan menunjukkan watak dari indeks 1 hingga indeks 5. Indeks 5 telah dikecualikan di sini. Keluaran menunjukkan 4 watak pertama sebagai Aqsa.

Kali ini kita akan menggunakan arahan potong secara berbeza. Kami telah menggunakan fungsi rev untuk membalikkan rentetan. Selepas terbalik rentetan, kita akan memotong watak pertama dari rentetan. Bendera -c2-bermaksud substring kami akan meneruskan watak 2. Selepas itu, fungsi terbalik digunakan lagi untuk mengembalikan rentetan. Jadi, kali ini kami mendapat rentetan semula dengan penyingkiran watak terakhir.

Untuk membuang 7 aksara terakhir, anda hanya perlu menyebut -c7-dalam perintah potong sambil menggunakan fungsi terbalik juga.

Kesimpulan:

Terdapat lebih daripada satu kaedah untuk melakukan tugas asas di Linux. Begitu juga, penghapusan watak dari teks adalah mungkin. Artikel ini menunjukkan lima kaedah berbeza untuk menghilangkan watak yang tidak diinginkan daripada rentetan, serta beberapa contoh. Apa sahaja alat yang anda pilih bergantung sepenuhnya pada pilihan anda dan, lebih penting lagi, apa yang ingin anda capai.