MiracleJobLogo
エンジニアのエンジニアによるエンジニアのためのサイト
News 07/25 おすすめ情報に 『 【案件】Azure AD関連の認証設計/azureの基本設計 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。

無料会員登録


パスワードを忘れた場合
LINEで送る
MiracleJobBanaLeft1
MiracleJobBanaLeft2


Linux sedコマンドとは
profile-img
投稿者: fujioka090...さん
投稿日:2023/03/02 15:06
更新日:
like-img
分類
技術
テクノロジー
全般
キャリア
運用・保守
投稿内容

今回はLinuxのコマンドである「sed」について説明しようと思います。


「sed」コマンドは文字列の抽出、削除、置換等といった文字編集を行うために使用されるコマンドです。

コマンドの書式としては下記のようになっております。([]内は省略可)


sed [オプション] スクリプトコマンド 入力ファイル名


主なオプションを下記に示します。


-e・・・スクリプトコマンドを追加する

-E・・・拡張正規表現を使用する

-i・・・ファイルを直接編集する


主なスクリプトコマンドを下記に示します。


c 「テキスト」・・・選択した行を「テキスト」で置換する

d ・・・指定した行を削除する

s/置換前の文字列/置換後の文字列/g・・・「置換前の文字列」と一致した部分を「置換後の文字列」に全て置き換える

(末尾にgが無ければ行内の最初の文字列のみ置換する)


上記にあるオプション例やスクリプトコマンド例だけだといまいちわかりづらいので、いくつか具体的なコマンドを下記に示します。


・文章内の小文字の「a」を大文字の「A」に全て置換したい場合

sed -e 's/a/A/g' test.txt


・文章内の半角スペースをすべて削除したい場合

sed -e 's/ //g' test.txt


・文章の5行目だけ指定して削除したい場合

sed -e 5d test.txt


・文章の3~5行目を範囲指定し、削除したい場合

sed -e '3,5d' test.txt


・3行目のテキストを置き換えたい場合

sed -e '3c 置き換えたいテキスト' test.txt


また上記コマンド例は置換後の文章を表示するだけで元ファイル内容は変更されません。

変更内容を保存したい場合は「-i」オプションをつけることで保存されます。

このようにsedコマンドを使用することによって、文章を細かく編集することができます。

今回は1つのファイルに対する変更例しかありませんが、正規表現を使用することによって該当する複数のファイル内容を一度に編集することも可能です。

使い方をマスターすればかなり便利なコマンドだと思い、今回説明させていただきました。



参考URL
sed コマンド【使い方 まとめ】 - RAKUS Developers Blog | ラクス エンジニアブログ
(Linux) sedコマンドの使い方まとめ【置換・行挿入・行削除など】 | hara-chan.com
コメント


MiracleJobBanaRight1
MiracleJobBanaRight2
MiracleJobBanaRight3