Akihiro MOTOKI
amoto****@gmail*****
2013年 4月 2日 (火) 13:22:36 JST
元木です。 2013年4月1日 17:17 長南洋一 <cyoic****@maple*****>: > 長南です。 > > 元木さんのメールより [JM:00851] > > > > この部分は、つい最近、私も読んで分かりにくいなあ、というより頭に入って > > 来なくて、英語の方を読んでしまいました。分かりにくくなっているのは、 > > 引き数が initial-arguments の方と xargs のコマンドの引き数の両方に > > 登場するからだと思います。 > > 今日読み直してみたのですが、わたしが戸惑いを感じたのは、前半ではなく、 > むしろ「なお、空白は ...」以下の後半でした。「空白って何の空白だろう」 > と。こちらは、どうでしたか。 この時は、 xargs を使う方がメインだったので、最初の文章しか見ませんでした。 後半の部分もよく分からなかったのは事実です。 その場は、本来やりたいことが実現できたので、終わってしまいました。 今見てみました。 Also, unquoted blanks do not terminate input items; instead the separator is the newline character. なお、空白は、クォートされていない場合も、入力される項目の区切りにはならない。 区切り記号は改行文字だけになるのだ。 という部分ですね。 ここで言いたいのは、xargs -I XXXXX some command -o XXXXX foo bar みたいにした場合に、 標準入力から受け取った項目にクォートされていない空白が含まれていた場合には、 そのまま展開される、つまり入力が "aaa bbb" だと some command -o aaa bbb foo bar という コマンドラインに展開される、ということの注意喚起だと思います。 訳はなかなか難しいですが、意訳をすると、 入力項目の区切りは改行文字であり、クォートされていない空白があったとしても項目は そこで終わりにはならない点に注意すること。 といった感じでしょうか。 > > ついでに。雑談に近いのですが。 > > > groff って行の長さに前提をおいているのでしょうか。 > > 無限長を扱えることになっていて、動かないなら groff のバグのような気もします。 > > それによって、 manpage が表示されなくなっては元も子もないので、ガードを > > かけるのは構わないと思いますが。 > > 昔の入門書などには、「一行は何字くらいに」と書いてあったような気がします。 > どんな根拠があったのかは知りませんが。 > 端末の幅などを意識しての話だと思います。 あと、プログラムを書く際には、1行が長すぎるのは、縦に長すぎる関数と同じで、 理解しにくいコードにつながるので、1行の長さの話が出て来る面もあると思います。 > groff にしろ texinfo にしろ (Tex は知りませんが)、ホワイトスペースを > 目安にして、行の整形をやっているようです。ですから、改行も空白もない > 日本語のテキストの整形は、苦手なんじゃないかという気がするのです。 > 日本語のテキストでも技術文書の場合は、英語や数字が混じっていることが多いので、 あまり問題になることはないと思います。(JM もそうですが)自分の場合は、日本語と英数字の間に 空白を一つ入れるので、それでうまく行っているのかもしれません。 -- Akihiro MOTOKI <amoto****@gmail*****> -------------- next part -------------- HTMLの添付ファイルを保管しました...Download