To replace the first occurrence of a pattern with a given string, use ${parameter/pattern/string}
:
#!/bin/bash firstString="I love Suzi and Marry" secondString="Sara" echo "${firstString/Suzi/"$secondString"}" # prints 'I love Sara and Marry'
To replace all occurrences, use ${parameter//pattern/string}
:
message='The secret code is 12345' echo "${message//[0-9]/X}" # prints 'The secret code is XXXXX'
(This is documented in the Bash Reference Manual, §3.5.3 “Shell Parameter Expansion”.)
Note that this feature is not specified by POSIX — it’s a Bash extension — so not all Unix shells implement it. For the relevant POSIX documentation, see The Open Group Technical Standard Base Specifications, Issue 7, the Shell & Utilities volume, §2.6.2 “Parameter Expansion”.
Related Posts:
- How do I pause my shell script for a second before continuing?
- In the shell, what does ” 2>&1 ” mean?
- In the shell, what does ” 2>&1 ” mean?
- How do I use a regex in a shell script?
- How to grep for case insensitive string in a file?
- Difference between wait and sleep
- Multi-line string with extra space (preserved indentation)
- Multi-line string with extra space (preserved indentation)
- ‘\r’: command not found – .bashrc / .bash_profile [duplicate]
- ‘\r’: command not found – .bashrc / .bash_profile [duplicate]
- How can I check if a directory exists in a Bash shell script?
- How can I declare and use Boolean variables in a shell script?
- How to reload .bashrc settings without logging out and back in again?
- How can I declare and use Boolean variables in a shell script?
- How to reload .bash_profile from the command line?
- What is the purpose of “&&” in a shell command?
- How can I count all the lines of code in a directory recursively?
- How can I kill a process by name instead of PID, on Linux?
- Which characters need to be escaped when using Bash?
- Shell: How to call one shell script from another shell script?
- find: missing argument to -exec
- How to check if an environment variable exists and get its value?
- How to convert a string to lower case in Bash?
- Create a new file in git bash
- How to specify the private SSH-key to use when executing shell command on Git?
- Sorting data based on second column of a file
- Speed up rsync with Simultaneous/Concurrent File Transfers?
- Multi-dimensional arrays in Bash
- Variable interpolation in the shell
- What’s the meaning of the parameter -e for bash shell command line?
- zip error – Nothing to do
- Check existence of input argument in a Bash shell script
- Associative arrays in Shell scripts
- How to split one string into multiple strings separated by at least one space in bash shell?
- Copy multiple files from one directory to another from Linux shell
- Shell script not running, command not found
- source command not found in sh shell
- Difference between sh and Bash
- Integer expression expected error in shell script
- What is the difference between double and single square brackets in bash?
- Cp: target is not a directory
- How do I tell if a regular file does not exist in Bash?
- Extract substring in Bash
- Read a file line by line assigning the value to a variable
- How to decode Seagate’s hard drive date code in a Bash script
- How to concatenate string variables in Bash
- -bash: syntax error near unexpected token `)’
- How do I parse command line arguments in Bash?
- How to make “if not true condition”?
- -bash: syntax error near unexpected token `newline’
- How do I iterate over a range of numbers defined by variables in Bash?
- Echo newline in Bash prints literal \n
- Bash script and /bin/bash^M: bad interpreter: No such file or directory [duplicate]
- Passing parameters to a Bash function
- How can I use “:” as an AWK field separator?
- “unary operator expected” error in Bash if condition
- “while :” vs. “while true” [duplicate]
- Pseudo-terminal will not be allocated because stdin is not a terminal
- How do I compare two string variables in an ‘if’ statement in Bash?
- How can I compare numbers in Bash?
- Is bash a programming language?
- Pass variable from one Jenkins stage to others in sh
- What is cp: cannot stat error in Unix, I get this error when trying to copy thing from one folder to another
- How can I match a string with a regex in Bash?
- How to use gdb with pipes and stdin
- How to define hash tables in Bash?
- ./configure : /bin/sh^M : bad interpreter
- What is cp: cannot stat error in Unix, I get this error when trying to copy thing from one folder to another
- Bash syntax error: unexpected end of file
- Create timestamp variable in bash script
- How do I edit $PATH (.bash_profile) on OS X?
- Difference between return and exit in Bash functions
- Check number of arguments passed to a Bash script
- Run a string as a command within a Bash script
- choosing between $0 and BASH_SOURCE
- Fast ping sweep in python
- Writing a simple shell in C using fork/execvp
- chmod: changing permissions of ‘my_script.sh’: Operation not permitted
- What does set -e mean in a bash script?
- What does set -e mean in a bash script?
- How can I check if a program exists from a Bash script?
- Bash command to sum a column of numbers
- Linux find and grep command together
- curl: no URL specified for restful api
- firebase-tools “-bash: firebase: command not found”
- Running bash script from within python
- How to run C program on Mac OS X using Terminal?
- Bash mkdir and subfolders
- Linux Bash: Move multiple different files into same directory
- How to get the first line of a file in a bash script?
- How to open Emacs inside Bash
- How to parse XML in Bash?
- Error handling in Bash
- bash which OR operator to use – pipe v double pipe
- Timeout a command in bash without unnecessary delay
- How do I know the script file name in a Bash script?
- Check if array is empty in Bash
- Run an interactive bash subshell with initial commands without returning to the (“super”) shell immediately
- Clean way to write complex multi-line string to a variable
- How to run command as user who has /usr/sbin/nologin as Shell?