Linuxで置換を行う3つの方法【文字列置換コマンドの比較】

Linuxコマンドを勉強したい人向け

本記事の内容

Linuxで置換を行う方法を3つ紹介します。

Linuxで置換を行う方法を3つ紹介します。

以下の3つのコマンドの置換機能を比較します。

$ sed
$ tr
$ bash

結論から言うと、比較結果の一覧は以下の通りです。

コマンド別 置換機能一覧

コマンド 文字列の置換 文字の置換 改行の置換 処理の速さ
sed
tr
bash

各コマンドでできること/できないことを順に解説します。

sedコマンドで置換する

sedコマンドで置換する

sedコマンドは文字列の置換に最適なコマンドです。

文字列を置換する構文

sed -s ‘e/置換前の文字列/置換後の文字列/g’

文字列を置換する具体例

文字列の置換の例です。WorldをFriendsに置換します。

$ echo "Hello, World!!" | sed -e 's/World/Friends/g'

実行結果は以下の通りです。
[実行結果]

Hello, Friends!!

改行の置換は簡単にできない

このように、文字列の置換に便利なsedコマンドですが、改行の置換は簡単にできません。

改行に限らず、1つの文字、改行などの特殊文字を置換する場合にはtrコマンドを使うのが一般的です。

また、処理速度もsedに比べてtrの方が早いです。

trコマンドで置換する

trコマンドで置換する

trを使えば、改行の置換も簡単です。例えば次の例では、2行からなる文書の改行をTabに置換します。

$ echo 'This is a pen,
and that is a pencil,' | tr '\n' '\t'

実行結果は以下の通りです。
[実行結果]

This is a pen,	and that is a pencil.

文字を置換する時に使う構文

具体例と説明の順番が前後してしまいますが、trで文字を置換するときの構文は以下の通りです。

tr ‘置換前文字’ ‘置換後文字’

特定の文字を削除する構文

続いて、置換ではなく文字を削除したい場合のやり方を解説します。構文は以下の通りです。

tr -d ‘削除対象文字’

文字を削除する具体例

以下は特定の文字を削除する例です。アルファベットのsを削除します。

$ echo 'This is a pen, and that is a pencil' | tr -d 's'

実行結果は以下の通りです。
[実行結果]

Thi i a pen, and that i a pencil

文字の削除をしたい場合、改行などの特殊文字を処理したいケースがほとんどだと思います。上記のようなアルファベットの削除ならばsedでもできますが、特殊文字の削除であればtrの方が高速かつ便利です。

bashで置換する

bashで置換する

bashにも変数に格納された文字列を置換する機能があります。

bashで文字列を置換する構文

${変数名//置換前文字列/置換後文字列}

bashで文字列を置換する具体例

次の例では、変数helloの文字列にあるpencilをorangeに置換します。

hello=`echo This is a pen, and that is a pencil.`
echo ${hello//pencil/orange}

実行結果は以下の通りです。
[実行結果]

This is a pen, and that is a orange.

今回は以上です。参考になりましたら幸いです。

  • 給付を貰いながら講座を受講して、Linux技術者認定(LPIC-1&2)を短期で取得しませんか?技術力の認定があれば、転職・就職・昇進に有利です。もちろん実務能力も向上します。無料の資料請求はこちら(Linuxアカデミー)   の右上から。
 LPIC資格対策コース(LeveI1):学習時間は15時間  LPIC2資格対策コース(LeveI2):学習時間は25時間  Linuxセキュリティコースもあります:学習時間は25時間  会社員なら、教育訓練給付制度の給付対象となる講座です。  資格試験の内容、学習プラン、講座に関する資料を無料送付。
Linux技術者認定(LPIC Level1&Level2)

キャンペーン情報:無料で1,000円プレゼント Linuxアカデミーでは、教室でカウンセリングを受けた方を対象にスターバックスカード1,000円分の無料プレゼントキャンペーン中です。この機会にぜひどうぞ! » LPIC-1&2 対策コースの詳細はこちら » LinuCライセンスを独学で取得したい方はこちら

Blog TOP  Linuxコマンドを勉強したい人向け|Linuxの使い方 記事まとめ

Linux&Linuxコマンドを勉強したい人向けの記事もくじ

用語解説・技術一般

  "UNIXとLINUX"の違いについて解説します
  CUIとGUIの違い・特徴について解説します

サーバリソースを確認するコマンドの使い方

  【Linux】CPU使用率を確認する3つの方法を解説します
  【Linux】topコマンドで,CPU消費の原因を特定する方法
  【Linux】ps実行時に-efオプションを付ける理由について
  【Linux】メモリ使用率を確認する|容量・空きの確認も
  【Linux】ディスク容量を確認する|ディスク容量監視も

ファイル操作に関するコマンドの使い方

  【Linux】ファイルの行数をカウントする方法を解説
  【Linux】文字コード変換ならiconvコマンド1択です
  【Linux】/dev/nullを、エンジニアが使う2つの目的
  【Linux】findのexecオプションの使い方とその注意点
  【Linux】findの結果から圧縮ファイルを作るコマンド
  【Linux】hostsの場所はどこ?→/etc/hostsにあります
  【Linux】touchコマンドで,時刻更新&空ファイル作成

Linux管理者用コマンドの使い方

  【Linux】再起動コマンド(shutdown)の使い方と注意点

よく使う便利なコマンドの使い方

  【Linux】改行なしでechoコマンドを使う時の -nオプション
  【Linux】sleepコマンドの使用例と注意点について解説する
  【Linux】rmコマンドでディレクトリを削除する方法を解説
  【Linux】ファイルを削除するコマンド2選【rm以外もあり】
  【Linux】awkの区切り文字を指定する,-Fオプションを解説
  【Linux】sedで文字列の置換をするeオプションを解説する
  【Linux】dateコマンドのフォーマットとその便利な使い方
  【Linux】大文字から小文字に変換する方法【小文字から大文字も】

シェルの便利機能

  【Linux】コマンド履歴を検索する【Ctrl+r】



 

《ながら読書に最適》 本の朗読サービスAmazon audibleは30日間だけ無料で使えます


人気記事フリーランス|独立に失敗したらどうなるか不安…不安を解消するには?

人気記事【就活】インターネット関連企業ランキング【就職・転職をサポート】