#navi(../)
* sedで指定した行を削除する方法 [#yb21791d]
先頭から何行とか最終行とか、指定した範囲の行を削除する場合、sedコマンドで実現することができます。~
以下にsedコマンドを使用した実行例を記します。
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
#contents
* 関連資料 [#cb011573]
-[[キーワードからキーワードまでの文字列を抜き出す方法・sedコマンド>逆引きUNIXコマンド/キーワードからキーワードまでの文字列を抜き出す方法・sedコマンド]]
-[[指定した範囲の行を取得する方法>逆引きUNIXコマンド/指定した範囲の行を取得する方法]]
-[[sedコマンドで大文字小文字を区別せずに置換する方法>逆引きUNIXコマンド/sedコマンドで大文字小文字を区別せずに置換する方法]]
-[[sedでディレクトリ文字列が格納されている環境変数等を展開して置換したい>逆引きUNIXコマンド/sedでディレクトリ文字列が格納されている変数を展開して置換する]]
-[[sedでスラッシュを置換する方法>逆引きUNIXコマンド/sedでスラッシュを置換する方法]]
* 本資料で使用したテキストファイル [#e768a454]
本記事で使用したテキストデータを以下に記します。
#ref(text.txt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
* sedコマンドで先頭から何行を削除する [#pcf87bab]
以下の書式で指定行を削除することができます。
sed -e '開始行,削除行d' ファイル名
または
cat ファイル名 | sed -e '開始行,削除行d'
-実行結果~
1行目から10行目まで削除されています。
$ sed -e '1,10d' text.txt
11
12
13
14
15
16
17
18
19
20
* sedコマンドで指定行から指定行までを削除する [#k08dfa7e]
上記と同じで開始行を指定することにより範囲指定できます。
sed -e '開始行,削除行d' ファイル名
または
cat ファイル名 | sed -e '開始行,削除行d'
-実行結果~
5行目から15行目から最終行まで削除されています。
$ cat text.txt | sed -e '5,15d'
1
2
3
4
16
17
18
19
20
* sedコマンドで指定行から最後までを削除する [#ucc77d0f]
$は最終行を意味します。~
したがって、以下の書式で指定行から最終行までを削除することができます。
sed -e '開始行,$d' ファイル名
または
cat ファイル名 | sed -e '開始行,$d'
- 実行例~
11行目から最終行まで削除されています。
$ sed -e '11,$d' text.txt
1
2
3
4
5
6
7
8
9
10
* 最終行のみ削除する [#h9456ca3]
$は最終行を意味します。~
したがって、以下の書式で最後の行のみを削除することができます。
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
* 指定した行を削除する [#uaf67f50]
以下の書式で指定した行を削除することができます。
sed -e '削除したい行d' ファイル名
または
cat ファイル名 | sed -e '削除したい行d'
- 実行例~
10行目が削除されています。
$ sed -e '10d' text.txt
1
2
3
4
5
6
7
8
9
11
12
13
14
15
16
17
18
19
20
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)