投稿履歴
- 【Excel】シートが見えない!表示されない原因と対処法
- 【Linux】lsofコマンドの見方・活用ガイド
- 【A5M2】テーブルにNULL値を入力する方法
- 【Linux】標準出力と標準エラー出力の違い
- DRAMとSRAMの違い・覚え方を徹底解説!
- 【サクラエディタ】スペースとタブを置換する方法
- 【Excel】VBAの起動方法(開発タブが表示されない場合)
- 今日から使える!Gitコミットメッセージの書き方と型
- 【Excel】区切り指定でCSVを貼り付ける方法
- 【Linux】テキストファイルの重複行を削除する方法
- 【サクラエディタ】重複行を削除する方法
- Excelのプルダウンリストをショートカットで操作・管理する
- 【サクラエディタ】タブ表示の設定と使いこなしガイド
- 【サクラエディタ】矩形選択(ボックス選択)を完全ガイド
- 【サクラエディタ】Grep機能の使い方を初心者にもわかりやすく解説!
- TCPとUDPの違いと覚え方:信頼性 vs スピードを徹底解説
- Pythonの仮想環境を終了(deactivate)する方法
- 【Linux】zipファイルの圧縮方法(zipコマンド)
- LinuxでZIPファイルを解凍する方法【unzipコマンド】
- 暗号化アルゴリズムの種類:代表的なアルゴリズムを紹介!
Linuxのsedコマンドで、ファイルの文字列を置換、行削除する方法を解説します。
sedコマンドとは
入力されたテキストデータを行単位で読み取り、テキスト変換などの編集して、行単位で出力を行います。
主に文字列の置換や抽出に用いられて、正規表現にも対応しています。
sedはStream EDitorの略称です。
sedコマンドによる置換の構文
sedコマンドに-iオプションを指定することで置換後文字列でファイルを保存します。
sed -i s/置換前文字列/置換後文字列/g ファイル名sオプションは「substitute(代替)」という意味の英単語の頭文字で、sを指定することで置換前文字列を置換後文字列に置き換えることができます。
gオプションは、一致する文字列をすべて置換する際に指定します。
文字列を置換して保存
実行コマンド例
以下コマンドでtest.txtのit-lifeをIT-LIFEへ置換します。
sed -i s/it-life/IT-LIFE/g test.txt置換前後の確認
以下の通り、置換が行われたことを確認できました。
置換前の確認
$ cat test.txtit-life.net it-life.net applebanana it-life.net it-life.net置換後の確認
$ cat test.txtIT-LIFE.net IT-LIFE.net applebanana IT-LIFE.net IT-LIFE.net指定した行を削除して保存
sedコマンドに'1,3d'のように指定することで、行を削除することができます。
'1,3d'の場合は1行目~3行目の行を削除するという意味になります。
指定行の削除前
$ cat test2.txtaaabbbcccdddeeefff1行目~3行目を削除して保存
sed -i '1,3d' test2.txt指定行の削除後
以下の通り、1行目のaaaから、3行目のcccが削除されたことを確認できました。
$ cat test2.txtdddeeefff特定の文字列を含む行を削除して保存
特定の文字列を含む行を削除したい場合は'/eee/d'のように指定します。
'/eee/d'はeeeを含む行を削除するという意味です。
特定文字列行の削除前
$ cat test2.txtdddeeefffeeeを含む行を削除して保存
sed -i '/eee/d' test2.txt特定文字列行の削除後
以下の通りeeeの行が削除されたことを確認できました。
$ cat test2.txtdddfffsedコマンドのまとめ
sオプションを指定することで置換前文字列を置換後文字列へ変換できる。iオプションを指定することで置換後文字列でファイルを保存できる。gオプションを指定することで置換前文字列に一致するすべての文字列を置換できる。dオプションを指定することで、指定した条件の行を削除することができる。
Linuxユーザにお勧めの本
ITエンジニアにお勧めの本
以上で本記事の解説を終わります。
よいITライフを!