シェルで変数置換する方法
unix sed
Published: 2018-10-22

目的

シェルスクリプトの中で変数の値を変換します。

やってみる

方法1. sedで変換する

#/bin/bash

TEST="abc abcdedfg 345 987 22222 345622"
echo "sedで置換する"
echo "変更前: "  $TEST
echo "変更後: "  $TEST | sed s/abc/ABC/g
echo ""

結果

変更前:  abc abcdedfg 345 987 22222 345622
変更後:  ABC ABCdedfg 345 987 22222 345622

方法2. シェル変数展開時に変換する

TEST="abc 'abcdedfg' 345 987 22222 345622"
echo "シェル変数展開時に置換"
echo "変更前: "  $TEST
echo "変更後 1箇所: "  ${TEST/\'/\\\'}
echo "変更後 全箇所: " ${TEST//\'/\\\'}

結果

変更前:  abc 'abcdedfg' 345 987 22222 345622
変更後 1箇所:  abc \'abcdedfg' 345 987 22222 345622
変更後 全箇所:  abc \'abcdedfg\' 345 987 22222 345622

参考URL