目次
はじめに
Linuxを使っていると、テキスト処理に便利な sed
コマンドを使おうとして
sed: command not found
というエラーに遭遇することがあります。
初学者からすると「なぜ見つからないの?」「インストールされてるはずでは?」と混乱しやすいポイントです。
この記事では、なぜこのエラーが発生するのか、そして原因ごとの解決方法を丁寧に解説します。
エラーの意味を理解しよう
エラーメッセージ command not found
は、シェルが指定されたコマンドを探したけれど、
実行可能ファイルをPATH上で見つけられなかった
という意味です。
つまり、「sed という名前のコマンドを呼んだけど、どこにも無いよ」と言われているわけです。
この時に考えるべき原因は、大きく以下の3つです。
- sedがインストールされていない
- sedはあるけど、PATHに通っていない
- 環境依存でコマンド名や場所が異なる
原因と解決策
1. sed がインストールされていない場合
なぜ起きる?
最小構成のLinux(特にDockerイメージや軽量ディストリビューション)では、
標準で sed
が入っていないことがあります。
そのため which sed
を叩いても見つかりません。
確認方法
which sed
結果が空なら、インストールされていません。
解決方法
ディストリビューションごとにパッケージをインストールします。
# Ubuntu / Debian
sudo apt update && sudo apt install sed
# CentOS / RHEL / Amazon Linux
sudo yum install sed
# Alpine Linux
sudo apk add sed
なぜこれで直るのか?
sed
はパッケージ管理システムから配布されており、インストールすることで実行ファイルが/bin/sed
や/usr/bin/sed
に配置されます。- これらの場所は通常PATHに含まれているため、
sed
が呼び出せるようになります。
2. PATHに通っていない場合
なぜ起きる?
- sed自体はインストールされているが、
PATH
という環境変数にその場所が含まれていないとシェルが見つけられません。 - 特にカスタム環境やDockerなどで独自のディレクトリに置かれていると起こりがちです。
確認方法
ls /bin/sed /usr/bin/sed 2>/dev/null
もし存在するのに sed: command not found
になる場合は、PATHが問題です。
echo $PATH
で現在のPATHを確認しましょう。
解決方法
一時的にPATHを追加する場合:
export PATH=$PATH:/usr/bin
恒久的に設定する場合は ~/.bashrc
や ~/.zshrc
に追記します。
なぜこれで直るのか?
- シェルは
PATH
に記載されたディレクトリを順に探してコマンドを実行します。 - そこに
sed
のある場所を追加することで「見つからない」が解決されるわけです。
3. 環境依存でコマンドが異なる場合
なぜ起きる?
- 一部のUnix系OSや組み込み環境では、
sed
がインストールされていない代わりにgsed
(GNU sed)が用意されていることがあります。 - macOSでは
sed
が標準で入っていますが、GNU版と挙動が異なり、パッケージでgsed
を追加することもあります。
確認方法
which gsed
解決方法
- macOSでGNU版を使いたい場合:
brew install gnu-sed
その後gsed
コマンドを利用します。
なぜこれで直るのか?
sed
という名前に依存せず、環境に応じた実行ファイルを呼び出す必要があるためです。- 特に移植性を考える場合は「この環境はGNU sedかBSD sedか」を意識するのが重要です。
まとめ
sed: command not found
は「シェルがsedを探せなかった」という意味。- 主な原因は 未インストール / PATH設定ミス / 環境依存。
- それぞれの解決方法を理解することで、再発防止にもつながります。
👉 ポイントは「なぜその解決策が有効なのか」を理解すること。
ただ闇雲に sudo apt install sed
するだけでなく、「どこで見つからなくなっていたのか?」を確認する習慣を持つと、Linuxの理解が一段深まります。
あわせて読みたい


【コマンド詳細】sedコマンドの使い方とオプションまとめ
sed コマンドとは? sed (Stream Editor) は、LinuxやUNIXシステムで使われるストリーム形式のテキストエディタです。ファイルを直接開くことなく、以下のようなテキス…
よくあるエラーと解決方法まとめ
あわせて読みたい


【完全版】sedエラー大全|よくある原因と解決方法まとめ
sed は Linux 環境でテキスト処理を行う際に非常に便利なコマンドですが、オプションや正規表現の違い、環境依存の仕様によって多くのエラーが発生します。初心者はもち…