#navi(../)

*指定した範囲行のテキストデータを取得する方法 [#cdf96798]
テキストファイルの何行目から何行目までと指定した範囲のテキストデータを取得する方法を以下に記します。
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)

*関連資料 [#da235c1d]
-[[指定した範囲の行を取得する方法>逆引きUNIXコマンド/指定した範囲の行を取得する方法]]
-[[指定した行に行挿入したい(出現したキーワードの前後行に行挿入したい)>逆引きUNIXコマンド/指定した行に行挿入したい]]
-[[指定した文字数毎に文字を挿入したい>逆引きUNIXコマンド/指定した文字数毎に文字を挿入したい]]
-[[sedで指定した行を削除する方法>逆引きUNIXコマンド/sedで指定した行を削除する方法]]
-[[キーワードからキーワードまでの文字列を抜き出す方法・sedコマンド>逆引きUNIXコマンド/キーワードからキーワードまでの文字列を抜き出す方法・sedコマンド]]
-[[sedを使ってスペースの文字列操作を行う>逆引きUNIXコマンド/sedを使ってスペースの文字列操作を行う]]
-[[sedを使って改行のみ、スペースのみの行を削除する>逆引きUNIXコマンド/sedを使って改行のみ、スペースのみの行を削除する]]
-[[sedでスラッシュを置換する方法>逆引きUNIXコマンド/sedでスラッシュを置換する方法]]
-[[指定した範囲の行を取得する方法>逆引きUNIXコマンド/指定した範囲の行を取得する方法]]


* headとtailコマンドを利用して範囲データを取得する [#lc2d7588]
先頭から指定した行数を取得できるheadコマンドと最後尾の行から指定した行数を取得できるtailコマンドを利用し指定した範囲のテキストデータを取得します。
-[[指定した行番号から最終行までを表示する・tail>逆引きUNIXコマンド/指定した行番号から最終行までを表示する・tail]]

**headとtailを使った実行例 [#i6b6a36d]
以下のようなテキストファイルがあり、2行目から8行目までのテキストデータを取得してみます。
-コマンド
 cat text.txt | head -終了行 | tail -`expr 終了行 - 開始行 + 1`
-テストデータ~
10行分のテキストデータであることを確認しています。
#ref(head-tail-01.png)
#br
-実行結果~
わかりやすいように変数START, ENDに値を設定しコマンドを実行しています。~
STARTとENDに設定した範囲のテキストデータが表示されていることが確認できます。
#ref(head-tail-02.png)
#br
* sedを利用して範囲データを取得する [#u0c4790e]
sedを利用する場合は、以下の方法で取得できます。
** sedを使った実行例 [#h9b525f3]
以下の実行結果は、上記のhead, tailを使った結果と同じになっています。
-コマンド
 sed -n '開始行,終了行p' ファイル名
または
 cat ファイル名 | sed -n '開始行,終了行p'
-実行結果~
上記と同じ10行分のテキストデータを利用します。
#ref(sed-01.gif)

#br
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
#br

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS