「I love Suzi and Marry」という名前があり、「Suzi」を「Sara」に変更したいです。
firstString="I love Suzi and Marry"
secondString="Sara"
望ましい結果:
firstString="I love Sara and Marry"
ベストアンサー1
パターンの最初の出現を指定された文字列に置き換えるには、次を使用します。${parameter/pattern/string}
#!/bin/bash
firstString="I love Suzi and Marry"
secondString="Sara"
echo "${firstString/Suzi/"$secondString"}"
# prints 'I love Sara and Marry'
すべての出現箇所を置換するには、次を使用します:${parameter//pattern/string}
message='The secret code is 12345'
echo "${message//[0-9]/X}"
# prints 'The secret code is XXXXX'
(これはBash リファレンスマニュアル、§3.5.3「シェルパラメータの展開」。
この機能はPOSIXで規定されていないことに注意してください。これはBashの拡張であり、すべてのUnixシェルがこれを実装しているわけではありません。関連するPOSIXドキュメントについては、以下を参照してください。Open Group 技術標準基本仕様、第 7 版、Shell & Utilities巻、§2.6.2「パラメータ拡張」。