[JM:00970] coreutils.info のチェック (第 27 - 29 章)

Back to archive index

長南洋一 cyoic****@maple*****
2013年 11月 17日 (日) 22:10:21 JST


長南です。やっと最後までたどりつきました。

28 Date input formats

  この「28 日付入力の書式」は、Robert Grudin, `Time and the Art of Living' 
  からの引用で始まっています。文章の流れがわかるように、引用の全文を挙げて
  おきます。何だか、やけに気取った仰々しい文章ですが。

     Our units of temporal measurement, from seconds on up to months,
     are so complicated, asymmetrical and disjunctive so as to make
     coherent mental reckoning in time all but impossible.  Indeed, had
     some tyrannical god contrived to enslave our minds to time, to
     make it all but impossible for us to escape subjection to sodden
     routines and unpleasant surprises, he could hardly have done
     better than handing down our present system.  It is like a set of
     trapezoidal building blocks, with no vertical or horizontal
     surfaces, like a language in which the simplest thought demands
     ornate constructions, useless particles and lengthy
     circumlocutions.  Unlike the more successful patterns of language
     and science, which enable us to face experience boldly or at least
     level-headedly, our system of temporal calculation silently and
     persistently encourages our terror of time.

     時間を計るための我々の単位は、秒から月にいたるまで、あまりにも
     複雑で、一貫性がなく、ばらばらなので、時間について間違わずに暗算
     をすることなど、ほとんど不可能なほどだ。まったくの話、どこかの
     横暴な神様が、人間の知能を時間の奴隷にしてやろうと -- 腐った決まり
     ごとや不愉快な不意打ちに隷従せずに済ますことなど、人間にはほとんど
     不可能にしてやろうと、企んだとしても、現在我々が使っているシステム
     をお下げ渡しになる以上のことは、できなかったに違いない。我々の
     時間計算のシステムは、垂直な面も水平な面もない台形の建築ブロックの
     集まりのようなものだ。あるいは、ほんの簡単な考えを述べるにも、凝りに
     凝った構成や、無駄な不変化詞や、長々しい婉曲表現が必要な言語のような
     ものだ。言語や科学のもっとうまく行っている思考様式は、我々が経験に
     果敢に立ち向かうことを、少なくとも冷静に立ち向かうことを可能にして
     くれる。ところが、そうしたものとは違って、我々の時間計算のシステムは、
     密かに、しかも執拗に時間に対する我々の恐怖をかきたてるのである。

     ...  It is as though architects had to measure length in feet,
     width in meters and height in ells; as though basic instruction
     manuals demanded a knowledge of five different languages.  It is
     no wonder then that we often look into our own immediate past or
     future, last Tuesday or a week from Sunday, with feelings of
     helpless confusion.  ...

     ... それは、建築家が長さをフィートで、幅をメートルで、高さをエルで
     測らなければならないようなものだ。あるいは、基本的な使用説明書を
     読むのに、五つの異なった言語の知識が必要なようなものだ。だから、
     我々が、自分にとってすぐ最近の過去や未来を表す、この前の火曜日
     (last Tuesday) とか、来週の日曜日 (a week from Sunday) とかいった
     表現について、それは一体いつを指しているのだろうと考え込んでは、
     どうしようもない混乱を覚えることがよくあるのも、無理からぬこと
     なのである。...

  最後の "It is no wonder ..." 以下がよくわかっていません。

  一応、"last Tuesday" とか "a week from Sunday" という表現がかなり曖昧だ
  ということだと解釈しておきました。たとえば、水曜日に "last Tuesday" と
  言ったとき、昨日のことを指しているのか、先週の火曜日のことを指して
  いるのか曖昧と言えば曖昧です。日本語だって、土曜日に「来週の日曜日」と
  言った場合、明日のことを言っているのか、八日後のことを言っているのか、
  よくわかりません。ちなみに、"a week from Sunday" は「再来週の日曜日」の
  意味で使うことが多いらしいですが。

  ほかの解釈があるでしょうか。この解釈でよいとしても、もうちょっと簡潔に
  訳せないでしょうか。

28.1 General date syntax

        A few ordinal numbers may be written out in words in some contexts.

        何番目かを示す序数の中には、現れる場所によっては、単語で表現できる
     ものがいくつかある

  この文のあとに -1 の代わりに last、1 の代わりに first/next、3 の代わりに 
  third などを使えるということが書いてあり、次のパラグラフで --

        When a month is written this way, it is still considered to be
     written numerically, instead of being "spelled in full"; this changes
     the allowed strings.

        月がこの形で表現されたときも、やはり数値として (訳注: たとえば、今月
     から何ヶ月後と) 指定されたと見なされるのであって、月の名前の省略なしの
     表記と解釈されるわけではない (訳注: たとえば、third month を March の
     別名の完全表記とは考えない)。そのため、March のような月名を使った場合
     とは、指定できる文字列が違ってくる。

  "it is still considered ..." 以下をこういうふうに取りました。要するに、
  "date -d 'third month'" や "date -d '3 month'"と "date -d '3 March'" 
  とは違うという解釈です。ほかの解釈もあるでしょうか。 

29 Opening the Software Toolbox

  コマンドをいくつもパイプでつなげて、単語の出現頻度カウンターを
  作成して見せた直後のパラグラフです (コマンドとその結果もついでに引用)。

        $ tr '[:upper:]' '[:lower:]' < whats.gnu | tr -cd '[:alnum:]_ \n' |
        > tr -s ' ' '\n' | sort | uniq -c | sort -n -r
        -|    156 the
        -|     60 a
        -|     58 to
        -|     51 of
        -|     51 and
        ...

        Whew!  That's a lot to digest.  Yet, the same principles apply.
     With six commands, on two lines (really one long one split for
     convenience), we've created a program that does something interesting
     and useful, in much less time than we could have written a C program to
     do the same thing.

        ふう、憶えることがどっさり! うん、でもね、同じ原則を応用してるだけ
     なんだよ。たった 2 行、6 個のコマンドで (実際には、長い 1 行を便宜上 
     2 行に分割しているだけだが) 興味深く有用な作業をするプログラムが
     出来上がった。それも、同じこことする C のプログラムを書くよりもずっと
     短い時間でだ。

  "Whew!" から "Yet, the same principles apply." までは、こんな感じだと
  思うのですが、別の解釈もあるでしょうか。

  今思いつきました。わたしは、"Whew!  That's a lot to digest." と言って
  いるのを、読者と考えたのですが、著者だと考えることもできそうです。
  つまり、「あらましを語るには、説明することがいっぱいあって」という感慨。
  そう取るなら、こうでしょうか。

        ふう、簡潔にまとめるには、いろいろあって! とは言え、同じ原則の
     応用である。...

  どっちでしょう。わたしとしては、digest でまず頭に浮かぶのは、「消化する」
  ということなんですが。

  comm コマンドを使って、自分が使用した単語のリストと辞書を比較する部分。

        $ tr '[:upper:]' '[:lower:]' < whats.gnu | tr -cd '[:alnum:]_ \n' |
        > tr -s ' ' '\n' | sort -u |
        > comm -23 - /usr/dict/words

        The `-2' and `-3' options eliminate lines that are only in the
     dictionary (the second file), and lines that are in both files.  Lines
     only in the first file (standard input, our stream of words), are words
     that are not in the dictionary.  These are likely candidates for
     spelling errors.  This pipeline was the first cut at a production
     spelling checker on Unix.

        `-2' と `-3' のオプションを使うと、辞書 (2 番目のファイル) に
     しかない行と、両方のファイルにある行が排除される。1 番目のファイル 
     (標準入力、すなわち、自分が使った単語のリスト) にしかない行は、
     辞書に存在しない単語だ。そうしたものは、綴りを間違えている可能性が
     かなり高い。ちなみに、このパイプラインこそ、Unix における市販の
     スペルチェッカーに対する最初の一撃だった。

  "a production spelling checker" というのは、「市販のスペルチェッカー」
  ということであり、"the first cut at" の cut は、「斬りつける」という
  ことだと思うのですが、実際にこういうことがあったのでしょうか。
  つまり、フリーのスペルチェッカーは、最初にシェルスクリプトとして実装
  された、というのは本当なのでしょうか。それとも、"This pipeline was ..."
  と過去になっているのは、「今作って見せたこのパイプラインは」という
  意味で過去になっているのでしょうか。後者なら、日本語では、

    ... 可能性がかなり高い。このパイプラインは、Unix における市販の
    スペルチェッカーに対する攻撃の最初の一歩である。

  のように現在形で訳すよりなさそうです。話としては、前者の解釈の方が
  面白いですけれど。

-- 
長南洋一




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