GNU/Linux >> Linux Esercitazione >  >> Linux

Sostituisci gli spazi con caratteri di sottolineatura tramite BASH

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

Secondo bash(1):

${parameter/pattern/string}

Sostituzione del modello. Il pattern viene espanso per produrre un pattern proprio come nell'espansione del percorso. Il parametro viene espanso e la corrispondenza più lunga del modello rispetto al suo valore viene sostituita con la stringa. Se il modello inizia con /, vengono sostituite tutte le corrispondenze del modello
con spago. Normalmente viene sostituita solo la prima partita. Se il modello inizia con #, deve corrispondere all'inizio del valore espanso del parametro. Se il modello inizia con %, deve corrispondere alla fine del valore espanso del parametro. Se la stringa è nulla, le corrispondenze del modello vengono eliminate e il modello / seguente può essere omesso. Se il parametro è @ o *, l'operazione di sostituzione viene applicata a turno a ciascun parametro posizionale e l'espansione è l'elenco risultante. Se parametro è una variabile di matrice con indice @ o *, l'operazione di sostituzione viene applicata a turno a ciascun membro della matrice e l'espansione è l'elenco risultante.


Potresti provare quanto segue:

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

Linux
  1. Bash -c con parametri posizionali?

  2. Perché Bash non memorizza i comandi che iniziano con spazi?

  3. Bash Istruzione If-Else con esempi

  4. basename con spazi in uno script bash?

  5. Bash:aspetta con timeout

Sostituisci du con polvere su Linux

Cos'è Git Bash; Lavorare con i comandi Git Bash

Come sostituire gli spazi nei nomi dei file con i caratteri di sottolineatura sulla shell di Linux

Sostituzione di una sottostringa con un'altra stringa in Bash

tar -C con un modello di file con caratteri jolly

Sostituisci utente gitolite3 con git