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

指定した範囲行のテキストデータを取得する方法

テキストファイルの何行目から何行目までと指定した範囲のテキストデータを取得する方法を以下に記します。


スポンサーリンク

関連資料

headとtailコマンドを利用して範囲データを取得する

先頭から指定した行数を取得できるheadコマンドと最後尾の行から指定した行数を取得できるtailコマンドを利用し指定した範囲のテキストデータを取得します。

headとtailを使った実行例

以下のようなテキストファイルがあり、2行目から8行目までのテキストデータを取得してみます。

  • コマンド
    cat text.txt | head -終了行 | tail -`expr 終了行 - 開始行 + 1`
  • テストデータ
    10行分のテキストデータであることを確認しています。
    head-tail-01.png
     
  • 実行結果
    わかりやすいように変数START, ENDに値を設定しコマンドを実行しています。
    STARTとENDに設定した範囲のテキストデータが表示されていることが確認できます。
    head-tail-02.png
     

sedを利用して範囲データを取得する

sedを利用する場合は、以下の方法で取得できます。

sedを使った実行例

以下の実行結果は、上記のhead, tailを使った結果と同じになっています。

  • コマンド
    sed -n '開始行,終了行p' ファイル名
    または
    cat ファイル名 | sed -n '開始行,終了行p'
  • 実行結果
    上記と同じ10行分のテキストデータを利用します。
    sed-01.gif
 

スポンサーリンク

 

添付ファイル: filesed-01.gif 3101件 [詳細] filehead-tail-02.png 2396件 [詳細] filehead-tail-01.png 1595件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-12-07 (水) 20:35:31 (46d)