Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ページャ lessを使いこなす

636 views

Published on

How to make use of the viewer "less".

Published in: Software
  • Be the first to comment

ページャ lessを使いこなす

  1. 1. ページャ less を使う 2017-05-19 下野寿之 Unixコマンドの less はいろいろなところで使います。 man でコマンドのオンラインマニュアルを見るときにも、 Python で関数のマニュアルを ? や help で表示しているときにも、 Perl で perldoc コマンドで使う時にもよく使います。 特に、ショートカットキーを覚えていると、とても便利なので、 マニュアルを見ても分かりにくいものも含めてまとめました。 全部読んでもらわなくても、5分間斜め読みしてもらって、 いろいろな便利機能を知って貰うための資料です。(補足以外7ページ)
  2. 2. なぜ less を使うのか • 端末 (いわゆる黒い画面) で、いろいろな テキストファイルの中身をすぐに閲覧出来る。 • 1個であっても多数であってもすぐに閲覧できる。 • 小さなファイルでも大きなファイルでも良い。 • キーボードショートカットで多数の機能を利用可能。 • 設定をすれば、色を付けることができる。 ※ ワードなどテキスト形式以外だと不適。 ただし、バイナリ形式でも、解読などには使える場合がある。
  3. 3. less の起動 • 端末で下記のように入力すれば起動する。 less ファイル名 less ファイル名1 ファイル名2 .. less ワイルドカードを使ったファイル指定 cat filename | less # (←パイプを使った場合) • ただし、less を明示的に入力しなくても、 いろいろな場面で less は起動される。 • man コマンドで Unixコマンドのヘルプ参照時 • ipython で Python言語の関数のヘルプを読む時 • perldoc で Perl言語の関数のヘルプを読む時
  4. 4. less のショートカット (1) • 下記のようなヘルプの表示 : h ← 1個のキーを押下する • 閲覧の終了/ヘルプの終了 : q ← Ctrl +C では終わらない • 一画面下に進む : f または space • 半画面下に進む : d • 一画面上に戻る : b • 半画面上に戻る : u • 文字列の検索 : / (スラッシュキー) に正規表現 • 行番号の表示のオン/オフ : - , shift + n , Enter • 長い行の折り畳みのオン/オフ : - , shift + S , Enter • 次のファイル : colon(:) , n ( 数 : n という使い方もある ) • 前のファイル : colon , p • 指定正規表現を含む行のみ表示 : & に続けて正規表現 Enterキーが必要 であることは、 マニュアルから は分かりにくい。 日本語など 非ASCII文字も 検索可能
  5. 5. less のショートカット (2) • 指定の行番号にジャンプ : 行番号の数に続けて g • 最終行にジャンプ : shift + g (時間がかかる場合がある) • 全体の指定パーセントの位置へ : 数 に続けて p (例,30p) • 検索による文字強調の解除 : Esc , u • 閲覧内容の保存 : -, o , space に続けてファイル名 • どんどん追加される最終行の追跡 : shift + f • タブの文字幅の調整 : - x に続けて数を指定し、Enter • ファイル情報の表示 : = (イコール) パイプで受け取った内容を 保管するのにとても便利
  6. 6. 文字化けをする場合 • 日本語またはその他の場合 : • lv (エル,ヴィ) をインストールして使う。 • iconv コマンドで文字コード変換する方法もある。 • 環境変数(LCで始まるもの)をうまく設定する。 • バイナリファイルを読む場合 : • od コマンドを使う。例 : od –tax1 ファイル名
  7. 7. less で注意すべき点 • 制御文字に関して : • less filename と cat filename | less で見え方が 異なる。(制御文字が見えない場合に注意) • & で特定の正規表現を含む行のみを表示する 場合に、大きなファイルだと、時間がかかる 場合がある。Ctrl+ c で中断が可能。 • バージョンに関して • & による検索機能は、2009年4月で実装。 古い less は更新が必要。
  8. 8. 補足事項
  9. 9. なぜこの文書を作ったか • この文書の著者は今までの人生で、 次のことを100回くらい思ったため : 1. less を使えば良いのに。 2. less を使いこなせば良いのに。 3. less 提供ヘルプにも分かりにくい箇所がある。
  10. 10. この文書の未記載項目 • 色つきでプログラムコードを表示すること • すぐ編集できる view を使うこと
  11. 11. ワイルドカードと正規表現 ワイルドカードと正規表現は、使う記号が同じ ものがあるが、異なる。  ワイルドカード : * ← 0文字以上の文字列 ? ← 丁度1文字の文字列 [a-z] ← a から z の26文字のいずれかを表す  正規表現 : . ← 任意の文字 * ← 直前の正規表現の0回以上の繰り返しを意味する [a-z] ← a から z の26文字のいずれかを表す
  12. 12. 制御文字に関して 下記の通りに動作しない場合もあるので注意。 • 改行が Windows 形式だと ^M が白抜き表示 • BOM付きのUTF-8形式だと、最初の数バイトが そのように表示される。 • タブ文字がどこにあるかを知るには、 • Lessが起動中に / (スラッシュ) キーを押下して 1. タブキーを押して Enter 2. もしくは、Ctrl + v , タブキー , Enter と順次押下する 3. もしくは、 バックスラッシュ, t , Enter と順次押下
  13. 13. 環境変数の設定に関して • $LESS を -N とすると最初から行番号が付加。 LESS=’-N’ # 単純に行番号付加 LESS=’-NRSX’ # -S , -R , -X の機能も付加 • EUC_JP や SHIFT_JIS の文字コードのデータを UTF-8 に変換して less で表示できる設定にする: export LESSOPEN=’| nkf -w %s ’ nkf が無い場合は 値を次のようにする。 '| iconv -f EUC_JP -t UTF-8 %s' • Tips: 環境変数を設定する = (イコール)の前後に空白を入れてはいけない。
  14. 14. CSVファイルを読みやすくする • column -s, -t filename.csv | less -S
  15. 15. less のバージョンに関して • 初リリースは 1984年。 • 現在の Version は、487 。 less はメジャー番号.マイナー番号 の表記方式を採用してない。 • 参照 : http://www.greenwoodsoftware.com/less/
  16. 16. less で気になること (私が個人的に) • lessが、パイプで標準入力 stdin からテキストス トリームを受け取っている場合に、それをキー ボードからの入力(tty) とどのように分別して、 less のプロセスは受け取っているのだろうか。 • tty を stdin と区別して、データを受け取るプログラ ムを今まで、私は作ろうとしたがうまくいったこと がないので、less を参考にしたい。 • 内部のソースコードを読む必要があるのだろう。

×