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


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

テキストファイルの何行目から何行目までと指定した範囲のテキストデータを取得する方法を以下に記します。
sedコマンド、headとtailコマンドの組み合わせで取得する2つの例を記します。


関連資料

使用するテキストファイル

以下のキャプチャに示すテキスト内容のテキストファイルを使用し、以下説明および実行例を記します。

  • テストデータ
    10行分のテキストデータであることを確認しています。
    head-tail-01.png
     

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

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

sedを使った実行例

以下の構文で開始行を終了行を指定し指定範囲の行を取得することができます。

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

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

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

headとtailを使った実行例

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

以上、sed, head + tailで指定した範囲の行を取得する方法でした。



添付ファイル: filehead-tail-01.png 4048件 [詳細] filesed-01.gif 819件 [詳細] filehead-tail-02.png 5579件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-09-05 (木) 21:17:04