先頭から何行とか最終行とか、指定した範囲の行を削除する場合、sedコマンドで実現することができます。
以下にsedコマンドを使用した実行例を記します。
本記事で使用したテキストデータを以下に記します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
以下の書式で指定行を削除することができます。
sed -e '開始行,削除行d' ファイル名
または
cat ファイル名 | sed -e '開始行,削除行d'
$ sed -e '1,10d' text.txt 11 12 13 14 15 16 17 18 19 20
上記と同じで開始行を指定することにより範囲指定できます。
sed -e '開始行,削除行d' ファイル名
または
cat ファイル名 | sed -e '開始行,削除行d'
$ cat text.txt | sed -e '5,15d' 1 2 3 4 16 17 18 19 20
$は最終行を意味します。
したがって、以下の書式で指定行から最終行までを削除することができます。
sed -e '開始行,$d' ファイル名
または
cat ファイル名 | sed -e '開始行,$d'
$ sed -e '11,$d' text.txt 1 2 3 4 5 6 7 8 9 10
$は最終行を意味します。
したがって、以下の書式で最後の行のみを削除することができます。
sed -e '$d' ファイル名
または
cat ファイル名 | sed -e '$d'
$ sed -e '$d' text.txt 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
以下の書式で指定した行を削除することができます。
sed -e '削除したい行d' ファイル名
または
cat ファイル名 | sed -e '削除したい行d'
$ sed -e '10d' text.txt 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 20