sed コマンドを使用して文字列を置換する Linux チュートリアル

sed コマンドを使用して文字列を置換する Linux チュートリアル

文字列を置き換えるには、次の形式を使用する必要があります。

$ sed s/置換対象文字列/置換文字列/ファイル名

以下では、文字列「sample.txt」を「appleorangemelon」に置き換えます。

$ sed s/オレンジ/オレンジ/sample.txt

実行結果は

リンゴオレンジメロン

文字列を置換して出力します。

また、以下のようにcatコマンドの後にsedコマンドを「|」でつなげても同じ結果になります。

$ cat sample.txt | sed s/apple/APPLE/

sed コマンドは文字列を置き換えて出力するだけであり、実際のファイルの内容は書き換えないことに注意してください。

置換されたコンテンツをテキスト内に保持したい場合は、リダイレクト「>」を使用します。

sed コマンドで使用されるオプション

コマンドオプション例示する
-e指定されたスクリプトに置き換えます
-f ファイル指定されたファイルに記述されたスクリプトファイルの内容を追加します
-r拡張正規表現の使用

sedコマンドの使用

すべての行を置換

前述の形式では、1 行に複数の置換対象文字列に一致する文字列があったとしても、最初に一致した文字列のみが置換されます。

したがって、一致する文字列をすべて置き換えるには、次のようにします。

$ sed -es /apple/APPLE/g sample.txt

実行結果は

アップルオレンジメロンアップル

行の先頭と末尾を置換する

$ sed -e "s/^apple/APPLE/" サンプル.txt
$ sed -e "s/apple\$/APPLE/" サンプル.txt

複数の部分文字列を置換する場合は、複数のスクリプトを指定できます。

$ sed -e "s/apple/APPLE/" -e "s/orange/ORANGE/" サンプル.txt

行を削除する

指定した行を削除するには「d」を指定します。たとえば、2 行目を削除するには、「2d」と入力します。

$ sed -e '2d' サンプル.txt

また、複数行を削除することもできます。以下は1行目から3行目までを削除する例です。

$ sed -e '1,3d' サンプル2.txt

以下もご興味があるかもしれません:
  • Linux sed コマンドの詳細な説明 (推奨)
  • sedコマンドを使用して、キーワードがある行を検索し、その前の最初の文字を削除します。
  • Sedコマンドと正規表現メタ文字の使用方法の詳細な説明
  • 一定期間から現在までのシステムログのsedコマンドを表示する
  • 1日1シェルコマンド Linuxテキストコンテンツ操作シリーズ - sedコマンド詳細説明
  • Linux での sed コマンドの使用
  • Linuxにおけるsedコマンドの使い方と注意点のまとめ
  • Linuxでよく使われるsedコマンド
  • Linuxでkv設定ファイルを変更するにはsedコマンドを使用します
  • sed コマンドを使用してファイルの特定の行を効率的に削除する方法

<<:  Apple 電卓の JS 実装

>>:  MySql 自動切り捨て例の詳細な説明

推薦する

Dockerがコンテナを作成した後にホスト名を変更する詳細なプロセス

後悔を癒す薬は世の中にある、考えてみる気さえあれば!コンテナを再作成する必要はもうありません。 m2...

Vue3とTypeScriptを組み合わせたプロジェクト開発の実践記録

目次概要1. コンポジションAPI 1. ref と reactive の違いは何ですか? 2. 周...

CSSレコードテキストアイコン配置のいくつかのソリューション

開発中に画像とテキストが 1 行に表示されることはよくあります。2 つのインライン要素を揃えるのは通...

サーバーストレステストの概念と方法 (TPS/同時実行性)

目次1 ストレステストの指標1.1 秒あたり1.2 クォータ1.3 平均処理時間(RT) 1.4 同...

MySQLのインデックスシステムがB+ツリーを使用する理由の分析

目次1. インデックスとは何ですか? 2. インデックスはなぜ必要なのでしょうか? 3. インデック...

DockerでMySQLコンテナを作成する簡単な手順

序文すでに Docker をインストールしており、Docker について簡単に理解しています。ここで...

ドラッグアンドドロップでVueユーザーインターフェースを生成する方法

目次序文1. 技術原理1.1 レイアウト1.2 コンポーネント1.3 ステータス1.4 イベント1....

Vueの計算プロパティの詳細な説明

1. 計算属性とは何ですか? 簡単に言えば、計算された結果が属性に保存されるもので、キャッシュとして...

CocosCreator Typescriptでテトリスゲームを作る

目次1. はじめに2. 解決すべきいくつかの重要な問題3.最後に書く1. はじめに最近、Cocos ...

HTML テーブルタグチュートリアル (3): 幅と高さの属性 WIDTH、HEIGHT

デフォルトでは、テーブルの幅と高さはコンテンツに応じて自動的に調整されます。テーブルの幅と高さを手動...

なぜ Tomcat が起動できないのでしょうか?

目次現象:ポートの使用:ファイルにスペルミスがあります:現象: Tomcat がインストールされ、W...

Vue で wangeditor リッチテキスト編集を使用する際の問題

wangEditor は、JavaScript と CSS に基づいて開発された Web リッチ テ...

MySql 5.7.17 winx64 のインストールと設定に関する詳細なチュートリアル

1. ソフトウェアをダウンロードする1. MySQL の公式サイトにアクセスし、Oracle アカウ...

Vue は動的な円形のパーセンテージ進捗バーを実装します

最近、小さなプログラムを開発しているときに、次の設計図のような円形のパーセンテージ進捗状況バーを実装...

ホバー生成の境界線によって生じる要素の移動を解決する方法

序文hover疑似クラスが要素に境界線を追加すると、要素内のコンテンツがずれることがあります。box...