GNU/Linux >> Belajar Linux >  >> Linux

Ganti spasi dengan garis bawah melalui BASH

$ a="hello world"
$ echo ${a// /_}
hello_world

Menurut bash(1):

${parameter/pattern/string}

Substitusi pola. Pola diperluas untuk menghasilkan pola seperti pada perluasan nama jalur. Parameter diperluas dan pola yang paling cocok dengan nilainya diganti dengan string. Jika pola dimulai dengan /, semua pola yang cocok diganti
dengan tali. Biasanya hanya pertandingan pertama yang diganti. Jika pola dimulai dengan #, itu harus cocok di awal nilai parameter yang diperluas. Jika pola dimulai dengan %, pola tersebut harus cocok dengan akhir dari nilai parameter yang diperluas. Jika string null, pola yang cocok akan dihapus dan pola / berikut dapat dihilangkan. Jika parameter adalah @ atau *, operasi substitusi diterapkan ke setiap parameter posisi secara bergantian, dan perluasan adalah hasil dari daftar. Jika parameter adalah variabel larik yang disubskrip dengan @ atau *, operasi substitusi diterapkan ke setiap anggota larik secara bergantian, dan perluasannya adalah daftar yang dihasilkan.


Anda dapat mencoba yang berikut ini:

str="${str// /_}"

Linux
  1. Pernyataan Bash If-Else Dengan Contoh

  2. Cara mengganti spasi pada nama file menggunakan skrip bash

  3. nama dasar dengan spasi dalam skrip bash?

  1. Ganti kata dengan yang lain di bash

  2. Bash:tunggu dengan batas waktu

  3. Membulatkan Bilangan dengan bc di Bash

  1. Pencocokan pola skrip Bash

  2. tar -C dengan pola file wildcard

  3. Ganti pengguna gitolite3 dengan git