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 自動切り捨て例の詳細な説明

推薦する

jQueryはショッピングカート機能を実装します

この記事の例では、ショッピングカート機能を実装するためのjQueryの具体的なコードを参考までに共有...

Vueはブラウザ側のコードスキャン機能を実装します

背景少し前にブラウザカメラの取得とスキャンコード認識の機能を作りました。その際の知識ポイントと具体的...

JavaScript はパスワードボックスの入力検証を実装します

サーバーの負荷を軽減するために、ユーザーが入力するときにフロントエンドページで簡単な検証を実行する必...

HTMLとXHTML、HTML4とHTML5のタグの違いについて簡単に紹介します。

HTML と XHTML の違い1. XHTML要素は正しくネストされている必要がある2. XHT...

CSS3 で背景ぼかしを実現する 3 つの方法 (要約)

1. 通常の背景ぼかしコード: <スタイル> html, 体 { 幅: 100%; 高...

ReactでCSSをエレガントに書く方法

目次1. インラインスタイル2. インポート方法を使用する3.cssモジュールのエクスポート4. ス...

Vue は、デスクトップから Web ページにファイルをドラッグするためのサンプル コードを実装します (画像/オーディオ/ビデオを表示できます)

効果使用する場合は、コードとスタイルを自分で最適化してください。画像を表示しない/ビデオとオーディオ...

Linuxでのaliasコマンドの使い方の詳細な説明

1. 別名の使用alias コマンドは、コマンドのエイリアスを設定するために使用されます。このコマン...

NginxはIP経由の直接アクセスを禁止し、カスタム500ページにリダイレクトします

設定ファイルに直接 サーバー{ listen 80 default; # IPへの直接アクセスを禁止...

MySQL で特殊文字を含むデータベース名を作成する方法の例

序文この記事では、MySQL で特殊文字を使用してデータベース名を作成する方法について説明します。こ...

MySQL 5.7.27 winx64 のインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 5.7.27 winx64のインストールと設定方法を参考までに紹介します。...

ツールキット: Bootstrap よりも強力なフロントエンド フレームワーク

注: 現在、最も人気のフロントエンド フレームワークは Bootstrap と Foundation...

vscode dockerプラグインのdocker.socket権限問題を解決する

解決策: システム内のすべての .vscode 関連プロセスを終了します (または、remote-s...

MYSQLデータベースの最適化段階を簡単に理解する

導入面接官がこんな質問をしたことはありませんか?データベースをどのように最適化しますか?では、この質...

MySQL 8.0 バージョンで getTables がすべてのデータベース テーブルを返す問題の簡単な分析

序文この記事では、主にライブラリ内のすべてのテーブルを返すMysql8.0ドライバgetTables...