このエントリーをはてなブックマークに追加


sedで指定した行を削除する方法

先頭から何行とか最終行とか、指定した範囲の行を削除する場合、sedコマンドで実現することができます。
以下にsedコマンドを使用した実行例を記します。


関連資料

本資料で使用したテキストファイル

本記事で使用したテキストデータを以下に記します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

sedコマンドで先頭から何行を削除する

以下の書式で指定行を削除することができます。

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コマンドで指定行から指定行までを削除する

上記と同じで開始行を指定することにより範囲指定できます。

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コマンドで指定行から最後までを削除する

$は最終行を意味します。
したがって、以下の書式で指定行から最終行までを削除することができます。

sed -e '開始行,$d' ファイル名

または

cat ファイル名 | sed -e '開始行,$d'
  • 実行例
    11行目から最終行まで削除されています。
    $ 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'
  • 実行例
    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


添付ファイル: filetext.txt 1229件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:28:07