#navi(../)
* sedコマンドで大文字小文字を区別せずに置換する方法(iを使用する) [#cde71b79]
sedコマンドで英大文字、英小文字を区別せずに置換する方法を実行例をあげて記します。
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* 関連記事 [#jd3f11b3]
-[[grepで大文字小文字を区別しないで検索する>逆引きUNIXコマンド/grepで大文字小文字を区別しないで検索する]]
-[[sedで指定した行を削除する方法>逆引きUNIXコマンド/sedで指定した行を削除する方法]]
-[[sedを使ってスペースの文字列操作を行う>逆引きUNIXコマンド/sedを使ってスペースの文字列操作を行う]]
-[[sedを使って改行のみ、スペースのみの行を削除する>逆引きUNIXコマンド/sedを使って改行のみ、スペースのみの行を削除する]]
-[[キーワードからキーワードまでの文字列を抜き出す方法・sedコマンド>逆引きUNIXコマンド/キーワードからキーワードまでの文字列を抜き出す方法・sedコマンド]]
-[[sedでディレクトリ文字列が格納されている環境変数等を展開して置換したい>逆引きUNIXコマンド/sedでディレクトリ文字列が格納されている変数を展開して置換する]]
-[[sedでスラッシュを置換する方法>逆引きUNIXコマンド/sedでスラッシュを置換する方法]]
* iを使用することにより英大文字小文字を区別ぜずに置換する [#jc7b2e5c]
以下の構文のようにすると英大文字、英小文字を区別せずに置換することができます。~
一番最後にiが付加されています。~
以下の構文では、echoにより出力された文字列をパイプを使いsedで置換する例です。
echo 文字列 | sed -e "s/置換前文字列/置換後の文字列/i"
* 実際にsedにiを付加して実行してみた [#u99554e4]
上記の構文を使用しsakura文字列をtubakiに置換した例を記します。~
- 置換前文字列が全て英大文字ですが、echoコマンドにより出力された英小文字のsakuraは置換後の文字列に変換されているのが確認できます。
$ echo "sakura" | sed -e "s/SAKURA/tsubaki/i"
tsubaki
- 上記と同様に置換前文字列を英大文字小文字の混在で指定してあります。~
上記と同様にtusbakiに置換されているのが確認できます。
$ echo "sakura" | sed -e "s/SaKuRa/tsubaki/i"
tsubaki
* ファイルで試してみる [#b62c002b]
以下のようなテキストファイルを置換してみます。
- 実行例用のテキストファイル内容
$ cat sedtest.txt
sakura
Sakura
SAkura
SAKura
SAKUra
SAKURa
SAKURA
- sedコマンド実行結果~
全てのsakuraがsuzuranに置換されているのが確認できます。
$ sed -e "s/sakura/suzuran/i" sedtest.txt
suzuran
suzuran
suzuran
suzuran
suzuran
suzuran
suzuran
以上、sedコマンドで英大文字、英小文字を区別せずに置換する方法でした。
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)