[JM:01289] Re: grepのGREP_OPTIONS

Back to archive index

長南洋一 cyoic****@maple*****
2017年 3月 6日 (月) 21:28:44 JST


長南です。

三回に分けます。2.27 の draft を対象にしています。
パッチを順番に見ていきましたから、取り上げる順番は基本的にパッチによって
いますが、別のパッチに同じ部分があるときは、一ヶ所にまとめました。

○ -d ACTION, --directories=ACTION の項

     If an input file is a directory, use ACTION to process it.
     ... If  ACTION  is recurse, read all files under each directory,
     recursively, following symbolic links  only  if  they are
     on the command line.

     入力ファイルがディレクトリの場合に、 ACTION を使ってその処理を行います。
     ... ACTION が recurse なら、 grep は各ディレクトリの下にあるすべての
     ファイルを再帰的に読み込みます。 コマンドラインの場合はシンボリックリンク
     を追跡します。

   only の訳が抜けています。ここは、シンボリックリンクが再帰検索中に出会うものか、
   コマンドラインで指定されたものかによって、動作が違うと言っているのですから
   (前者は辿らない。後者は辿る)、only を生かし、何が「コマンドラインの場合」
   かをはっきりさせて、たとえば、こんな風にした方がよいと思います。

     ただし、シンボリックリンクを辿るのは、それがコマンドラインで指定されたとき
     だけです。(「ただし」は、なくてもよいかも。「辿る」「追跡」はどちらもあり。)

○ -r, --recursive の項にも、上とまったく同文の箇所があります。

   -r では、それほか、この部分も。

     Note that if  no  file  operand  is  given,  grep  searches
     the   working directory.

     対象ファイルが与えられなかった場合には grep は現在のディレクトリを探すこ
     とに注意してください

   operand は訳しにくい言葉だと思っていましたが、「対象」と訳せばよいのですね。
   ただ、「対象」だけでは、限定がちょっと足りず、わかりにくい気がします。
   補足して、「検索対象のファイル」とか「処理対象のファイル」くらいでしょうか。
   「与える」でもよいけれど、「指定する」もあります。なお、文末の「。」が
   抜けています。

○ -R, --dereference-recursive の項目が独立していません。
   たぶん .BR \-R ", " \-\^\-dereference\-recursive の上にあった
   .TP の行が消えてしまったのだと思います。

○ 「文字クラスと角括弧式」の説明の部分。

     Finally, certain named classes  of  characters  are  predefined
     ... For example, [[:alnum:]] means  the  character  class  of
     numbers  and letters  in the current locale. 

     最後に、角括弧式内で使えるように、...
     たとえば、[[:alnum:]] は 現在のロケールの文字クラスで数字とアルファベットを
     意味します。

   [[:alnum:]] は日本語の漢字や仮名にも使えるので、この letters は「文字」です。

○ 「繰り返し」の {,m}

     This  is  a  GNU extension.

     これは GNU 拡張です。

   「GNU の、GNU による」などの方が自然では。

○ 環境変数の GREP_OPTIONS

     this feature  will  be  removed  in  a  future release of  grep,
     and grep warns if it is used. and grep warns if it is used.

     この機能は grep の将来のリリースで削除されることになっており、  使われると
     grep が警告を表示します。

   細かいことですが、「使用すると」と能動態にした方が、文章がわかりやすいと思います。

○ EXIT STATUS

   最近は、見出しの EXIT STATUS を「返り値」ではなく、「終了ステータス」と
   訳すことが多いようです。

     Normally the exit status is 0 if a line is selected, 1 if no
     lines were selected, and 2 if an error occurred.  However,
     if the -q or --quiet or --silent  is  used and a line is selected,
     the exit status is 0 even if an error occurred.

     通常では、指定した行が見つかったときの終了ステータスは 0 であり、  見つ
     からなかったときは  1 であり、エラーが起きた場合は 2 です。 ただし、-q,
     --quiet , --silent といったオプションが使われていて、指定した行が見つ
     かったときは、 エラーが起きたときでも終了ステータスは 0 です。

   「ユーザが select した行」と見て、「(ユーザが条件を) 指定した行」と
   なさったのでしょうか。でも、このマニュアルでは、select という言葉は、
   マッチする部分が存在する行を grep が選択するという意味で使われています
   (-v, -w, -x を参照。-v の場合は、マッチしない行を選択する)。
   ですから、ここは、「(grep によって) 選択される行があるときは」ぐらいでは
   ないでしょうか。grep が選択するというのは、条件にマッチしたということ
   ですから、いっそのこと「マッチする行があったときは」と言ってしまっても
   よいかもしれません。-v の場合に苦しいのですけれど。
     
   訳例を挙げます。

     通常では、選択される行が存在したときの終了ステータスは 0 であり、
     存在しなかったときは 1、エラーが起きたときは 2 です。ただし、-q,
     --quiet, --silent といったオプションが使われているときに、
     選択される行があった場合は、エラーが起きても、終了ステータスは 0 に
     なります。

   「選択する、選択される、選択された」は、どれにしようか迷っています。

○ -P, --perl-regexp

     Interpret the pattern as a  Perl-compatible  regular  expression
     (PCRE).

     パターンを Perl 互換の正規表現 (PCRE) として扱います。

   ここは、2.21 から 2.25 で、原文が "Interpret (改行) .I PATTERN" から
   "Interpret the pattern" に変更されているのですね。ですから、「パターンを」
   になるのも当然なのですが、訳文では ".I PATTERN" に戻してもよいのではないかと
   思います。-E, -F, -G の説明と形式が揃いますから。

○ -f FILE, --file=FILE

     Obtain patterns from FILE, one per line.  If this option is used
     multiple times or is combined with  the  -e  (--regexp)  option,
     search  for  all  patterns  given.

     パターンを  FILE から 1 行 1 パターンとして読み込みます。 このオ
     プションを複数回使ったときや、      オプションと組み合わせたとき
     は、与えられたすべてのパターンを検索します。

   「オプションと組み合わせた」の前の ".B -e", ".RB ( \-\^\-regrep)" が
   消えています。

-- 
長南洋一




linuxjm-discuss メーリングリストの案内
Back to archive index