mirror of
https://github.com/jbranchaud/til
synced 2026-01-02 22:58:01 +00:00
34 lines
1019 B
Markdown
34 lines
1019 B
Markdown
# Use An Alternative Delimiter In A Substitution
|
|
|
|
A pretty standard sed substitution command is going to use `/` (the forward
|
|
slash) as the delimiter. The delimiter separates the different parts of the
|
|
command.
|
|
|
|
```bash
|
|
$ sed 's/critter/creature/' animals.txt
|
|
```
|
|
|
|
The first delimiter marks the beginning of the regular express to be replaced.
|
|
That expression is everything up to the next delimiter. Then the substute
|
|
expression starts up until the next delimiter.
|
|
|
|
There is nothing special about the `/` as the delimiter, it just happens to be
|
|
the most commonly used character.
|
|
|
|
In fact, any visible character can be used as the delimiter with sed.
|
|
|
|
Some other common ones are `:`, `|`, and `_`. I like how the `pipe` character
|
|
looks.
|
|
|
|
```bash
|
|
$ sed 's|critter|creature|' animals.txt
|
|
```
|
|
|
|
But like I said, any visible character will work. If you wanted, you could use
|
|
`Q` though that'll look strange and could cause some confusion when reading
|
|
through your script.
|
|
|
|
```bash
|
|
$ sed 'sQcritterQcreatureQ' animals.txt
|
|
```
|