【シェルスクリプト】検索した行を削除・追加する方法|sedコマンド

プログラマのメモ帳

この記事では、シェルスクリプト(bashスクリプト)を使用して、テキストファイルから検索した行を削除し、新たな行を追加する方法を紹介しています。

「sed」コマンドを使用します。例えば、下のようなテキストファイルがあったとします。

line1
line2
line3
line4

今回はsedコマンドを使って「line2」を削除して、その行に「line5」という文字列を追加します。コマンド実行結果は下のようになるはずです。

line1
line5 ←入れ替わる
line3
line4

スポンサーリンク

Sample Code

#!/bin/bash

# -iオプションは必要!ないと置換結果を画面に標準出力するだけになってしまう。
# "/検索文字列/d"             検索文字列を含んだ行を削除
# "/検索文字列/a 挿入文字列"  検索文字列を含んだ行の次に挿入文字列を追加する

sed -i "/line2/d" sample.txt
sed -i "/line1/a line5" sample.txt

使用するオプションとパラメータはコメントに書いてある通りです。

実行してみると、しっかりとテキストファイルが変更されていることが分かります。

[libre@localhost test]$ cat sample.txt    # catでテキストを確認
line1
line2 # 削除
line3
line4
[libre@localhost test]$ bash ./sed_line.sh  # スクリプト実行
[libre@localhost test]$ cat sample.txt        # catで結果を確認
line1
line5 # 追加
line3
line4

簡単な処理でしたが参考になればうれしいです。

コメント

タイトルとURLをコピーしました