{category}

Linux - テキスト操作

sed

セド(テキスト処理とシェル

意味 ストリームエディタ


sedとは?

sedは、Linuxのストリームエディタです。テキストファイルの内容を変更するのに使います。文字列の置換、削除、挿入などの編集操作を自動化できる強力なツールです。

sedの具体的な使い方

文字列置換の例

$ sed 's/error/warning/g' log.txt

👇出力結果

(log.txtファイルの内容が表示され、'error'が'warning'に置換されています)

このコマンドは、log.txtファイル内のすべての'error'という文字列を'warning'に置換します。's/'は置換を意味し、'g'はファイル全体で置換を行うことを示します。

特定行の抽出例

$ sed -n '5,10p' filename.txt

👇出力結果

(filename.txtの5行目から10行目の内容が表示されます)

このコマンドは、filename.txtの5行目から10行目までを表示します。'-n'オプションは自動出力を抑制し、'p'コマンドで指定した行のみを出力します。

行の削除例

$ sed '/^#/d' config.txt

👇出力結果

(config.txtの内容が表示され、'#'で始まる行が削除されています)

このコマンドは、config.txtファイルから'#'で始まる行(コメント行)を削除します。'^#'は行頭の'#'を意味し、'd'は削除を指示します。

sedに関するよくある質問

Q. sedとgrepの違いは?
A. sedはテキストの編集(置換、削除など)に特化しており、grepは特定のパターンを持つ行の検索に使用されます。sedはテキストの変更が可能ですが、grepは主に検索と表示のみを行います。
Q. sedで複数の置換を行うには?
A. 複数の置換を行うには、-e オプションを使用するか、セミコロンで区切ります。例:sed -e 's/old1/new1/g' -e 's/old2/new2/g' filename.txt または sed 's/old1/new1/g; s/old2/new2/g' filename.txt
Q. sedで元のファイルを直接編集するには?
A. -i オプションを使用します。例:sed -i 's/old/new/g' filename.txt これにより、変更が直接ファイルに保存されます。注意:元のファイルが上書きされるため、バックアップを取ることをお勧めします。

sedが学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Linuxのsedや2>>、grep、diff、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


Linuxを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!Linuxはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

2>>

エラー出力を追記

種類: ストリーム制御

grep

テキスト検索ツール

種類: テキスト操作

diff

ファイル比較コマンド

種類: テキスト操作

traceroute

ネットワーク経路追跡ツール

種類: ネットワーク診断

touch

空ファイルの作成

種類: ファイル操作