.\" Updated and modified (findutils-4.4.2) Fri Jan 28 12:28:44 JST 2011
.\" by Chonan Yoichi <cyoichi@maple.ocn.ne.jp>
.\"
-.\"WORD end of file string ¥Õ¥¡¥¤¥ë½ªÃ¼Ê¸»úÎó
+.\"WORD end of file string ファイル終端文字列
.\"
.TH XARGS 1 \" -*- nroff -*-
.\"O .SH NAME
-.SH ̾Á°
+.SH 名前
.\"O xargs \- build and execute command lines from standard input
-xargs \- ɸ½àÆþÎϤòÆɤ߹þ¤ó¤Ç¥³¥Þ¥ó¥É¥é¥¤¥ó¤òºîÀ®¤·¡¢¤½¤ì¤ò¼Â¹Ô¤¹¤ë
+xargs \- 標準入力を読み込んでコマンドラインを作成し、それを実行する
.\"O .SH SYNOPSIS
-.SH ½ñ¼°
+.SH 書式
.B xargs
.nh
[\fB\-0prtx\fR]
[\fIcommand\fR [\fIinitial-arguments\fR]]
.hy
.\"O .SH DESCRIPTION
-.SH ÀâÌÀ
+.SH 説明
.\"O This manual page
.\"O documents the GNU version of
.\"O .BR xargs .
.\"O followed by items read from standard input. Blank lines on the
.\"O standard input are ignored.
.\"O .P
-¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï GNU ÈÇ
+このマニュアルページは GNU 版
.B xargs
-¤Î»ÈÍÑË¡¤òÀâÌÀ¤·¤Æ¤¤¤ë¡£
+の使用法を説明している。
.B xargs
-¤Ï¡¢É¸½àÆþÎϤ«¤é¶õÇò¤ä²þ¹Ô¤Ç¶èÀÚ¤é¤ì¤¿°ìÏ¢¤Î¹àÌܤòÆɤ߹þ¤ß
-(¶õÇò¤Ï¥À¥Ö¥ë¥¯¥©¡¼¥È¡¢¥·¥ó¥°¥ë¥¯¥©¡¼¥È¡¢¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤Ë¤è¤Ã¤Æ
-Êݸî¤Ç¤¤ë)¡¢¤½¤ì¤ò°ú¤¿ô¤Ë¤·¤Æ¡¢»ØÄꤷ¤¿
+は、標準入力から空白や改行で区切られた一連の項目を読み込み
+(空白はダブルクォート、シングルクォート、バックスラッシュによって
+保護できる)、それを引き数にして、指定した
.I command
-¤ò¼Â¹Ô¤¹¤ë (¥Ç¥Õ¥©¥ë¥È¤Î¥³¥Þ¥ó¥É¤Ï
+を実行する (デフォルトのコマンドは
.I /bin/echo
-¤Ç¤¢¤ë)¡£
-¤³¤Î¤È¤¡¢¥æ¡¼¥¶¤¬
+である)。
+このとき、ユーザが
.I command
-¤ËÂФ·¤Æ»ØÄꤷ¤¿°ú¤¿ô (¾åµ½ñ¼°¤Î
+に対して指定した引き数 (上記書式の
.IR initial-arguments )
-¤¬¤¢¤ì¤Ð¡¢
+があれば、
.B xargs
-¤Ïɸ½àÆþÎϤ«¤éÆɤ߹þ¤ó¤À°ìÏ¢¤Î¹àÌܤò¤½¤Î¸å¤í¤Ë
-Äɲ䷤Ƥ¤¤¯ (ÌõÃí: ºîÀ®¤µ¤ì¤¿¥³¥Þ¥ó¥É¥é¥¤¥ó¤¬¡¢¥³¥Þ¥ó¥É¥é¥¤¥óĹ¤Î¾å¸Â¤ò
-±Û¤¨¤ë¾ì¹ç¤ä¡¢¥ª¥×¥·¥ç¥ó¤Ë¤è¤ëÆÃÊ̤ʻØÄ꤬¤¢¤ë¾ì¹ç¤Ï¡¢ÆþÎϤòŬµ¹Ê¬³ä¤·¤Æ¡¢
+は標準入力から読み込んだ一連の項目をその後ろに
+追加していく (訳注: 作成されたコマンドラインが、コマンドライン長の上限を
+越える場合や、オプションによる特別な指定がある場合は、入力を適宜分割して、
.I command
-¤òÊ£¿ô²ó¼Â¹Ô¤¹¤ë¤³¤È¤Ë¤Ê¤ë)¡£É¸½àÆþÎϤˤª¤±¤ë¶õ¹Ô¤Ï̵»ë¤¹¤ë¡£
+を複数回実行することになる)。標準入力における空行は無視する。
.P
.\"O Because Unix filenames can contain blanks and newlines, this default
.\"O behaviour is often problematic; filenames containing blanks
.\"O .B \-print0
.\"O option does this for you.
.\"O .P
-Unix ¤Ç¤Ï¥Õ¥¡¥¤¥ë̾¤Ë¶õÇò¤ä²þ¹Ô¤ò´Þ¤à¤³¤È¤¬²Äǽ¤Ê¤Î¤Ç¡¢¤³¤Î
-¥Ç¥Õ¥©¥ë¥È¤ÎÆ°ºî¤Ï¡¢¤·¤Ð¤·¤ÐÌäÂê¤ò°ú¤µ¯¤³¤¹¡£¶õÇò¤ä²þ¹Ô¤ò´Þ¤à
-¥Õ¥¡¥¤¥ë̾¤Ï¡¢
+Unix ではファイル名に空白や改行を含むことが可能なので、この
+デフォルトの動作は、しばしば問題を引き起こす。空白や改行を含む
+ファイル名は、
.B xargs
-¤Ë¤è¤Ã¤ÆŬÀڤ˽èÍý¤µ¤ì¤Ê¤¤¤«¤é¤À¡£¤½¤¦¤·¤¿¾õ¶·¤Ç¤Ï¡¢
+によって適切に処理されないからだ。そうした状況では、
.B \-0
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿Êý¤¬¤è¤¤¡£¤½¤¦¤¹¤ì¤Ð¡¢¤½¤Î¼ê¤ÎÌäÂê¤ò²óÈò¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-¤Ê¤ª¡¢
+オプションを使用した方がよい。そうすれば、その手の問題を回避することができる。
+なお、
.B \-0
-¥ª¥×¥·¥ç¥ó¤ò»È¤¦¾ì¹ç¤Ï¡¢
+オプションを使う場合は、
.B xargs
-¤ÎÆþÎϤòÀ¸À®¤¹¤ë¥×¥í¥°¥é¥à¤ÎÊý¤â¡¢¶èÀÚ¤ê¤Îµ¹æ¤È¤·¤Æɬ¤º¥Ì¥ëʸ»ú¤ò
-»È¤¦¤è¤¦¤Ë¤¹¤ëɬÍפ¬¤¢¤ë¡£¤¿¤È¤¨¤Ð¡¢¤½¤Î¥×¥í¥°¥é¥à¤¬ GNU
+の入力を生成するプログラムの方も、区切りの記号として必ずヌル文字を
+使うようにする必要がある。たとえば、そのプログラムが GNU
.B find
-¤Ê¤é¤Ð¡¢
+ならば、
.B \-print0
-¥ª¥×¥·¥ç¥ó¤Ç¤½¤ì¤¬²Äǽ¤À¡£
+オプションでそれが可能だ。
.P
.\"O If any invocation of the command exits with a status of 255,
.\"O .B xargs
.\"O will stop immediately without reading any further input. An error
.\"O message is issued on stderr when this happens.
-»ØÄꤷ¤¿¥³¥Þ¥ó¥É¤Î¼Â¹Ô¤¬½ªÎ»¥¹¥Æ¡¼¥¿¥¹ 255 ¤Ç½ªÎ»¤¹¤ë¤³¤È¤¬¤¢¤ì¤Ð¡¢
+指定したコマンドの実行が終了ステータス 255 で終了することがあれば、
.B xargs
-¤Ï¨ºÂ¤ËÄä»ß¤·¤Æ¡¢¤½¤ì°Ê¾åÆþÎϤòÆɤ߹þ¤Þ¤Ê¤¤¡£¤Þ¤¿¡¢¤³¤Î¤È¤¡¢
-¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òɸ½à¥¨¥é¡¼¤Ëɽ¼¨¤¹¤ë¡£
+は即座に停止して、それ以上入力を読み込まない。また、このとき、
+エラーメッセージを標準エラーに表示する。
.\"O .SH OPTIONS
-.SH ¥ª¥×¥·¥ç¥ó
+.SH オプション
.TP
.PD 0
.BI "\-\-arg\-file=" file
.\"O from
.\"O .IR /dev/null .
.\"O
-°ìÏ¢¤Î¹àÌܤòɸ½àÆþÎϤ«¤é¤Ç¤Ï¤Ê¤¯¡¢
+一連の項目を標準入力からではなく、
.I file
-¤«¤éÆɤ߹þ¤à¡£¤Ê¤ª¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢»ØÄꤷ¤¿¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ëºÝ¤Ë¡¢
-ɸ½àÆþÎϤ¬
+から読み込む。なお、デフォルトでは、指定したコマンドを実行する際に、
+標準入力が
.I /dev/null
-¤ËÉÕ¤±´¹¤¨¤é¤ì¤ë¤¬¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿¾ì¹ç¤Ï¡¢
-ɸ½àÆþÎϤÎÉÕ¤±´¹¤¨¤¬µ¯¤³¤é¤Ê¤¤
-(ÌõÃí: Ê̤θÀ¤¤Êý¤ò¤¹¤ë¤È¡¢»ØÄꤷ¤¿¥³¥Þ¥ó¥É¤Î¼Â¹ÔÃæ¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï
-ɸ½àÆþÎϤ¬»È¤¨¤Ê¤¯¤Ê¤ë¤¬¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢
-ɸ½àÆþÎϤ¬»È¤¨¤ë¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë)¡£
+に付け換えられるが、このオプションを使用した場合は、
+標準入力の付け換えが起こらない
+(訳注: 別の言い方をすると、指定したコマンドの実行中、デフォルトでは
+標準入力が使えなくなるが、このオプションを指定した場合は、
+標準入力が使えるということである)。
.TP
.PD 0
.\"O contain white space, quote marks, or backslashes. The GNU find
.\"O \-print0 option produces input suitable for this mode.
.\"O
-ÆþÎϤµ¤ì¤ë°ìÏ¢¤Î¹àÌܤ¬¡¢¥Û¥ï¥¤¥È¥¹¥Ú¡¼¥¹ (¶õÇò¤ä²þ¹Ô) ¤Ç¤Ï¤Ê¤¯¡¢
-¥Ì¥ëʸ»ú¤Ë¤è¤Ã¤Æ¶èÀÚ¤é¤ì¤ë¡£¤Þ¤¿¡¢°úÍÑÉä¤ä¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤¬
-ÆÃÊ̤ʰÕÌ£¤ò»ý¤¿¤Ê¤¯¤Ê¤ë (¤¹¤Ê¤ï¤Á¡¢¤¢¤é¤æ¤ëʸ»ú¤¬Ê¸»úÄ̤ê¤Ë²ò¼á¤µ¤ì¤ë)¡£
-¸å½Ò¤Î¥Õ¥¡¥¤¥ë½ªÃ¼Ê¸»úÎó¤â̵¸ú¤Ë¤Ê¤ê¡¢Â¾¤Î°ú¤¿ô¤ÈƱ¤¸¤è¤¦¤Ë°·¤ï¤ì¤ë¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢ÆþÎϤµ¤ì¤ë¹àÌܤ˥ۥ磻¥È¥¹¥Ú¡¼¥¹¡¢°úÍÑÉä¡¢
-¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤Ê¤É¤¬´Þ¤Þ¤ì¤ë²ÄǽÀ¤¬¤¢¤ë¾ì¹ç¤Ë¡¢Ìò¤ËΩ¤Ä¡£
+入力される一連の項目が、ホワイトスペース (空白や改行) ではなく、
+ヌル文字によって区切られる。また、引用符やバックスラッシュが
+特別な意味を持たなくなる (すなわち、あらゆる文字が文字通りに解釈される)。
+後述のファイル終端文字列も無効になり、他の引き数と同じように扱われる。
+このオプションは、入力される項目にホワイトスペース、引用符、
+バックスラッシュなどが含まれる可能性がある場合に、役に立つ。
GNU
.B find
-¤Î
+の
.B \-print0
-¥ª¥×¥·¥ç¥ó¤¬À¸À®¤¹¤ë½ÐÎϤϡ¢¤³¤Î¥â¡¼¥É¤ËÂбþ¤·¤¿ÆþÎϤˤʤ롣
+オプションが生成する出力は、このモードに対応した入力になる。
.TP
.PD 0
.\"O .B printf
.\"O command. Multibyte characters are not supported.
.\"O
-ÆþÎϤµ¤ì¤ë°ìÏ¢¤Î¹àÌܤ¬¡¢»ØÄꤵ¤ì¤¿Ê¸»ú¤Ë¤è¤Ã¤Æ¶èÀÚ¤é¤ì¤ë¡£°úÍÑÉä¤ä
-¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤ÏÆÃÊ̤ʰÕÌ£¤ò»ý¤¿¤Ê¤¤¡£¤¹¤Ê¤ï¤Á¡¢ÆþÎÏÃæ¤Î
-¤¢¤é¤æ¤ëʸ»ú¤¬Ê¸»úÄ̤ê¤Ë²ò¼á¤µ¤ì¤ë¡£¥Õ¥¡¥¤¥ë½ªÃ¼Ê¸»úÎó¤â̵¸ú¤Ë¤Ê¤ê¡¢
-¾¤Î°ú¤¿ô¤ÈƱ¤¸¤è¤¦¤Ë°·¤ï¤ì¤ë¡£ÆþÎϤ¬¡¢¹àÌܤò¶èÀÚ¤ë¤Î¤¬²þ¹Ô¤Î¤ß
-¤Ç¤¢¤ë¤è¤¦¤Êñ½ã¤Ê¹½À®¤Î¾ì¹ç¤Ê¤é¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤òÍøÍѤ·¤Æ¤â¤è¤¤¤¬¡¢
-¤Û¤È¤ó¤É¤¿¤¤¤Æ¤¤¤Î¾ì¹ç¡¢¤Ê¤ë¤Ù¤¯¤Ê¤é¡¢
+入力される一連の項目が、指定された文字によって区切られる。引用符や
+バックスラッシュは特別な意味を持たない。すなわち、入力中の
+あらゆる文字が文字通りに解釈される。ファイル終端文字列も無効になり、
+他の引き数と同じように扱われる。入力が、項目を区切るのが改行のみ
+であるような単純な構成の場合なら、このオプションを利用してもよいが、
+ほとんどたいていの場合、なるべくなら、
.B xargs
-¤Î
+の
.B \-\-null
-¤ò»È¤¦¤è¤¦¤Ë¡¢½ÐÎϦ¤Î¥×¥í¥°¥é¥à¤òÀ߷פ¹¤ëÊý¤¬Ë¾¤Þ¤·¤¤¡£
-»ØÄꤹ¤ë¶èÀڤ굹æ¤Ï¡¢Ã±°ì¤Îʸ»ú¤Ç¤â¤è¤¯¡¢
+を使うように、出力側のプログラムを設計する方が望ましい。
+指定する区切り記号は、単一の文字でもよく、
.B \en
-¤Î¤è¤¦¤Ê C ¸À¸ì¼°¤Î¥¨¥¹¥±¡¼¥×¤·¤¿Ê¸»ú¤Ç¤â¡¢8 ¿Ê¿ô¤ä 16 ¿Ê¿ô¤Î
-¥¨¥¹¥±¡¼¥×¥³¡¼¥É¤Ç¤â¤è¤¤¡£8 ¿Ê¿ô¤ä 16 ¿Ê¿ô¤Î¥¨¥¹¥±¡¼¥×¥³¡¼¥É¤Ï¡¢
+のような C 言語式のエスケープした文字でも、8 進数や 16 進数の
+エスケープコードでもよい。8 進数や 16 進数のエスケープコードは、
.B printf
-¥³¥Þ¥ó¥É¤Î¾ì¹ç¤ÈƱÍͤ˲ò¼á¤µ¤ì¤ë¡£¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»ú¤Ë¤ÏÂбþ¤·¤Æ¤¤¤Ê¤¤¡£
+コマンドの場合と同様に解釈される。マルチバイト文字には対応していない。
.TP
.BI \-E " eof-str"
.\"O nor
.\"O .B \-e
.\"O is used, no end of file string is used.
-\fIeof-str\fR ¤ò¥Õ¥¡¥¤¥ë½ªÃ¼Ê¸»úÎó¤È¤·¤ÆÀßÄꤹ¤ë¡£¥Õ¥¡¥¤¥ë½ªÃ¼Ê¸»úÎó¤¬
-ÆþÎϹԤÎÃæ¤Ë¸½¤ì¤ë¤È¡¢¤½¤ì°Ê¸å¤ÎÆþÎϤÏ̵»ë¤µ¤ì¤ë¡£
+\fIeof-str\fR をファイル終端文字列として設定する。ファイル終端文字列が
+入力行の中に現れると、それ以後の入力は無視される。
.B \-E
-¤â
+も
.B \-e
-¤â»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢¥Õ¥¡¥¤¥ë½ªÃ¼Ê¸»úÎó¤Ï»ÈÍѤµ¤ì¤Ê¤¤¡£
+も指定しない場合、ファイル終端文字列は使用されない。
.TP
.PD 0
.BR "\-\-eof" [\fI=eof-str\fR]
.\"O nor
.\"O .B \-e
.\"O is used, no end of file string is used.
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï
+このオプションは
.B \-E
-¥ª¥×¥·¥ç¥ó¤ÎƱµÁ¸ì¤Ç¤¢¤ë¡£
+オプションの同義語である。
.B \-E
-¤ÎÊý¤ò»È¤Ã¤Æ¤Û¤·¤¤¡£Íýͳ¤Ï¡¢¤½¤Á¤é¤¬ POSIX ¤Ë½àµò¤·¤Æ¤¤¤ë¤Î¤ËÂФ·¤Æ¡¢
-¤³¤Á¤é¤Ï½àµò¤·¤Æ¤¤¤Ê¤¤¤«¤é¤À¡£\fIeof-str\fR ¤ÎÉôʬ¤¬¾Êά¤µ¤ì¤ë¤È¡¢
-¥Õ¥¡¥¤¥ë½ªÃ¼Ê¸»úÎó¤¬Â¸ºß¤·¤Ê¤¤¤³¤È¤Ë¤Ê¤ë¡£
+の方を使ってほしい。理由は、そちらが POSIX に準拠しているのに対して、
+こちらは準拠していないからだ。\fIeof-str\fR の部分が省略されると、
+ファイル終端文字列が存在しないことになる。
.B \-E
-¤â
+も
.B \-e
-¤â»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢¥Õ¥¡¥¤¥ë½ªÃ¼Ê¸»úÎó¤Ï»ÈÍѤµ¤ì¤Ê¤¤¡£
+も指定しない場合、ファイル終端文字列は使用されない。
.TP
.B "\-\-help"
.\"O Print a summary of the options to
.\"O .B xargs
.\"O and exit.
.B xargs
-¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ´Êñ¤ËÀâÌÀ¤·½ªÎ»¤¹¤ë¡£
+のオプションについて簡単に説明し終了する。
.TP
.BI \-I " replace-str"
.\"O Replace occurrences of \fIreplace-str\fR in the initial-arguments with
.\"O .B \-L
.\"O 1.
.B xargs
-¤¬¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤Ë¤ËÂФ·¤Æ¥æ¡¼¥¶¤¬°ú¤¿ô (¤¹¤Ê¤ï¤Á
-\fIinitial\-arguments\fR) ¤ò»ØÄꤷ¤¿¤È¤¡¢¤½¤Î \fIinitial\-arguments\fR
-Ãæ¤Ë¤¢¤ë \fIreplace-str\fR ¤ÎÉôʬ¤¹¤Ù¤Æ¤ò¡¢É¸½àÆþÎϤ«¤éÆɤ߹þ¤ó¤À̾Á°¤Ç
-ÃÖ¤´¹¤¨¤ë¡£
-¤Ê¤ª¡¢¶õÇò¤Ï¡¢¥¯¥©¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤â¡¢ÆþÎϤµ¤ì¤ë¹àÌܤζèÀÚ¤ê¤Ë¤Ï
-¤Ê¤é¤Ê¤¤¡£¶èÀڤ굹æ¤Ï²þ¹Ôʸ»ú¤À¤±¤Ë¤Ê¤ë¤Î¤À¡£
+が実行するコマンドにに対してユーザが引き数 (すなわち
+\fIinitial\-arguments\fR) を指定したとき、その \fIinitial\-arguments\fR
+中にある \fIreplace-str\fR の部分すべてを、標準入力から読み込んだ名前で
+置き換える。
+なお、空白は、クォートされていない場合も、入力される項目の区切りには
+ならない。区切り記号は改行文字だけになるのだ。
.B \-x
-¤È
+と
.BR \-L " 1"
-¤¬¼«Æ°Åª¤ËÀßÄꤵ¤ì¤ë¡£
+が自動的に設定される。
.TP
.PD 0
.BR "\-\-replace" [\fI=replace-str\fR]
.\"O otherwise. This option is deprecated; use
.\"O .B \-I
.\"O instead.
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢
+このオプションは、
.I replace-str
-¤¬»ØÄꤵ¤ì¤Æ¤¤¤ì¤Ð¡¢
+が指定されていれば、
.BI \-I replace-str
-¤ÎƱµÁ¸ì¤Ç¤¢¤ê¡¢»ØÄꤵ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢
+の同義語であり、指定されていなければ、
.BR \-I {}
-¤ÎƱµÁ¸ì¤Ç¤¢¤ë¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÈó¿ä¾©¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
+の同義語である。このオプションは非推奨になっている。
.B \-I
-¤ò»È¤Ã¤¿Êý¤¬¤è¤¤¡£
+を使った方がよい。
.TP
.BI \-L " max-lines"
.\"O Use at most \fImax-lines\fR nonblank input lines per command line.
.\"O Trailing blanks cause an input line to be logically continued on the
.\"O next input line. Implies
.\"O .BR \-x .
-1 ¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¤Ä¤ºÇÂç \fImax-lines\fR ¹Ô¤Î (¶õ¹Ô¤Ç¤Ï¤Ê¤¤) ÆþÎϹԤò
-»ÈÍѤ¹¤ë¡£ÆþÎϹԤιÔËö¤Ë¶õÇòʸ»ú¤¬ÉÕ¤¤¤Æ¤¤¤ë¤È¡¢¤½¤Î¹Ô¤Ï
-¼¡¤ÎÆþÎϹԤËÏÀÍýŪ¤Ë³¤¤¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ë¡£¼«Æ°Åª¤Ë
+1 コマンドラインにつき最大 \fImax-lines\fR 行の (空行ではない) 入力行を
+使用する。入力行の行末に空白文字が付いていると、その行は
+次の入力行に論理的に続いていることになる。自動的に
.B \-x
-¤¬»ØÄꤵ¤ì¤ë¡£
+が指定される。
.TP
.PD 0
.BR \-\-max-lines "[=\fImax-lines\fR]"
.\"O .B \-L
.\"O instead.
.B \-L
-¥ª¥×¥·¥ç¥ó¤ÎƱµÁ¸ì¤Ç¤¢¤ë¡£
+オプションの同義語である。
.B \-L
-¤È¤Ï°ã¤Ã¤Æ¡¢
+とは違って、
.I max-lines
-¤È¤¤¤¦°ú¤¿ô¤ò»ØÄꤹ¤ë¤«¤É¤¦¤«¤ÏǤ°Õ¤Ç¤¢¤ë¡£°ú¤¿ô
+という引き数を指定するかどうかは任意である。引き数
.I max-lines
-¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î 1 ¤¬»ÈÍѤµ¤ì¤ë¡£
-POSIX ɸ½à¤Ç¤Ï
+を指定しなかった場合は、デフォルトの 1 が使用される。
+POSIX 標準では
.B \-L
-¤ÎÊý¤ò»È¤¦¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢
+の方を使うことになっているので、
.B \-l
-¥ª¥×¥·¥ç¥ó¤Î»ÈÍѤϤª´«¤á¤Ç¤¤Ê¤¤¡£
+オプションの使用はお勧めできない。
.TP
.PD 0
.BR "\-\-max\-args" =\fImax-args\fR
.\"O .B \-x
.\"O option is given, in which case
.\"O .B xargs will exit.
-1 ¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¤Ä¤ºÇÂç \fImax-args\fR ¸Ä¤Î°ú¤¿ô¤ò»ÈÍѤ¹¤ë¡£
-ºîÀ®¤µ¤ì¤¿¥³¥Þ¥ó¥É¥é¥¤¥ó¤¬¡¢¥³¥Þ¥ó¥É¥é¥¤¥óĹ¤Î¾å¸Â¤ò
-Ķ²á¤¹¤ë¾ì¹ç¤Ï
+1 コマンドラインにつき最大 \fImax-args\fR 個の引き数を使用する。
+作成されたコマンドラインが、コマンドライン長の上限を
+超過する場合は
.RB ( \-s
-¥ª¥×¥·¥ç¥ó»²¾È)¡¢
+オプション参照)、
.I max-args
-¤è¤ê¾¯¤Ê¤¤°ú¤¿ô¤¬»ÈÍѤµ¤ì¤ë¤³¤È¤Ë¤Ê¤ë¡£¤¿¤À¤·¡¢
+より少ない引き数が使用されることになる。ただし、
.B \-x
-¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤È¤¤ÏÊ̤ǡ¢¤½¤Î¾ì¹ç¤Ï
+オプションが指定されているときは別で、その場合は
.B xargs
-¤¬½ªÎ»¤¹¤ë¡£
+が終了する。
.TP
.PD 0
.B \-\-interactive
.\"O from the terminal. Only run the command line if the response starts
.\"O with `y' or `Y'. Implies
.\"O .BR -t .
-¥³¥Þ¥ó¥É¥é¥¤¥ó°ì¹Ô¤´¤È¤Ë¡¢¼Â¹Ô¤¹¤ë¤«¤É¤¦¤«¤ò¥æ¡¼¥¶¤Ë¿Ò¤Í¤ë¥×¥í¥ó¥×¥È¤ò½Ð¤·¡¢
-üËö¤«¤é°ì¹ÔÆɤ߹þ¤à¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤ò¼Â¹Ô¤¹¤ë¤Î¤Ï¡¢ÊÖÅú¤¬ `y' ¤Þ¤¿¤Ï `Y' ¤Ç
-»Ï¤Þ¤ë¤È¤¤À¤±¤Ç¤¢¤ë¡£¼«Æ°Åª¤Ë
+コマンドライン一行ごとに、実行するかどうかをユーザに尋ねるプロンプトを出し、
+端末から一行読み込む。コマンドラインを実行するのは、返答が `y' または `Y' で
+始まるときだけである。自動的に
.BR -t
-¤¬»ØÄꤵ¤ì¤ë¡£
+が指定される。
.TP
.PD 0
.B \-\-no\-run\-if\-empty
.\"O If the standard input does not contain any nonblanks, do not run the
.\"O command. Normally, the command is run once even if there is no input.
.\"O This option is a GNU extension.
-ɸ½àÆþÎϤ˶õÇò¤·¤«´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢»ØÄꤷ¤¿¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Ê¤¤¡£
-Ä̾ï¤Ç¤Ï¡¢ÆþÎϤ¬Á´¤¯¤Ê¤¤¾ì¹ç¤Ç¤â¡¢¥³¥Þ¥ó¥É¤¬°ì²ó¤Ï¼Â¹Ô¤µ¤ì¤ë¤Î¤À¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï GNU ¤Î³ÈÄ¥¤Ç¤¢¤ë¡£
+標準入力に空白しか含まれていない場合は、指定したコマンドを実行しない。
+通常では、入力が全くない場合でも、コマンドが一回は実行されるのだ。
+このオプションは GNU の拡張である。
.TP
.PD 0
.BR \-\-max\-chars "=\fImax-chars\fR"
.\"O of your environment, less 2048 bytes of headroom. If this value is
.\"O more than 128KiB, 128Kib is used as the default value; otherwise, the
.\"O default value is the maximum. 1KiB is 1024 bytes.
-1 ¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¤Ä¤ºÇÂç \fImax-chars\fR ¤Îʸ»ú¤ò»ÈÍѤ¹¤ë¡£
-¤³¤Îʸ»ú¿ô¤Ë¤Ï¡¢»ØÄꤷ¤¿¥³¥Þ¥ó¥É¤È \fIinitial\-arguments\fR¡¢¤½¤ì¤Ë
-³Æ°ú¤¿ôʸ»úÎó¤Î½ªÃ¼¤ò¼¨¤¹¥Ì¥ëʸ»ú¤â´Þ¤Þ¤ì¤ë¡£»ØÄê¤Ç¤¤ëÃͤξå¸Â¤Ï
-¥·¥¹¥Æ¥à¼¡Âè¤Ç¤¢¤ê¡¢exec ¤ËÂФ¹¤ë°ú¤¿ô¤ÎºÇÂ獫¤é¡¢
-¸½ºß¤Î´Ä¶¤Î¥µ¥¤¥º¤È 2048 ¥Ð¥¤¥È¤Î;͵Îΰè¤ò°ú¤¤¤¿¤â¤Î¤Ç¤¢¤ë¡£
-¤â¤·¤½¤ÎÃͤ¬ 128KiB °Ê¾å¤À¤Ã¤¿¤È¤¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤ÎÃͤȤ·¤Æ 128KiB ¤¬
-»ÈÍѤµ¤ì¤ë¡£128KiB ̤Ëþ¤À¤Ã¤¿¤È¤¤Ï¡¢»»½Ð¤µ¤ì¤¿¾å¸Â¤¬¥Ç¥Õ¥©¥ë¥È¤ÎÃͤˤʤ롣
-1KiB ¤Ï 1024 ¥Ð¥¤¥È¤Ç¤¢¤ë¡£
+1 コマンドラインにつき最大 \fImax-chars\fR の文字を使用する。
+この文字数には、指定したコマンドと \fIinitial\-arguments\fR、それに
+各引き数文字列の終端を示すヌル文字も含まれる。指定できる値の上限は
+システム次第であり、exec に対する引き数の最大長から、
+現在の環境のサイズと 2048 バイトの余裕領域を引いたものである。
+もしその値が 128KiB 以上だったときは、デフォルトの値として 128KiB が
+使用される。128KiB 未満だったときは、算出された上限がデフォルトの値になる。
+1KiB は 1024 バイトである。
.TP
.PD 0
.B \-\-verbose
.B \-t
.\"O Print the command line on the standard error output before executing
.\"O it.
-¼Â¹Ô¤¹¤ëÁ°¤Ë¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤òɸ½à¥¨¥é¡¼½ÐÎϤËɽ¼¨¤¹¤ë¡£
+実行する前に、コマンドラインを標準エラー出力に表示する。
.TP
.B "\-\-version"
.\"O Print the version number of
.\"O .B xargs
.\"O and exit.
.B xargs
-¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òɽ¼¨¤·¤Æ¡¢½ªÎ»¤¹¤ë¡£
+のバージョン番号を表示して、終了する。
.TP
.B "\-\-show\\-limits"
.\"O Display the limits on the command-line length which are imposed by the
.\"O if you don't want
.\"O .B xargs
.\"O to do anything.
-¥³¥Þ¥ó¥É¥é¥¤¥óĹ¤Î¾å¸Â¤òɽ¼¨¤¹¤ë¡£¥³¥Þ¥ó¥É¥é¥¤¥óĹ¤Î¾å¸Â¤Ï¡¢
-¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¡¢
+コマンドライン長の上限を表示する。コマンドライン長の上限は、
+オペレーティングシステム、
.B xargs
-¤¬ÀßÄꤷ¤¿¥Ð¥Ã¥Õ¥¡¥µ¥¤¥º¡¢
+が設定したバッファサイズ、
.B \-s
-¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ·è¤Þ¤ë¡£
+オプションによって決まる。
.B xargs
-¤Ë¥³¥Þ¥ó¥É¥é¥¤¥óĹ¤Î¾å¸Â¤Îɽ¼¨°Ê³°¤ò¤µ¤»¤¿¤¯¤Ê¤«¤Ã¤¿¤é¡¢
-ÆþÎϤò
+にコマンドライン長の上限の表示以外をさせたくなかったら、
+入力を
.I /dev/null
-¤«¤é¥Ñ¥¤¥×¤Ç
+からパイプで
.B xargs
-¤ËÅϤ¹¤È¤è¤¤ (¤µ¤é¤Ë
+に渡すとよい (さらに
.B --no-run-if-empty
-¤ò»ØÄꤷ¤¿Êý¤¬¤è¤¤¤«¤â¤·¤ì¤Ê¤¤)¡£
+を指定した方がよいかもしれない)。
.TP
.PD 0
.B \-\-exit
.\"O Exit if the size (see the
.\"O .B \-s
.\"O option) is exceeded.
-ºîÀ®¤µ¤ì¤¿¥³¥Þ¥ó¥É¥é¥¤¥ó¤¬¥³¥Þ¥ó¥É¥é¥¤¥óĹ¤Î¾å¸Â¤òĶ²á¤·¤Æ¤¤¤¿¤é
+作成されたコマンドラインがコマンドライン長の上限を超過していたら
.RB ( \-s
-¥ª¥×¥·¥ç¥ó¤ò»²¾È)¡¢½ªÎ»¤¹¤ë¡£
+オプションを参照)、終了する。
.TP
.PD 0
.BR \-\-max\-procs "=\fImax-procs\fR"
.\"O option with
.\"O .BR \-P ;
.\"O otherwise chances are that only one exec will be done.
-Ʊ»þ¤ËºÇ¿¤Ç
+同時に最多で
.I max-procs
-¥×¥í¥»¥¹¤Þ¤Ç»ØÄꤷ¤¿¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¡£¥Ç¥Õ¥©¥ë¥È¤Ï 1 ¤Ç¤¢¤ë¡£¤â¤·
+プロセスまで指定したコマンドを実行する。デフォルトは 1 である。もし
.I max-procs
-¤¬ 0 ¤À¤È¡¢
+が 0 だと、
.B xargs
-¤Ï¤Ç¤¤ë¤À¤±Â¿¤¯¤Î¥×¥í¥»¥¹¤òƱ»þ¤Ë¼Â¹Ô¤·¤è¤¦¤È¤¹¤ë¡£
+はできるだけ多くのプロセスを同時に実行しようとする。
.B \-P
-¤È°ì½ï¤Ë
+と一緒に
.B \-n
-¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¤è¤¤¡£¤µ¤â¤Ê¤¤¤È¡¢exec ¤¬¤¿¤Ã¤¿°ì²ó¤·¤«
-¹Ô¤ï¤ì¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤¡£
+オプションを使うとよい。さもないと、exec がたった一回しか
+行われないかもしれない。
.\"O .SH "EXAMPLES"
-.SH "ÍÑÎã"
+.SH "用例"
.nf
.B find /tmp \-name core \-type f \-print | xargs /bin/rm \-f
.\"O and delete them. Note that this will work incorrectly if there are
.\"O any filenames containing newlines or spaces.
.B /tmp
-¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Ë
+ディレクトリ以下に
.B core
-¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òÁܤ·¤Æ¡¢¤½¤ì¤ò¾Ãµî¤¹¤ë¡£²þ¹Ô¤ä¶õÇò¤ò´Þ¤à
-¥Õ¥¡¥¤¥ë̾¤¬¤¢¤ë¤È¡¢Àµ¤·¤¯Æ°ºî¤·¤Ê¤¤¤Î¤Ç¡¢Ãí°Õ¤¹¤ë¤³¤È¡£
+という名前のファイルを捜して、それを消去する。改行や空白を含む
+ファイル名があると、正しく動作しないので、注意すること。
.P
.B find /tmp \-name core \-type f \-print0 | xargs \-0 /bin/rm \-f
.\"O directory names containing spaces or newlines are correctly handled.
.\"O
.B /tmp
-¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Ë
+ディレクトリ以下に
.B core
-¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òÁܤ·¤Æ¡¢¤½¤ì¤ò¾Ãµî¤¹¤ë¡£¥Õ¥¡¥¤¥ë̾¤Î½èÍý¤Ë
-Åö¤¿¤Ã¤Æ¤Ï¡¢¥Õ¥¡¥¤¥ë¤ä¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤Ë¶õÇò¤ä²þ¹Ô¤¬´Þ¤Þ¤ì¤Æ¤¤¤Æ¤â¡¢
-ŬÀڤ˰·¤ï¤ì¤ë¤è¤¦¤Ë¤¹¤ë¡£
+という名前のファイルを捜して、それを消去する。ファイル名の処理に
+当たっては、ファイルやディレクトリの名前に空白や改行が含まれていても、
+適切に扱われるようにする。
.P
.B find /tmp \-depth \-name core \-type f \-delete
.\"O process).
.\"O
.B /tmp
-¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Ë
+ディレクトリ以下に
.B core
-¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òÁܤ·¤Æ¡¢¤½¤ì¤ò¾Ãµî¤¹¤ë¡£¾å¤ÎÎã¤è¤ê¤â
-¤³¤Á¤é¤ÎÊý¤¬¸úΨŪ¤Ç¤¢¤ë (¤Ê¤¼¤Ê¤é¡¢
+という名前のファイルを捜して、それを消去する。上の例よりも
+こちらの方が効率的である (なぜなら、
.B rm
-¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë
+を実行するために
.BR fork (2)
-¤È
+と
.BR exec (2)
-¤ò»È¤ï¤Ê¤¤¤Ç¤¹¤à¤·¡¢¤½¤â¤½¤â¡¢
+を使わないですむし、そもそも、
.B xargs
-¤Î¥×¥í¥»¥¹¤òɬÍפȤ·¤Ê¤¤¤«¤é)¡£
+のプロセスを必要としないから)。
.P
.nf
.fi
.\"O Generates a compact listing of all the users on the system.
.\"O
-¥·¥¹¥Æ¥à¤ÎÁ´¥æ¡¼¥¶¤òÎóµó¤·¤¿´Ê·é¤Ê¥ê¥¹¥È¤òÀ¸À®¤¹¤ë (ÌõÃí: Íפ¹¤ë¤Ë¡¢
-²þ¹Ô¤Ç¤Ï¤Ê¤¯¡¢¶õÇò¤Ç¶èÀÚ¤é¤ì¤¿¥æ¡¼¥¶Ì¾¤Î¥ê¥¹¥È¤òºî¤ë¤È¤¤¤¦¤³¤È)¡£
+システムの全ユーザを列挙した簡潔なリストを生成する (訳注: 要するに、
+改行ではなく、空白で区切られたユーザ名のリストを作るということ)。
.P
.nf
.\"O
.\"O
.B xargs
-¤Îɸ½àÆþÎϤ«¤é¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò¼õ¤±¼è¤ê¡¢Emacs ¤òɬÍפʤÀ¤±¼¡¡¹¤È
-Ω¤Á¾å¤²¤Æ¡¢¤½¤ì¤òÊÔ½¸¤¹¤ë¡£¤³¤ÎÎã¤Ï BSD ¤Î
+の標準入力からファイルのリストを受け取り、Emacs を必要なだけ次々と
+立ち上げて、それを編集する。この例は BSD の
.B -o
-¥ª¥×¥·¥ç¥ó¤ÈƱ¤¸¤³¤È¤ò¼Â¸½¤¹¤ë¤¬¡¢¤³¤Á¤é¤ÎÊý¤¬½ÀÆðÀ¤¬¤¢¤ê¡¢
-¿¤¯¤Î¥·¥¹¥Æ¥à¤ÇÍøÍѤǤ¤ë¡£
+オプションと同じことを実現するが、こちらの方が柔軟性があり、
+多くのシステムで利用できる。
.\"O .SH "EXIT STATUS"
-.SH "½ªÎ»¥¹¥Æ¡¼¥¿¥¹"
+.SH "çµ\82äº\86ã\82¹ã\83\86ã\83¼ã\82¿ã\82¹"
.\"O .B xargs
.\"O exits with the following status:
.B xargs
-¤Î½ªÎ»¥¹¥Æ¡¼¥¿¥¹¤Ï°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¢¤ë¡£
+の終了ステータスは以下のとおりである。
.\"O .nf
.\"O 0 if it succeeds
.\"O 123 if any invocation of the command exited with status 1-125
.\"O .fi
.P
.nf
-0 À®¸ù¤·¤¿¡£
-123 »ØÄꤷ¤¿¥³¥Þ¥ó¥É¤Î¼Â¹Ô¤¬ 1-125 ¤Î¥¹¥Æ¡¼¥¿¥¹¤Ç½ªÎ»¤·¤¿¡£
-124 »ØÄꤷ¤¿¥³¥Þ¥ó¥É¤¬ 255 ¤Î¥¹¥Æ¡¼¥¿¥¹¤Ç½ªÎ»¤·¤¿¡£
-125 »ØÄꤷ¤¿¥³¥Þ¥ó¥É¤¬¥·¥°¥Ê¥ë¤Ë¤è¤Ã¤Æ kill ¤µ¤ì¤¿¡£
-126 »ØÄꤷ¤¿¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤Ç¤¤Ê¤¤¡£
-127 »ØÄꤷ¤¿¥³¥Þ¥ó¥É¤¬¸«¤Ä¤«¤é¤Ê¤¤¡£
-1 ¾åµ°Ê³°¤Î¥¨¥é¡¼¤¬µ¯¤¤¿¡£
+0 成功した。
+123 指定したコマンドの実行が 1-125 のステータスで終了した。
+124 指定したコマンドが 255 のステータスで終了した。
+125 指定したコマンドがシグナルによって kill された。
+126 指定したコマンドが実行できない。
+127 指定したコマンドが見つからない。
+1 上記以外のエラーが起きた。
.fi
.\"O .P
.\"O Exit codes greater than 128 are used by the shell to indicate that
.\"O a program died due to a fatal signal.
.P
-128 °Ê¾å¤Î½ªÎ»¥¹¥Æ¡¼¥¿¥¹¤Ï¡¢Ã×̿Ū¤Ê¥·¥°¥Ê¥ë¤Î¤»¤¤¤Ç¥×¥í¥°¥é¥à¤¬
-»ß¤Þ¤Ã¤¿¤³¤È¤ò¼¨¤¹¤¿¤á¤Ë¡¢¥·¥§¥ë¤¬»ÈÍѤ·¤Æ¤¤¤ë¡£
+128 以上の終了ステータスは、致命的なシグナルのせいでプログラムが
+止まったことを示すために、シェルが使用している。
.\"O .SH "STANDARDS CONFORMANCE"
-.SH "ɸ½à¤Ø¤Î½àµò"
+.SH "標準への準拠"
.\"O As of GNU xargs version 4.2.9, the default behaviour of
.\"O .B xargs
.\"O is not to have a logical end-of-file marker. POSIX (IEEE Std 1003.1,
.\"O 2004 Edition) allows this.
-GNU xargs version 4.2.9 °ÊÍè¡¢¥Õ¥¡¥¤¥ë¤ÎÏÀÍýŪ¤Ê½ªÃ¼¤ò¼¨¤¹»Øɸ
-(a logical end-of-file marker) ¤ò»ý¤¿¤Ê¤¤¤Î¤¬¡¢
+GNU xargs version 4.2.9 以来、ファイルの論理的な終端を示す指標
+(a logical end-of-file marker) を持たないのが、
.B xargs
-¤Î¥Ç¥Õ¥©¥ë¥È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£¤³¤Î¤³¤È¤Ï POSIX (IEEE Std 1003.1,
-2004 Edition) ¤Çǧ¤á¤é¤ì¤Æ¤¤¤ë¡£
+のデフォルトになっている。このことは POSIX (IEEE Std 1003.1,
+2004 Edition) で認められている。
.\"O .P
.\"O The \-l and \-i options appear in the 1997 version of the POSIX
.\"O standard, but do not appear in the 2004 version of the standard.
.\"O Therefore you should use \-L and \-I instead, respectively.
.P
-\-l ¤ä \-i ¥ª¥×¥·¥ç¥ó¤Ï 1997 ǯÈǤΠPOSIX ɸ½à¤Ë¤Ï¸ºß¤¹¤ë¤¬¡¢
-2004 ǯÈǤΠPOSIX ɸ½à¤Ë¤Ï¸ºß¤·¤Ê¤¤¡£½¾¤Ã¤Æ¡¢¤½¤ì¤¾¤ì
-\-L ¤ä \-I ¤ÎÊý¤ò»È¤¦¤Ù¤¤Ç¤¢¤ë¡£
+\-l や \-i オプションは 1997 年版の POSIX 標準には存在するが、
+2004 年版の POSIX 標準には存在しない。従って、それぞれ
+\-L や \-I の方を使うべきである。
.\"O .P
.\"O The POSIX standard allows implementations to have a limit on the size
.\"O of arguments to the
.\"O
.\"O
.P
-POSIX ɸ½à¤Ï¡¢¼ÂÁõ¤ËÅö¤¿¤Ã¤Æ¡¢
+POSIX 標準は、実装に当たって、
.B exec
-´Ø¿ô¤ËÂФ¹¤ë°ú¤¿ô¤Î¥µ¥¤¥º¤Ë¾å¸Â¤òÀߤ±¤ë¤³¤È¤òǧ¤á¤Æ¤¤¤ë¡£
-¤½¤·¤Æ¡¢¤½¤Î¾å¸Â¤Ï¡¢´Ä¶¤Î¥µ¥¤¥º¤â´Þ¤á¤Æ¡¢¾¯¤Ê¤¯¤È¤â 4096 ¥Ð¥¤¥È¤¢¤ì¤Ð
-¤è¤¤¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£°Ü¿¢À¤Î¤¢¤ë¥¹¥¯¥ê¥×¥È¤ò½ñ¤³¤¦¤È»×¤Ã¤¿¤é¡¢
-¤³¤ì¤è¤êÂ礤¤¥µ¥¤¥º¤òÅö¤Æ¤Ë¤·¤Æ¤Ï¤¤¤±¤Ê¤¤¡£¤â¤Ã¤È¤â¡¢¼ÂºÝ¤Î¾å¸Â¤¬
-¤½¤ó¤Ê¤Ë¾®¤µ¤¤¼ÂÁõ¤Ê¤É¡¢É®¼Ô¤È¤·¤Æ¤Ï¸«¤¿¤³¤È¤âʹ¤¤¤¿¤³¤È¤â¤Ê¤¤¤±¤ì¤É¡£
+関数に対する引き数のサイズに上限を設けることを認めている。
+そして、その上限は、環境のサイズも含めて、少なくとも 4096 バイトあれば
+よいことになっている。移植性のあるスクリプトを書こうと思ったら、
+これより大きいサイズを当てにしてはいけない。もっとも、実際の上限が
+そんなに小さい実装など、筆者としては見たことも聞いたこともないけれど。
.B \-\-show\-limits
-¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¡¢»ÈÍÑÃæ¤Î¥·¥¹¥Æ¥à¤Ç͸ú¤Ê¼ÂºÝ¤Î¾å¸Â¤òÃΤ뤳¤È¤¬¤Ç¤¤ë¡£
+オプションを使えば、使用中のシステムで有効な実際の上限を知ることができる。
.\"O .SH "SEE ALSO"
-.SH "´ØÏ¢¹àÌÜ"
+.SH "関連項目"
\fBfind\fP(1), \fBlocate\fP(1), \fBlocatedb\fP(5), \fBupdatedb\fP(1),
\fBfork\fP(2), \fBexecvp\fP(3),
\fBFinding Files\fP (on-line in Info, or printed)
.\"O .SH "BUGS"
-.SH "¥Ð¥°"
+.SH "ã\83\90ã\82°"
.\"O The
.\"O .B \-L
.\"O option is incompatible with the
.\"O .B \-I
.\"O option, but perhaps should not be.
.B \-L
-¥ª¥×¥·¥ç¥ó¤È
+オプションと
.B \-I
-¥ª¥×¥·¥ç¥ó¤òÁȤ߹ç¤ï¤»¤Æ¤â¡¢¤¦¤Þ¤¯¹Ô¤«¤Ê¤¤¡£ÁȤ߹ç¤ï¤»¤Æ»È¤¨¤¿Êý¤¬
-¤è¤¤¤Î¤«¤â¤·¤ì¤Ê¤¤¤¬¡£
-.IP "[ÌõÃí]:" 8
+オプションを組み合わせても、うまく行かない。組み合わせて使えた方が
+よいのかもしれないが。
+.IP "[訳注]:" 8
.B -I
-¥ª¥×¥·¥ç¥ó¤ÎÀâÌÀ¤Ë¤¢¤ë¤è¤¦¤Ë¡¢
+オプションの説明にあるように、
.BI \-I " replace-str"
-¤ò»ØÄꤹ¤ë¤È¡¢
+を指定すると、
.BR \-L " 1"
-¤¬¼«Æ°Åª¤ËÀßÄꤵ¤ì¤ë¡£¤³¤³¤Ç¸À¤Ã¤Æ¤¤¤ë¤Î¤Ï¡¢¸½¾õ¤Ç¤Ï
+が自動的に設定される。ここで言っているのは、現状では
.BR \-L " 2"
-¤ä
+や
.BR \-L " 3"
-¤ò
+を
.B \-I
-¤È°ì½ï¤Ë»È¤Ã¤Æ¤â¡¢´üÂÔ¤¹¤ë¸ú²Ì¤òÆÀ¤é¤ì¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£
+と一緒に使っても、期待する効果を得られないということである。
.\"O .P
.\"O It is not possible for
.\"O .B xargs
.\"O
.P
.B xargs
-¤ò°ÂÁ´¤Ë»È¤¦¤³¤È¤ÏÉÔ²Äǽ¤Ç¤¢¤ë¡£¤Ê¤¼¤Ê¤é¡¢ÆþÎϤµ¤ì¤ë¥Õ¥¡¥¤¥ë̾¤Î
-¥ê¥¹¥È¤òÀ¸À®¤¹¤ë»þ´Ö¤È
+を安全に使うことは不可能である。なぜなら、入力されるファイル名の
+リストを生成する時間と
.B xargs
-¤¬¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤¬¤½¤ì¤ò»ÈÍѤ¹¤ë»þ´Ö¤È¤Î´Ö¤Ë¤Ï¡¢É¬¤º»þ´Öº¹¤¬
-¤¢¤ë¤«¤é¤À¡£¤â¤·¡¢Â¾¤Î¥æ¡¼¥¶¤¬¥·¥¹¥Æ¥à¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤¬¤Ç¤¤ì¤Ð¡¢
-¤½¤Î¥æ¡¼¥¶¤Ï¤³¤Î·ä´Ö¤Î»þ´Ö¤Ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òÁàºî¤·¤Æ¡¢
+が実行するコマンドがそれを使用する時間との間には、必ず時間差が
+あるからだ。もし、他のユーザがシステムにアクセスすることができれば、
+そのユーザはこの隙間の時間にファイルシステムを操作して、
.B xargs
-¤¬¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤ÎÆ°ºî¤ò¡¢¤³¤Á¤é¤¬°Õ¿Þ¤·¤Æ¤¤¤Ê¤¤¥Õ¥¡¥¤¥ë¤Ë
-̵ÍýÌðÍý¸þ¤±¤ë¤³¤È¤¬¤Ç¤¤ë¡£¤³¤ÎÌäÂê¤ä¡¢¤³¤ì¤Ë´ØÏ¢¤¹¤ëÌäÂê¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-findutils ¤Ë´Þ¤Þ¤ì¤ë Texinfo ʸ½ñ¤Î¡ÖSecurity Considerations¡×¤È¤¤¤¦¾Ï¤Ç
-¤â¤Ã¤ÈºÙ¤«¤¯ÏÀ¤¸¤Æ¤¤¤ë¤Î¤Ç¡¢¤½¤Á¤é¤ò»²¾È¤·¤Æ¤¤¤¿¤À¤¤¿¤¤¡£
-¤Ê¤ª¡¢
+が実行するコマンドの動作を、こちらが意図していないファイルに
+無理矢理向けることができる。この問題や、これに関連する問題については、
+findutils に含まれる Texinfo 文書の「Security Considerations」という章で
+もっと細かく論じているので、そちらを参照していただきたい。
+なお、
.B find
-¤Î
+の
.B \-execdir
-¥ª¥×¥·¥ç¥ó¤Ï¡¢¤è¤ê°ÂÁ´¤ÊÊýË¡¤È¤·¤Æ
+オプションは、より安全な方法として
.B xargs
-¤ÎÂå¤ï¤ê¤Ë»ÈÍѤǤ¤ë¤³¤È¤¬Â¿¤¤¡£
+の代わりに使用できることが多い。
.\"O When you use the
.\"O .B \-I
.\"O .B xargs
.\"O to ensure that very long lines do not occur.
.B \-I
-¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢É¸½àÆþÎϤ«¤éÆɤ߹þ¤Þ¤ì¤¿³Æ¹Ô¤ÏÆâÉôŪ¤Ë¥Ð¥Ã¥Õ¥¡¤µ¤ì¤ë¡£
-¤³¤ì¤Ï¡¢
+オプションを使うと、標準入力から読み込まれた各行は内部的にバッファされる。
+これは、
.B \-I
-¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤Æ»È¤Ã¤¿¤È¤¡¢
+オプションを付けて使ったとき、
.B xargs
-¤¬¼õ¤±ÉÕ¤±¤ëÆþÎϹ԰ì¹Ô¤ÎŤµ¤Ë¾å¸Â¤¬¤¢¤ë¤È¤¤¤¦¤³¤È¤À¡£
-¤³¤ÎÀ©¸Â¤ò²óÈò¤¹¤ë¤¿¤á¤Ë¤Ï¡¢
+が受け付ける入力行一行の長さに上限があるということだ。
+この制限を回避するためには、
.B \-s
-¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¡¢
+オプションを使って、
.B xargs
-¤¬»ÈÍѤ¹¤ë¥Ð¥Ã¥Õ¥¡¶õ´Ö¤Î¥µ¥¤¥º¤òÁý¤ä¤·¤Æ¤ä¤ì¤Ð¤è¤¤¡£¤µ¤é¤Ë¡¢
+が使用するバッファ空間のサイズを増やしてやればよい。さらに、
.B xargs
-¤ò¤â¤¦°ì¤Ä¼Â¹Ô¤¹¤ì¤Ð¡¢
-Ť¹¤®¤ë¹Ô¤Î½Ð¸½¤ò³Î¼Â¤ËÈò¤±¤ë¤³¤È¤¬¤Ç¤¤ë¡£
+をもう一つ実行すれば、
+長すぎる行の出現を確実に避けることができる。
.\"O For example:
-¤¿¤È¤¨¤Ð¡¢
+たとえば、
.P
.B somecommand | xargs \-s 50000 echo | xargs \-I '{}' \-s 100000 rm '{}'
.P
.\"O The problem doesn't occur with the output of
.\"O .BR find (1)
.\"O because it emits just one filename per line.
-¤³¤ÎÎã¤Ç¤Ï¡¢
+この例では、
.B xargs
-¤ÎºÇ½é¤Î¼Â¹Ô¤Ë¤Ï¡¢ÆþÎϹԤÎŤµ¤Î¾å¸Â¤¬¤Ê¤¤¡£
+の最初の実行には、入力行の長さの上限がない。
.B \-I
-¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¢¤ë¡£
+オプションを使っていないからである。
.B xargs
-¤ÎÆóÈÖÌܤμ¹Ԥˤϡ¢¤½¤¦¤·¤¿¾å¸Â¤¬¤¢¤ë¤¬¡¢½èÍý¤Ç¤¤ë°Ê¾å¤ÎŤµ¤Î¹Ô¤Ë
-ÀäÂФ˽вñ¤ï¤Ê¤¤¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£¤³¤ì¤¬ÍýÁÛŪ¤Ê²ò·èË¡¤À
-¤È¤¤¤¦¤Î¤Ç¤Ï¤Ê¤¤¡£¤à¤·¤í¡¢
+の二番目の実行には、そうした上限があるが、処理できる以上の長さの行に
+絶対に出会わないようになっている。これが理想的な解決法だ
+というのではない。むしろ、
.B \-I
-¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÆþÎϹԤÎŤµ¤Ë¾å¸Â¤¬¤Ç¤¤Ê¤¤Êý¤¬¤è¤¤¤Î¤Ç¤¢¤ê¡¢
-¤À¤«¤é¤³¤½¡¢¤³¤ÎÌäÂê¤ò¡Ö¥Ð¥°¡×¥»¥¯¥·¥ç¥ó¤ÇÏÀ¤¸¤Æ¤¤¤ë¤Î¤Ç¤¢¤ë¡£
-¤Ê¤ª¡¢¤³¤ÎÌäÂê¤Ï
+オプションによって入力行の長さに上限ができない方がよいのであり、
+だからこそ、この問題を「バグ」セクションで論じているのである。
+なお、この問題は
.BR find (1)
-¤Î½ÐÎϤǤϵ¯¤¤Ê¤¤¡£
+の出力では起きない。
.B find
-¤Ï 1 ¹Ô¤Ë 1 ¥Õ¥¡¥¤¥ë̾¤·¤«½ÐÎϤ·¤Ê¤¤¤«¤é¤À¡£
+は 1 行に 1 ファイル名しか出力しないからだ。
.\"O .P
.\"O The best way to report a bug is to use the form at
.\"O http://savannah.gnu.org/bugs/?group=findutils.
.\"O mailing list. To join the list, send email to
.\"O .IR bug\-findutils\-request@gnu.org .
.P
-¥Ð¥°Êó¹ð¤ÎºÇÁ±¤ÎÊýË¡¤Ï¡¢
+バグ報告の最善の方法は、
http://savannah.gnu.org/bugs/?group=findutils
-¤Ë¤¢¤ë½ñ¼°¤ò»ÈÍѤ¹¤ë¤³¤È¤À¡£¤½¤¦¤¹¤ì¤Ð¡¢ÌäÂê²ò·è¤Î¿Ê¹Ô¾õÂÖ¤ò
-Äɤ¦¤³¤È¤¬¤Ç¤¤ë¤«¤é¤Ç¤¢¤ë¡£\fBxargs\fP(1) ¤ä
-findutils ¥Ñ¥Ã¥±¡¼¥¸Á´È̤ˤĤ¤¤Æ¤Î¤½¤Î¾¤Î¤´°Õ¸«¤Ï¡¢
+にある書式を使用することだ。そうすれば、問題解決の進行状態を
+追うことができるからである。\fBxargs\fP(1) や
+findutils パッケージ全般についてのその他のご意見は、
.I bug\-findutils
-¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ë¤ª½Ð¤·¤Ë¤Ê¤ì¤Ð¤è¤¤¡£¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ë»²²Ã¤¹¤ë¤Ë¤Ï¡¢
+メーリングリストにお出しになればよい。メーリングリストに参加するには、
.I bug\-findutils\-request@gnu.org
-°¸¤Æ¤Ë E ¥á¡¼¥ë¤òÁ÷¤Ã¤Æ¤¤¤¿¤À¤¤¿¤¤¡£
+宛てに E メールを送っていただきたい。