[JM:00061] Re: [POST:DP] GNU_findutils find.1

Zurück zum Archiv-Index

長南洋一 cyoic****@maple*****
2010年 12月 3日 (金) 21:29:53 JST


長南です。

きめ細かく見ていただいて、助かります。

元木さんのメールより [JM:00058]
> 
> ここでコメントすべきことではないかもしれませんが、
> predicate の定番の訳は「述語」なのですが、
> 個人的にはどうも「述語」という訳に違和感を覚えます。
> 「演算子」の方がしっくり来るのですが、いかがでしょうか。
> 
> こういった用途で「述語」という表現はそれほど一般的ではないと思います。
> find くらい大きな manpage になると、man find を実行して、
> 検索するのがよくある使い方と思いますが、そうすると、
> いきなり「述語」が出て来ると、いったい何? ということになるのを
> 懸念しています。
> 
> なぜ、著者は operator ではなく predicate を使っているのかが
> 少し気になりますが。

たしかに、「述語」はピンと来ない言葉ですね。わたしは、
何も考えずに「述語」と訳したんだろうと思います。それでも、
多少は気になったのでしょう。初出の箇所で「訳注: 述語とは、
式を構成するオプション、テスト式、アクション式などの基本語彙を
言う」と定義しています。でも、manpage はリファレンスとして
使うことが多いものですから、全文を最初からちゃんと読んで
もらえるとは期待できませんし……。

要するに、「オプション、テスト、アクション」をまとめて言う
言葉が必要で、それを著者は「predicate」と言ったわけです。
find の info や FreeBSD の manpage では「primary」と言って
います。「基本語彙」くらいでしょうか。とにかく定義しておけば、
何と訳してもいいんじゃないかというのが、事実上わたしの態度
だったわけです。でも、「述語」はやはりちょっと無理な訳語かも
しれません。

演算子というのは、代数で言えば、+ とか - でしょう。テストや
アクションは、むしろ、定数や変数、operand に当たるんじゃ
ないでしょうか。

and や or 演算子の対象と考えるなら、「賓辞」なんて言葉も
考えつきますけれど、耳慣れない上に、意味がずれているかも
しれません。

今、「動作」という訳語を思いつきました。「述語」というのは、
「誰々が何々する」の「何々する」の部分ですから (「誰々は
何々だ」の「何々だ」の部分でもありますけれど)。しかし、
「動作」だと「action」とぶつかるし、predicate の現れるすべての
箇所で「動作」という訳語が使えるかどうか。

「式の要素」とか「式構成子」はダメだろうし ……。

できるだけ「述語」を「テスト」や「アクション」に置き換える
ことにして、どうしようもないところだけ、「動作」なり「述語」
なりを使うことにしましょうか。でも、それだと、「述語」が
出てきたとき、余計にわかりにくいだろうし。

# 「動作」で思い出したのですが、side effect(s) をどう訳すかでも
# 迷っています。現行の翻訳は「付加的な作用」で、これで充分に
# 意味が通じると思いますが、もっとピッタリした訳がないものか。
# 「副作用」「副次作用」「二次的な作用」、何かよいお考えは
# ありませんか。

> > -atime, -ctime, -mtime と言えば、以下の部分の訳にも頭を悩まして
> > います。

> 難しいですね。個人的には、「N 日前に」という言い方の方が、
> 「n*24時間前の時間帯」よりも、時間としての区間を感じやすく、
> 理解しやすいように思います。
> 
> 著者は、n 日が現在時刻から計算されることを意識して、
> n days ではなく n*24 hours という書き方をしていると推察しますが、
> それに引きずられて読みにくくなっては本末転倒なので、
> 訳注として、「n 日前」は「n*24 時間前から (n+1)*24 時間前まで」
> であることを記載しておくのはいかがでしょうか
> 
> これを考慮して、思いきり意訳してみるとこんな感じでしょうか。
> 
>   ファイルの最終アクセス日時が n 日前の場合に、真を返す。
>   (訳注: n 日前は n*24 時間前から (n+1)*24 時間前まで
>   何日前かを求める際に、1 日に満たない小数点以下の部分は切り捨てられる。
>   したがって、 -atime +1 にマッチするためには、少なくとも
>   二日前にアクセスされていなければならない。

「思い切って、n 日前にしてしまえ」ということですね。やっちゃい
ましょう。やっちゃいましょう。こういうのはどうでしょう。

  ファイルの最終アクセス日時が n 日前ならば、真を返す
  ファイルの最終アクセス日時が何日前かを計算する際、
  現在時刻との時間差を 24 で割った余りの端数は切り捨てられる。
  従って、-atime +1 にマッチするためには、ファイルは少なくとも
  二日前にアクセスされていなければならない。

-daystart を意識するなら、

  ファイルが最後にアクセスされたのが何日前かを計算する際、
  基準点 (デフォルトでは現在時刻) との時間差を 24 で
  割った余りの端数は切り捨てられる。

「余りの端数」がちょっとくどいですか。

-ctime や -mtime の訳の後半も、工夫しなければならないようです。

> >   .\"O .IP "\-anewer \fIfile\fR"
> >   .\"O File was last accessed more recently than \fIfile\fR was modified.  If
> >   .\"O \fIfile\fR is a symbolic link and the 
> >   .\"O .B \-H 
> >   .\"O option or the 
> >   .\"O .B \-L 
> >   .\"O option is in effect, the access time of the file it points to is
> >   .\"O always used.
> >   .\"O 
> >   .IP "\-anewer \fIfile\fR"
> >   ファイルの最終アクセス日時が、\fIfile\fR の内容更新日時よりも
> >   新しければ、真を返す。検査の対象となるファイルがシンボリックリンクで、
> >   しかも
> >   .B \-H
> >   や
> >   .B \-L
> >   オプションによってリンクがたどられるようになっている場合は、
> >   リンク先のファイルのアクセス日時が、常に使用される。
> > 
> > -cnewer や -newer の同様部分についても言えることなのですが、
> > このくだりは、原文の著者がちょっと混乱しているような気がします。
> > 
> > 「 If \fIfile\fR is a symbolic link」の 「file」は \fI..\fR で
> > 囲まれていますから、直前の文の \fIfile\fR と同じ、すなわち
> > -anewer の引数だと考えるのが、自然だと思います。そうだとしたら、
> > 「-anewer の引数がシンボリックリンクで、しかも -H や -L オプションが
> > 有効なときは、リンク先のファイルの内容更新日時 (mtime) が比較に
> > 使用される」というのが、著者の言おうとしたことなのではないでしょうか。
> 
> その通りだと思います。Ubuntu 10.10 で実際の動作を確認してみましたが、
> リンク先のファイルの mtime を参照して動作していることを確認できました。

> > そんなわけで、思い切って、
> > 
> >   ... \fIfile\fR がシンボリックリンクで、
> >  しかも
> >   .B \-H
> >   や
> >   .B \-L
> >   オプションによってリンクがたどられるようになっている場合は、
> >   リンク先のファイルの内容更新日時が、常に使用される。
> > 
> > と書き変えてしまおうかと思っていますが、どんなものでしょう。
> > 
> > 現在の訳でも一応は意味が通りますから、このままでよいのかも
> > しれません。もしかすると、それがまさに著者の言いたいことで
> > あって、混乱しているのはわたしの方かもしれませんし。
> 
> 私は長南さんの新しい案の方に、賛成です。
> 正確を期すなら、「リンク」→「シンボリックリンク」でしょうか。
> 
> 元の訳の場合、少なくとも、「検査の対象となるファイル」というと、
> find で走査されるファイルの方も、検索対象のファイルなので、
> 何を指しているか分からなくなる懸念があると思います。
> 新しい訳の方が誤解も招かないので、よいと感じました。

現行のマニュアルの原文を見ると、こんなふうになっています。

  -anewer is affected by -follow only if -follow comes before
  -anewer on the command line.

-follow は path... より後に来るはずですから、この文では明らかに
-anewer の引数について言っています。以前のマニュアルと今の
マニュアルでは違う、と言ってしまえば、そのとおりですが。

余程のことがないかぎり、原文の書き変えはやらない方がよいと
思います …… でも …… えい、やっちまいましょうか。

-- 
長南洋一




linuxjm-discuss メーリングリストの案内
Zurück zum Archiv-Index