[JM:00853] Re: GNU_findutils/xargs.1 への指摘

アーカイブの一覧に戻る

長南洋一 cyoic****@maple*****
2013年 4月 1日 (月) 17:17:24 JST


長南です。

元木さんのメールより [JM:00851]
> 
> この部分は、つい最近、私も読んで分かりにくいなあ、というより頭に入って
> 来なくて、英語の方を読んでしまいました。分かりにくくなっているのは、
> 引き数が initial-arguments の方と xargs のコマンドの引き数の両方に
> 登場するからだと思います。

今日読み直してみたのですが、わたしが戸惑いを感じたのは、前半ではなく、
むしろ「なお、空白は ...」以下の後半でした。「空白って何の空白だろう」
と。こちらは、どうでしたか。

英語原文の方がわかりやすかったろうと思います。それは、英語で読んで
いると、initial-arguments の initial の意味を意識するからだと思います
(それに、initial-arguments が何かをすでに御存じだったでしょうし)。
日本語で読んでいる場合は (補足部分がない場合を想像してみてください)、
initial-arguments が唐突ですし、initial の意味をあまり意識しないで
しょうから、とてもわかりにくくなります。それで、訳文に補足説明をどう
組み込むかという問題になるのだと思います。

原文:
    Replace occurrences of replace-str in the initial-arguments with
    names read from standard input.  Also, unquoted  blanks  do  not
    terminate  input  items;  instead  the  separator is the newline
    character.  Implies -x and -L 1.

わたしの訳:
    xargs が実行するコマンドに対してユーザが引き数 (すなわち initial-
    arguments) を指定したとき、その initial-arguments  中にある
    replace-str の部分すべてを、標準入力から読み込んだ名前で置き換
    える。

    # 「部分をすべて、標準入力から」にした方がよかったかもしれません。
    # 「すべて、」と副詞に点を付けるのが嫌だったのです。点なしでは
    # 読みにくい気がしましたし。

元木さんの案:
    xargs が実行するコマンドの引き数 (initial-arguments) に含まれる 
    replace-str を全て標準入力から読み込んだ名前で置き換える。
    
元木さんの別案:
    xargs が実行するコマンドの引き数 (initial-arguments) に replace-str が
    含まれていれば、replace-str の部分を全て、標準入力から読み込んだ名前で
    置き換える。

わたし自身、元木さんのような訳し方も考えた記憶があります。使わなかった
のは、確か、曖昧になるのを心配したからだと思います。つまり、xargs が
実行するコマンドは、標準入力から来る項目群を引き数にする、というのが
基本でしょう。そして、initial-arguments を指定すると、それがコマンドの
「最初」の引き数として、そうした項目の前に置かれる (もちろん、-I の
場合は、すこし違いますが)。それで、「xargs が実行するコマンドの引き数 
(initial-arguments) に」とは、言いにくかったのだと思います。コマンドの
引き数には、initial-arguments もあれば、標準入力から来る項目群もあるの
ですから。言い換えれば、「initial-arguments はユーザが指定する引き数だ」
と、はっきり言わないと、落ち着かなかったということです。くどい訳になる
のは承知していましたが。

でも、訳しているときに、わたしがそう考えた、というよりは、そう感じた
ということにすぎません。元木さんの案のような形でも、誤解や曖昧さは
ないでしょうか。なければ、元木さんの案は、よい訳だと思います。
わたしは、「全て」を「すべて」と書くのが習慣ですけれど。


ついでに。雑談に近いのですが。

>> 流儀というよりも、長い行でも groff がちゃんと整形してくれるか心配だ
>> ということだと思います。今では、どんなに長くても大丈夫なんですか。
>> たとえば、改行なしで何十行も続くとか。

> 1000文字くらいで1行というのはやったことはありますが、特に問題はなかった
> と思います。自動変換をしている以上、 HTML の見映えはある程度犠牲にせざる
> を得ないと思います。
> man2html は基本的に触りたくありませんし、文書の方で対処するにも限界が
> ありそうです。
> 
> 個人的には、Editor で直接編集する場合は、一行が長いと、
> 一文字書く度に他の行も動いてしまって気になる、というのが改行する大きな
> モチベーションですね。

それはありますね。それから、後で改訂をしてくださる方のことを考えて、
一行の長さを適当にしておくとか。grep で検索するときの便宜を考えるとか。

> groff って行の長さに前提をおいているのでしょうか。
> 無限長を扱えることになっていて、動かないなら groff のバグのような気もします。
> それによって、 manpage が表示されなくなっては元も子もないので、ガードを
> かけるのは構わないと思いますが。

昔の入門書などには、「一行は何字くらいに」と書いてあったような気がします。
どんな根拠があったのかは知りませんが。

groff にしろ texinfo にしろ (Tex は知りませんが)、ホワイトスペースを
目安にして、行の整形をやっているようです。ですから、改行も空白もない
日本語のテキストの整形は、苦手なんじゃないかという気がするのです。

-- 
長南洋一




linuxjm-discuss メーリングリストの案内
アーカイブの一覧に戻る