広告スペース(バナー)
🖥️Linux/シェルコマンド レッスン
ターミナルの基本操作6▾
ファイル操作の基礎6▾
権限とファイル検索6▾
プロセスとディスク管理6▾
履歴とテキスト処理6▾
環境変数とネットワーク基本6▾
接続と比較・日時操作6▾
テキスト整形と情報取得6▾
レッスン 30 / 61
sed でファイルの文字を置き換えよう
「ファイルの中の特定の文字列を一括で置き換えたい」というときに使うのがsedです。sedはstream editorの略で、ファイルの中身を読み込みながら指定したパターンの文字列を置き換えて出力します。
sed 's/置換前/置換後/' ファイル名という書式で使います。sはsubstitute(置換)の意味で、スラッシュで区切って対象文字列と置換後の文字列を指定します。
sed 's/学ぶ/覚える/' notes.txtを実行すると、notes.txtの各行にある最初の「学ぶ」が「覚える」に置き換えられた結果が画面に表示されます(元ファイルは変更されません)。
よくあるつまずきは、各行の最初の一致箇所しか置き換わらないことに気づかず、行内に複数ある対象語が置き換わらないことです。全て置換したいときは末尾にgを付けます。
実務では設定ファイルの一括書き換えやログの整形など、シェルスクリプトの中で自動処理としてよく使われます。
Linux/シェルコマンド
試してみよう(疑似ターミナルへの入力例)
❯ sed 's/学ぶ/覚える/' notes.txt
🧑💻 このコマンドは Linux/シェルコマンドの疑似ターミナル に実際に入力して試せます(このページ自体には操作可能なターミナルはありません)。
🎯
ここまでできればゴール達成!
ファイル内の文字列を、コマンド一発で置き換えられるようになります。
ファイル内の文字列を、コマンド一発で置き換えられるようになります。
広告スペース(バナー)
広告スペース(記事内)