Luaコード例#3:グローバル変数とローカル変数(ページ1/2)跡地
(2018/11/11)本記事は「グローバル変数とローカル変数」へ移動した。
テキストファイルの特定の行範囲をコマンドで取り出す
「ファイルの先頭や末尾を取り出すコマンド(headとtail)について(テスト用データの準備とheadコマンド)」と「ファイルの先頭や末尾を取り出すコマンド(headとtail)について(tailコマンドとファイル末尾追跡)」で扱った2つのコマンドを組み合わせて用いると、テキストファイルの特定の範囲の行を取り出す操作が色々と行える。
先頭から数えた行番号による操作例
テスト用データは下のようにして生成されたものとする。「連番を生成する(コマンドとシェルによる方法)」も参照。
$ seq -f '%g 行目' 100
末尾に「| less」を付けて内容を確認することもできる。
以下は実際の操作例。
(77行目だけを取り出す/行番号「77」による指定) $ seq -f '%g 行目' 100 | head -n 77 | tail -n 1 77 行目 (31行目を最初の行として5行を取り出す/最初の行「31」と行数「5」による指定) $ seq -f '%g 行目' 100 | tail -n +31 | head -n 5 31 行目 32 行目 33 行目 34 行目 35 行目 (31行目を最後の行として5行を取り出す/最後の行「31」と行数「5」による指定) $ seq -f '%g 行目' 100 | tail -n +$((31 - (5 - 1))) | head -n 5 27 行目 28 行目 29 行目 30 行目 31 行目 (61行目から66行目を取り出す/最初の行「61」と最後の行「66」による指定) $ seq -f '%g 行目' 100 | tail -n +61 | head -n $((66 - (61 - 1))) 61 行目 62 行目 63 行目 64 行目 65 行目 66 行目
末尾から数えた行番号による操作例
テスト用データは下のようにして生成されたものとする。
$ seq -f '後ろから %g 行目' 100 -1 1
末尾に「| less」を付けて内容を確認することもできる。
以下は実際の操作例。
(後ろ73行目だけを取り出す/行番号「73」による指定) $ seq -f '後ろから %g 行目' 100 -1 1 | tail -n 73 | head -n 1 後ろから 73 行目 (後ろ81行目を最初の行として5行を取り出す/最初の行「81」と行数「5」による指定) $ seq -f '後ろから %g 行目' 100 -1 1 | tail -n 81 | head -n 5 後ろから 81 行目 後ろから 80 行目 後ろから 79 行目 後ろから 78 行目 後ろから 77 行目 (後ろ81行目を最後の行として5行を取り出す/最後の行「81」と行数「5」による指定) $ seq -f '後ろから %g 行目' 100 -1 1 | tail -n $((81 + (5 - 1))) | head -n 5 後ろから 85 行目 後ろから 84 行目 後ろから 83 行目 後ろから 82 行目 後ろから 81 行目 (後ろ42行目から39行目を取り出す/最初の行「42」と最後の行「39」による指定) $ seq -f '後ろから %g 行目' 100 -1 1 | tail -n 42 | head -n $((42 - (39 - 1))) 後ろから 42 行目 後ろから 41 行目 後ろから 40 行目 後ろから 39 行目
関連記事:
Luaコード例#2:文字列関係の一部処理とフォーマット(ページ2/2)跡地
(2018/10/26)本記事は「文字列関係の一部処理とフォーマット処理」へ移動した。
Luaコード例#2:文字列関係の一部処理とフォーマット(ページ1/2)跡地
(2018/10/26)本記事は「文字列関係の一部処理とフォーマット処理」へ移動した。
Bシェルのシェルスクリプトの中で標準入力全体を扱う跡地
(2021/8/1)本記事は「Bシェルのシェルスクリプトの中で標準入力全体を扱う」へ移動した。
Luaコード例#1:標準出力と標準エラー出力に文字列を出力する跡地
(2018/10/25)本記事は「標準出力と標準エラー出力に文字列を出力する」へ移動した。
ファイルの先頭や末尾を取り出すコマンド(headとtail)について(tailコマンドとファイル末尾追跡)跡地
(2021/8/9)本記事は「ファイルの先頭や末尾を取り出すコマンド(headとtail)の概要と使い方」へ移動した。