Linux コマンド|sed コマンド|複数行を削除|指定した文字列を含む行とその下の指定した行数削除




sed コマンドを使用して、指定した文字列を含む行とその下の指定した行数を削除する。

test1.txt の「bbb」とその下の 1 行「ccc」を削除したい場合は、下記のコマンド1 を実行する。N が 1 つの場合、「bbb」とその下の 1 行「ccc」が削除される。

・test1.txt
aaa
bbb
ccc
ddd
eee

・コマンド1
sed -i '/bbb/{N;d;}' test1.txt

コマンド1 を実行すると、test1.txt は下記になる

・コマンド1 実行後 test1.txt
aaa
ddd
eee

また、test2.txt の「bbb」とその下の 2 行「ccc」「ddd」を削除したい場合は、下記のコマンド2 で N が 2 つにして実行する。 「bbb」とその下の 2 行「ccc」「ddd」が削除される。

・test2.txt
aaa
bbb
ccc
ddd
eee

・コマンド2
sed -i '/bbb/{N;N;d;}' test2.txt


コマンド2 を実行すると、test2.txt は下記になる。

・コマンド2 実行後 test2.txt
aaa
eee



スポンサーリンク

0 件のコメント :

コメントを投稿