広告スペース(バナー)
🖥️Linux/シェルコマンド レッスン
ターミナルの基本操作6
ファイル操作の基礎6
権限とファイル検索6
プロセスとディスク管理6
履歴とテキスト処理6
環境変数とネットワーク基本6
接続と比較・日時操作6
テキスト整形と情報取得6
仕上げのコマンド12
レッスン 30 / 61

sed でファイルの文字を置き換えよう

「ファイルの中の特定の文字列を一括で置き換えたい」というときに使うのがsedです。sedはstream editorの略で、ファイルの中身を読み込みながら指定したパターンの文字列を置き換えて出力します。

sed 's/置換前/置換後/' ファイル名という書式で使います。sはsubstitute(置換)の意味で、スラッシュで区切って対象文字列と置換後の文字列を指定します。

sed 's/学ぶ/覚える/' notes.txtを実行すると、notes.txtの各行にある最初の「学ぶ」が「覚える」に置き換えられた結果が画面に表示されます(元ファイルは変更されません)。

よくあるつまずきは、各行の最初の一致箇所しか置き換わらないことに気づかず、行内に複数ある対象語が置き換わらないことです。全て置換したいときは末尾にgを付けます。

実務では設定ファイルの一括書き換えやログの整形など、シェルスクリプトの中で自動処理としてよく使われます。

Linux/シェルコマンド
試してみよう(疑似ターミナルへの入力例)
sed 's/学ぶ/覚える/' notes.txt

🧑‍💻 このコマンドは Linux/シェルコマンドの疑似ターミナル に実際に入力して試せます(このページ自体には操作可能なターミナルはありません)。

🎯
ここまでできればゴール達成!
ファイル内の文字列を、コマンド一発で置き換えられるようになります。
広告スペース(バナー)
広告スペース(記事内)