OSDN Git Service

info/GNU_coreutils: some modifications.
[linuxjm/jm.git] / info / GNU_coreutils / release / coreutils-ja.texi
index 64ef0fd..82149a6 100644 (file)
@@ -7,6 +7,8 @@
 @c %**start of header
 @setfilename coreutils-ja.info
 @settitle GNU Coreutils
+@documentencoding UTF-8
+@allowcodebreaks false
 
 @c %**end of header
 
@@ -30,7 +32,7 @@
 * Coreutils-ja: (coreutils-ja).  Core GNU (file, text, shell) utilities.
 * Common options-ja: (coreutils-ja)Common options.
 * File permissions-ja: (coreutils-ja)File permissions.  Access modes.
-* Date input formats-ja: (coreutils-ja)Date input formats.  
+* Date input formats-ja: (coreutils-ja)Date input formats.    
 @end direntry
 
 @c FIXME: the following need documentation
 @dircategory Individual utilities (in Japanese)
 @direntry
 * arch-ja: (coreutils-ja)arch invocation.          Print machine hardware name.
+* b2sum-ja: (coreutils-ja)b2sum invocation.        Print or check BLAKE2 digests.
+* base32-ja: (coreutils-ja)base32 invocation.      Base32 encode/decode data.
 * base64-ja: (coreutils-ja)base64 invocation.      Base64 encode/decode data.
 * basename-ja: (coreutils-ja)basename invocation.  Strip directory and suffix.
 * cat-ja: (coreutils-ja)cat invocation.            Concatenate and write files.
 * chcon-ja: (coreutils-ja)chcon invocation.        Change SELinux CTX of files.
-* chgrp-ja: (coreutils-ja)chgrp invocation.        Change file group
+* chgrp-ja: (coreutils-ja)chgrp invocation.        Change file groups.
 * chmod-ja: (coreutils-ja)chmod invocation.        Change access permissions.
 * chown-ja: (coreutils-ja)chown invocation.        Change file owners and groups.
 * chroot-ja: (coreutils-ja)chroot invocation.      Specify the root directory.
-* cksum-ja: (coreutils-ja)cksum invocation.        Print POSIX CRC checksum.
+* cksum-ja: (coreutils-ja)cksum invocation.        Print POSIX CRC checksum. 
 * comm-ja: (coreutils-ja)comm invocation.          Compare sorted files by line.
 * cp-ja: (coreutils-ja)cp invocation.              Copy files.
 * csplit-ja: (coreutils-ja)csplit invocation.      Split by context.
@@ -60,7 +64,7 @@
 * dircolors-ja: (coreutils-ja)dircolors invocation.  Color setup for ls.
 * dirname-ja: (coreutils-ja)dirname invocation.    Strip last file name component.
 * du-ja: (coreutils-ja)du invocation.              Report on disk usage.
-* echo-ja: (coreutils-ja)echo invocation.          Print a line of text.
+* echo-ja: (coreutils-ja)echo invocation.          Print a line of text. 
 * env-ja: (coreutils-ja)env invocation.            Modify the environment.
 * expand-ja: (coreutils-ja)expand invocation.      Convert tabs to spaces.
 * expr-ja: (coreutils-ja)expr invocation.          Evaluate expressions.
@@ -73,7 +77,7 @@
 * hostid-ja: (coreutils-ja)hostid invocation.      Print numeric host identifier.
 * hostname-ja: (coreutils-ja)hostname invocation.  Print or set system name.
 * id-ja: (coreutils-ja)id invocation.              Print user identity.
-* install-ja: (coreutils-ja)install invocation.    Copy and change attributes.
+* install-ja: (coreutils-ja)install invocation.    Copy files and set attributes.
 * join-ja: (coreutils-ja)join invocation.          Join lines on a common field.
 * kill-ja: (coreutils-ja)kill invocation.          Send a signal to processes.
 * link-ja: (coreutils-ja)link invocation.          Make hard links between files.
 * stdbuf-ja: (coreutils-ja)stdbuf invocation.      Modify stdio buffering.
 * stty-ja: (coreutils-ja)stty invocation.          Print/change terminal settings.
 * sum-ja: (coreutils-ja)sum invocation.            Print traditional checksum.
-* sync-ja: (coreutils-ja)sync invocation.          Synchronize memory and disk.
+* sync-ja: (coreutils-ja)sync invocation.          Synchronize memory to disk.
 * tac-ja: (coreutils-ja)tac invocation.            Reverse files.
 * tail-ja: (coreutils-ja)tail invocation.          Output the last part of files.
 * tee-ja: (coreutils-ja)tee invocation.            Redirect to multiple files.
 
 @copying
 このマニュアルは、GNU core utilities version @value{VERSION} の詳細な解説である。
-core utilities には、テキストやファイルを操作するための標準的な
-プログラムが入っている。
+core utilities には、テキストやファイルを操作するための標準的なプログラムが入っている。
 
-Copyright @copyright{} 1994-2013 Free Software Foundation, Inc.
-@sp 1
-Japanese translation copyright @copyright{} 2014 Linux JM project
+Copyright @copyright{} 1994-2016 Free Software Foundation, Inc.
+
+Japanese translation copyright @copyright{} 2014-2017 Linux JM project
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document under
@@ -159,15 +162,15 @@ of the license is included in the section entitled ``GNU Free Documentation
 License''.
 @end quotation
 
-【訳者から御注意】 この文書を info コマンドで閲覧なさっている場合
-には、info コマンドは日本語の行末の表示があまり上手ではないため、
-しばしば行末に余計な文字が入って、読みにくいことがある。そうしたときは、
-Ctrl キーと l (エル) キーを同時に押して、画面を再描画していただきたい。
+【訳者から御注意】 この文書を info コマンドで閲覧なさっている場合は、
+行末に余計な文字が入って、読みにくいことがあるかもしれない。
+そうしたときは、Ctrl キーと l (エル) キーを同時に押して、画面を再描画していただきたい。
 たぶん、表示が正常になるはずである。
 
-お手元の coreutils のバージョンが @value{VERSION} 以外の場合、この文書の
-説明と動作が違うことがあるかもしれない (たとえば、この文書に書いてある
-オプションが使えない、あるいは、使えるはずのオプションの説明がないなど)。
+お手元の coreutils のバージョンが @value{VERSION} 以外の場合、
+この文書の説明と動作が違うことがあるかもしれない
+(たとえば、この文書に書いてあるオプションが使えない、あるいは、
+使えるはずのオプションの説明がないなど)。
 そうした場合は、お使いの coreutils と同じバージョンの info マニュアルや
 man ページに当ってみていただきたい。そちらの方が正しいはずである。
 @end copying
@@ -201,34 +204,35 @@ man ページに当ってみていただきたい。そちらの方が正しい
 @menu
 * Introduction::             注意事項、概観、著者
 * Common options::           共通オプション
-* Output of entire files::   ファイル全体の出力 (cat tac nl od base64)
-* Formatting file contents:: ファイルの整形 (fmt numfmt pr fold)
+* Output of entire files::   ファイル全体の出力 (cat tac nl od base32 base64)
+* Formatting file contents:: ファイルの整形 (fmt pr fold)
 * Output of parts of files:: ファイルの部分出力 (head tail split csplit)
-* Summarizing files::      チェックサムなど (wc sum cksum md5sum sha1sum sha2)
+* Summarizing files::        チェックサムなど (wc sum b2sum cksum md5sum
+                               sha1sum sha2)
 * Operating on sorted files::  ソートなど (sort shuf uniq comm ptx tsort)
 * Operating on fields::      フィールド操作 (cut paste join)
 * Operating on characters::  文字操作 (tr expand unexpand)
 * Directory listing::        ディレクトリ一覧 (ls dir vdir dircolors)
 * Basic operations::         基本操作 (cp dd install mv rm shred)
-* Special file types::       特殊ファイル型 (mkdir rmdir unlink mkfifo mknod 
+* Special file types::       特殊ファイル型 (mkdir rmdir unlink mkfifo mknod
                                ln link readlink)
-* Changing file attributes::  ファイルの属性変更 (chgrp chmod chown touch)
+* Changing file attributes:: ファイルの属性変更 (chgrp chmod chown touch)
 * Disk usage::               ディスク使用量など (df du stat sync truncate)
 * Printing text::            テキストの表示 (echo printf yes)
 * Conditions::               条件 (false true test expr)
 * Redirection::              リダイレクション (tee)
-* File name manipulation::   ファイル名の操作 (dirname basename pathchk 
+* File name manipulation::   ファイル名の操作 (dirname basename pathchk
                                mktemp realpath)
 * Working context::          作業環境 (pwd stty printenv tty)
 * User information::         ユーザ情報 (id logname whoami groups users who)
-* System context::           システム情報 (date arch nproc uname hostname 
+* System context::           システム情報 (date arch nproc uname hostname
                                hostid uptime)
 * SELinux context::          SELinux コンテキスト (chcon runcon)
-* Modified command invocation::  実行環境の変更 (chroot env nice nohup stdbuf 
+* Modified command invocation::  実行環境の変更 (chroot env nice nohup stdbuf
                                    timeout)
 * Process control::          プロセス制御 (kill)
 * Delaying::                 一時停止 (sleep)
-* Numeric operations::       数値の操作 (factor seq)
+* Numeric operations::       数値の操作 (factor numfmt seq)
 * File permissions::         アクセス・モード
 * Date input formats::       日付文字列の指定法
 * Opening the software toolbox::  ソフトウェア工具という考え方
@@ -246,13 +250,15 @@ man ページに当ってみていただきたい。そちらの方が正しい
 * Block size::               ブロックサイズ
 * Floating point::           浮動小数点数の表現
 * Signal specifications::    シグナルの指定
-* Disambiguating names and IDs::  chgrp や chown のシンタクス
+* Disambiguating names and IDs::  chgrp, chown, chroot, id
+                                    におけるユーザやグループの指定法
 * Random sources::           ランダムデータのソース
 * Target directory::         出力先ディレクトリ
 * Trailing slashes::         末尾のスラッシュ
 * Traversing symlinks::      ディレクトリを指すシンボリックリンクのたどり方
 * Treating / specially::     / (ルート) を特別扱いする
 * Standards conformance::    規格への準拠
+* Multi-call invocation::    Multi-call プログラムの起動
 
 ファイル全体の出力
 
@@ -260,21 +266,15 @@ man ページに当ってみていただきたい。そちらの方が正しい
 * tac invocation::           ファイルを結合して、ファイルごとに逆順で書き出す
 * nl invocation::            行番号を付けて、ファイルを書き出す
 * od invocation::            ファイルを 8 進数などの形式で書き出す
+* base32 invocation::        データを ASCII 文字で表示可能なデータに変換する
 * base64 invocation::        データを ASCII 文字で表示可能なデータに変換する
 
 ファイル内容の整形
 
 * fmt invocation::           パラグラフに分かれたテキストを整形し直す
-* numfmt invocation::        数値を整形し直す
 * pr invocation::            ページ付けや段組みをしてファイルを表示する
 * fold invocation::          入力行を指定された幅に合わせて折り返す
 
-@command{numfmt}: 数値を整形し直す
-
-* General options in numfmt::  一般オプション
-* Possible UNITs::             使用できる UNIT
-* Examples of using numfmt::   numfmt の使用例
-
 ファイルの部分出力
 
 * head invocation::          ファイルの先頭部分を出力する
@@ -287,6 +287,7 @@ man ページに当ってみていただきたい。そちらの方が正しい
 * wc invocation::            行数、単語数、バイト数を表示する
 * sum invocation::           チェックサムとブロック数を表示する
 * cksum invocation::         CRC チェックサムとバイト数を表示する
+* b2sum invocation::         BLAKE2 ダイジェストの表示、または検査をする
 * md5sum invocation::        MD5 ダイジェストの表示、または検査をする
 * sha1sum invocation::       SHA-1 ダイジェストの表示、または検査をする
 * sha2 utilities::           SHA-2 ダイジェストの表示、または検査をする
@@ -324,7 +325,7 @@ man ページに当ってみていただきたい。そちらの方が正しい
 
 * Character sets::           文字集合の指定
 * Translating::              ある文字集合を別の文字集合に変換する
-* Squeezing::                連続する文字の圧縮と文字の削除
+* Squeezing and deleting::   文字の削除
 
 ディレクトリの一覧表示
 
@@ -375,7 +376,7 @@ man ページに当ってみていただきたい。そちらの方が正しい
 * df invocation::            ファイルシステムのディスク使用状態を報告する
 * du invocation::            ファイルのディスク使用量を概算する
 * stat invocation::          ファイルやファイルシステムの状態を報告する
-* sync invocation::          ã\83\87ã\82£ã\82¹ã\82¯ä¸\8aã\81®ã\83\87ã\83¼ã\82¿ã\82\92ã\83¡ã\83¢ã\83ªã\81¨同期する
+* sync invocation::          ã\82­ã\83£ã\83\83ã\82·ã\83¥ã\81\95ã\82\8cã\81\9fæ\9b¸ã\81\8dè¾¼ã\81¿ã\82\92æ°¸ç¶\9aç\9a\84ã\81ªè¨\98æ\86¶è£\85ç½®ã\81«同期する
 * truncate invocation::      ファイルサイズの短縮・伸長を行う
 
 テキストの表示
@@ -423,7 +424,7 @@ man ページに当ってみていただきたい。そちらの方が正しい
 * pwd invocation::           現在作業中のディレクトリを表示する
 * stty invocation::          端末の諸特性を表示・変更する
 * printenv invocation::      環境変数のすべて、あるいは一部を表示する
-* tty invocation::           æ¨\99æº\96å\87º力に接続している端末のファイル名を表示する
+* tty invocation::           æ¨\99æº\96å\85¥力に接続している端末のファイル名を表示する
 
 @command{stty}: 端末の諸特性を表示・変更する
 
@@ -459,7 +460,7 @@ man ページに当ってみていただきたい。そちらの方が正しい
 * Time conversion specifiers:: 時刻関係の変換指定子 %[HIklMNpPrRsSTXzZ]
 * Date conversion specifiers:: 日付関係の変換指定子 %[aAbBcCdDeFgGhjmuUVwWxyY]
 * Literal conversion specifiers::  文字変換指定子 %[%nt]
-* Padding and other flags::  0 や空白による空き埋め、その他
+* Padding and other flags::  0 や空白による空き埋め、その他
 * Setting the time::         システムクロックの変更
 * Options for date::         現在時以外の指定
 * Date input formats::       日付文字列の指定法
@@ -467,17 +468,17 @@ man ページに当ってみていただきたい。そちらの方が正しい
 
 SELinux コンテキスト
 
-* chcon invocation::     ファイルの SELinux コンテキストを変更する
-* runcon invocation::    指定された SELinux コンテキストでコマンドを実行する
+* chcon invocation::         ファイルの SELinux コンテキストを変更する
+* runcon invocation::        指定された SELinux コンテキストでコマンドを実行する
 
 コマンド実行条件の変更
 
-* chroot invocation::    ルートディレクトリを変更して、コマンドを実行する
-* env invocation::       変更した環境でコマンドを実行する
-* nice invocation::      niceness を変更して、コマンドを実行する
-* nohup invocation::     ハングアップ・シグナルで終了しないコマンドを実行する
-* stdbuf invocation::    入出力バッファリングを変更して、コマンドを実行する
-* timeout invocation::   タイムリミット付きでコマンドを実行する
+* chroot invocation::        ルートディレクトリを変更して、コマンドを実行する
+* env invocation::           変更した環境でコマンドを実行する
+* nice invocation::          niceness を変更して、コマンドを実行する
+* nohup invocation::         ハングアップ・シグナルで終了しないコマンドを実行する
+* stdbuf invocation::        入出力バッファリングを変更して、コマンドを実行する
+* timeout invocation::       タイムリミット付きでコマンドを実行する
 
 プロセス制御
 
@@ -490,8 +491,16 @@ SELinux コンテキスト
 数値の操作
 
 * factor invocation::        素因数を表示する
+* numfmt invocation::        数値を整形し直す
 * seq invocation::           数列を表示する
 
+@command{numfmt}: 数値を整形し直す
+* General options in numfmt::  一般オプション
+* Possible UNITs::             使用できる UNIT
+* Examples of using numfmt::   numfmt の使用例
+
+
 ファイルの許可属性
 
 * Mode Structure::           ファイルのモードビットの構成
@@ -539,24 +548,33 @@ Copying This Manual
 @node Introduction
 @chapter 序
 
-このマニュアルは作成の途上にある。たとえば、多くのセクションで、基本的な
-概念を初心者にわかりやすく説明するといった試みがなされていない。そこで、
-お願いがある。もし、関心がおありなら、このマニュアルの改良に参加して
-いただきたい。そうしていただければ、GNU コミュニティ全体が恩恵に浴する
-ことになる。
+このマニュアルは作成の途上にある。たとえば、多くのセクションで、
+基本的な概念を初心者にわかりやすく説明するといった試みがなされていない。
+そこで、お願いがある。もし、関心がおありなら、このマニュアルの改良に参加していただきたい。
+そうしていただければ、GNU コミュニティ全体が恩恵に浴することになる。
 
 @cindex POSIX
-このマニュアルで解説している GNU ユーティリティは、POSIX の規格に
-おおむね準拠している。
+このマニュアルで解説している GNU ユーティリティは、
+POSIX の規格におおむね準拠している。
 @cindex bugs, reporting
-バグの報告は、@email{bug-coreutils@@gnu.org} になさって
-いただきたい。そのとき、バージョン番号、マシンのアーキテクチャ、入力に
-使ったファイルといった情報はもとより、バグの再現に必要な他のいかなる
-情報も、忘れずに記載していただきたい。たとえば、どんな入力をしたか、
-どんな結果を期待していたか、実際の結果はどうだったか、それがおかしいと
-考える理由は何なのかといったことである。差分の投稿は歓迎するが、何がどう
-問題なのかの説明もやはり付けていただきたい。推測するのが難しいこともある
-からだ。@xref{Bugs, , , gcc, Using and Porting GNU CC}.
+
+バグの報告は、@email{bug-coreutils@@gnu.org} になさっていただきたい。
+そのとき、プログラムのバージョン番号、マシンのアーキテクチャ、
+入力に使ったファイルといった情報はもとより、
+バグの再現に必要な他のいかなる情報も、記載していただきたい。
+たとえば、どんな入力をしたか、どんな結果を期待していたか、実際の結果はどうだったか、
+それがおかしいと考える理由は何なのかといったことである。
+
+@command{sort} や @command{date} コマンドの動作に疑問がある場合は、@option{--debug}
+オプションを試してみていただきたい。
+その出力が手がかりになって、バグレポートに対する回答を待つまでもなく、
+問題の在り処を突き止め、解決できることも多いからだ。
+デバッグの出力が問題を自分で解決するのに十分でないときは、
+それを圧縮して、提出するバグレポートに添付していただきたい。
+
+差分の投稿は歓迎するが、何がどう問題なのかの説明もやはり付けていただきたい。
+推測するのが難しいこともあるからだ。
+@xref{Bugs, , , gcc, Using and Porting GNU CC}.
 
 @cindex Berry, K.
 @cindex Paterson, R.
@@ -565,31 +583,30 @@ Copying This Manual
 @cindex MacKenzie, D.
 @cindex Meyering, J.
 @cindex Youmans, B.
-このマニュアルは、ユーティリティ・プログラムの配布に含まれる Unix
-man page を元にして作られたものである。そうした man page は、David
-MacKenzie によって書かれ、Jim Meyering によって改訂されていた。現在読者
-がお読みになっているこのマニュアルは、そうしたユーティリティについての
-公式文書であり、man page の方は、今では改訂作業が行われていない。なお、
-@command{fmt} の最初の man page の著者は、 Ross Paterson だった。Texinfo 形式
-への変換を最初に行ったのは、Fran@,{c}ois Pinard である。Karl Berry が索引を
-作成し、構成に若干の変更を加えて、その結果に手を入れた。Free Software
-Foundation の職員である Brian Youman が textutils, fileutils, sh-utils
-のマニュアルを統合し、多数の項目を含む現在のマニュアルを作成した。こうした
-作業全般に渡って、Richard Stallman が例によって洞察力に富む貴重な意見を
-寄せてくれた。
+このマニュアルは、ユーティリティ・プログラムの配布に含まれる
+Unix man page を元にして作られたものである。そうした man page は、David MacKenzie
+によって書かれ、Jim Meyering によって改訂されていた。
+現在読者がお読みになっているこのマニュアルは、そうしたユーティリティについての公式文書であり、
+man page の方は、今では改訂作業が行われていない。なお、@command{fmt}
+の最初の man page の著者は、Ross Paterson だった。
+Texinfo 形式への変換を最初に行ったのは、Fran@,{c}ois Pinard である。
+Karl Berry が索引を作成し、構成に若干の変更を加えて、その結果に手を入れた。
+Free Software Foundation の職員である Brian Youman が
+textutils, fileutils, sh-utils のマニュアルを統合し、
+多数の項目を含む現在のマニュアルを作成した。こうした作業全般に渡って、
+Richard Stallman が例によって洞察力に富む貴重な意見を寄せてくれた。
 
 @node Common options
 @chapter 共通オプション
 
 @macro optBackup
 @item -b
-@itemx @w{@kbd{--backup}[=@var{method}]}
+@itemx --backup[=@var{method}]
 @opindex -b
 @opindex --backup
 @vindex VERSION_CONTROL
 @cindex backups, making
-@xref{Backup options}.  そのままでは、上書きされるか、消去されて
-しまう各ファイルのバックアップを作成する。
+@xref{Backup options}.  そのままでは、上書きされるか、消去されてしまう各ファイルのバックアップを作成する。
 @end macro
 
 @macro optBackupSuffix
@@ -597,13 +614,13 @@ Foundation の職員である Brian Youman が textutils, fileutils, sh-utils
 @itemx --suffix=@var{suffix}
 @opindex -S
 @opindex --suffix
-@option{-b} によって作られる各バックアップファイルの後ろに @var{suffix} を
-付ける。 @xref{Backup options}.
+@option{-b} によって作られる各バックアップファイルの後ろに
+@var{suffix} を付ける。 @xref{Backup options}.
 @end macro
 
 @macro optTargetDirectory
 @item -t @var{directory}
-@itemx @w{@kbd{--target-directory}=@var{directory}}
+@itemx --target-directory=@var{directory}
 @opindex -t
 @opindex --target-directory
 @cindex target directory
@@ -622,23 +639,50 @@ Foundation の職員である Brian Youman が textutils, fileutils, sh-utils
 でも、それを特別扱いしない。 @xref{Target directory}.
 @end macro
 
-@macro optNull{cmd}
+@macro outputNUL
+@cindex output NUL-byte-terminated lines
+各行の末尾に改行ではなく、ゼロバイト (ASCII NUL) を出力する。
+このオプションを使用すると、出力するデータに、途中に改行を挟むものがあっても、
+他のプログラムがその出力を解析できるようになる。
+@end macro
+
+@macro optNull
 @item -0
-@opindex -0
 @itemx --null
+@opindex -0
 @opindex --null
-@cindex output NUL-byte-terminated lines
-各行の末尾に改行ではなく、ゼロバイト (ASCII NUL) を出力する。この
-オプションを使用すると、@command{\cmd\} の出力するデータに、途中に改行を
-挟むものがあっても、他のプログラムがその出力を解析できるようになる。
+@outputNUL
+@end macro
+
+@macro optZero
+@item -z
+@itemx --zero
+@opindex -z
+@opindex --zero
+@outputNUL
+@end macro
+
+@macro optZeroTerminated
+@item -z
+@itemx --zero-terminated
+@opindex -z
+@opindex --zero-terminated
+@cindex process zero-terminated items
+項目の区切りに、改行 (ASCII LF) ではなく、ゼロバイトを使用する。
+すなわち、入力を ASCII NUL で分離された項目として扱い、出力する各項目の末尾に
+ASCII NUL を付加する。このオプションは、@samp{perl -0},
+@samp{find -print0}, @samp{xargs -0} などと組み合わせて使用すると、
+便利なことがある。そうしたコマンドでも、わがままなファイル名を
+(空白などの特殊文字を含んでいる場合でも) きちんと確実に処理するために、
+同様なことをしているのである。
 @end macro
 
 @macro optSi
 @item --si
 @opindex --si
 @cindex SI output
-各サイズにの後ろに、メガバイトなら @samp{M} といった、SI 形式の略号
-を付ける。1024 ではなく、1000 の累乗が使用されるので、@samp{M} は
+各サイズにの後ろに、メガバイトなら @samp{M} といった、SI 形式の略号を付ける。
+1024 ではなく、1000 の累乗が使用されるので、@samp{M} は
 1,000,000 バイトを表している。このオプションは、@option{--block-size=si}
 と同じことである。1024 の累乗が使いたければ、@option{-h} や
 @option{--human-readable} を使用すればよい。
@@ -650,15 +694,14 @@ Foundation の職員である Brian Youman が textutils, fileutils, sh-utils
 @opindex -h
 @opindex --human-readable
 @cindex human-readable output
-各サイズの後ろに、メビバイトなら @samp{M} といった、大きさを示す文字を
-付ける。1000 ではなく、1024 の累乗が使われるので、@samp{M} は 1,048,576
+各サイズの後ろに、メビバイトなら @samp{M} といった、大きさを示す文字を付ける。
+1000 ではなく、1024 の累乗が使われるので、@samp{M} は 1,048,576
 バイトを表している。このオプションは、@option{--block-size=human-readable}
-と同じである。1000 の累乗が使いたければ、"@option{--si} オプションを使用
-すればよい。
+と同じである。1000 の累乗が使いたければ、"@option{--si} オプションを使用すればよい。
 @end macro
 
 @macro optStripTrailingSlashes
-@item @w{@kbd{--strip-trailing-slashes}}
+@item --strip-trailing-slashes
 @opindex --strip-trailing-slashes
 @cindex stripping trailing slashes
 @var{source} 引数の後ろにスラッシュが付いていたら、それを削除する。
@@ -668,20 +711,18 @@ Foundation の職員である Brian Youman が textutils, fileutils, sh-utils
 @macro mayConflictWithShellBuiltIn{cmd}
 @cindex conflicts with shell built-ins
 @cindex built-in shell commands, conflicts with
-シェルの組み込み機能の @command{\cmd\} やエイリアスのために、@command{\cmd\} に何の
-修飾も付けずに対話的に使ったり、スクリプトの中で使ったりすると、動作が
-ここで述べているものとは違うことがあるかもしれない。シェルによる干渉を
-避けるためには、@command{env} 経由で @command{\cmd\} を起動すればよい (すなわち、
-@code{env \cmd\ @dots{}} のようにだ)。
+シェルの組み込み機能の @command{\cmd\} やエイリアスのために、
+@command{\cmd\} に何の修飾も付けずに対話的に使ったり、スクリプトの中で使ったりすると、
+動作がここで述べているものとは違うことがあるかもしれない。
+シェルによる干渉を避けるためには、@command{env} 経由で @command{\cmd\}
+を起動すればよい (すなわち、@code{env \cmd\ @dots{}} のようにだ)。
 
 @end macro
 
 @macro multiplierSuffixes{varName}
 @var{\varName\} は、整数であり、
-以下に挙げるような何倍かを示す接尾辞を
-後ろに付けることもできる。
-接尾辞だけ指定してもよい (訳注: その場合は、1 が前にあるものと
-見なされる)。
+以下に挙げるような何倍かを示す接尾辞を後ろに付けることもできる。接尾辞だけ指定してもよい
+(訳注: その場合は、1 が前にあるものと見なされる)。
 @example
 @samp{b}  =>            512 ("blocks")
 @samp{KB} =>           1000 (KiloBytes)
@@ -697,10 +738,8 @@ Foundation の職員である Brian Youman が textutils, fileutils, sh-utils
 @c FIXME: same as above, but no ``blocks'' line.
 @macro multiplierSuffixesNoBlocks{varName}
 @var{\varName\} は、整数であり、
-以下に挙げるような何倍かを示す接尾辞を
-後ろに付けることもできる。
-接尾辞だけ指定してもよい (訳注: その場合は、1 が前にあるものと
-見なされる)。
+以下に挙げるような何倍かを示す接尾辞を後ろに付けることもできる。接尾辞だけ指定してもよい
+(訳注: その場合は、1 が前にあるものと見なされる)。
 @example
 @samp{KB} =>           1000 (KiloBytes)
 @samp{K}  =>           1024 (KibiBytes)
@@ -714,39 +753,35 @@ Foundation の職員である Brian Youman が textutils, fileutils, sh-utils
 
 @cindex common options
 
-いくつかのオプションは、このマニュアルで取り上げるすべてのプログラムで
-利用することができる。そうしたオプションについては、個々のプログラムで
-同じ説明を繰り返すことはせず、この場で説明しておく (実のところ、こうした
-オプションは、GNU のすべてのプログラムで使用できる (はずである))。
+いくつかのオプションは、このマニュアルで取り上げるすべてのプログラムで利用することができる。
+そうしたオプションについては、個々のプログラムで同じ説明を繰り返すことはせず、この場で説明しておく
+(実のところ、そうしたオプションは、GNU のすべてのプログラムで使用できる (はずである))。
 
 @vindex POSIXLY_CORRECT
-通常、オプションとオペランドは、どんな順番で指定してもよい。プログ
\83©ã\83 ã\81¯ã\80\81ã\81\99ã\81¹ã\81¦ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81\8cã\81\84ã\81\8bã\81ªã\82\8bã\82ªã\83\9aã\83©ã\83³ã\83\89ã\82\88ã\82\8aã\82\82å\89\8dã\81«ã\81\82ã\82\8bã\81\8bã\81®ã\81\94ã\81¨ã\81\8f
-振る舞うようになっている。たとえば、@samp{sort -r passwd -t :} は、@samp{:} が
-@option{-t} のオプション引数 (option-argument) なので、@samp{sort -r -t : passwd}
-と同じ動作をする。しかしながら、環境変数 @env{POSIXLY_CORRECT} が設定されて
\81\84ã\82\8bå ´å\90\88ã\81¯ã\80\81ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯ã\82ªã\83\9aã\83©ã\83³ã\83\89ã\81®å\89\8dã\81«ç½®ã\81\8bã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82ã\81\9fã\81 ã\81\97ã\80\81
\82ªã\83\97ã\82·ã\83§ã\83³ã\81¨ã\82ªã\83\9aã\83©ã\83³ã\83\89ã\81®é \86ç\95ªã\81«ã\81¤ã\81\84ã\81¦ã\80\81ã\81\9dã\81®ã\82³ã\83\9eã\83³ã\83\89ã\81«å\88¥ã\81®æ±ºã\81¾ã\82\8aã\81\8cã\81\82ã\82\8b
-ときはこのかぎりではない。
-
-若干のプログラムでは、二番目以降のオペランドとして先頭に @samp{-} が付く
\82ªã\83\9aã\83©ã\83³ã\83\89ã\81\8c使ã\81\88ã\82\8bã\81¨é\83½å\90\88ã\81\8cã\82\88ã\81\84ã\80\82ã\81\9dã\81\86ã\81\97ã\81\9fã\83\97ã\83­ã\82°ã\83©ã\83 ã\81§ã\81¯ã\80\81@env{POSIXLY_CORRECT}
\81\8c設å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84å ´å\90\88ã\81§ã\82\82ã\80\81ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92ã\82ªã\83\9aã\83©ã\83³ã\83\89ã\81®å\89\8dã\81«ç½®ã\81\8få¿\85è¦\81ã\81\8cã\81\82ã\82\8bã\80\82
+通常、オプションとオペランドは、どんな順番で指定してもよい。
\83\97ã\83­ã\82°ã\83©ã\83 ã\81¯ã\80\81ã\81\99ã\81¹ã\81¦ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81\8cã\81\84ã\81\8bã\81ªã\82\8bã\82ªã\83\9aã\83©ã\83³ã\83\89ã\82\88ã\82\8aã\82\82å\89\8dã\81«ã\81\82ã\82\8bã\81\8bã\81®ã\81\94ã\81¨ã\81\8fæ\8c¯ã\82\8bè\88\9eã\81\86ã\82\88ã\81\86ã\81«ã\81ªã\81£ã\81¦ã\81\84ã\82\8bã\80\82
+たとえば、@samp{sort -r passwd -t :} は、@samp{:} が @option{-t}
+のオプション引数 (option-argument) なので、@samp{sort -r -t : passwd}
+と同じ動作をする。しかしながら、環境変数 @env{POSIXLY_CORRECT}
\81\8c設å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bå ´å\90\88ã\81¯ã\80\81ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯ã\82ªã\83\9aã\83©ã\83³ã\83\89ã\81®å\89\8dã\81«ç½®ã\81\8bã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82
\81\9fã\81 ã\81\97ã\80\81ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¨ã\82ªã\83\9aã\83©ã\83³ã\83\89ã\81®é \86ç\95ªã\81«ã\81¤ã\81\84ã\81¦ã\80\81ã\81\9dã\81®ã\82³ã\83\9eã\83³ã\83\89ã\81«å\88¥ã\81®æ±ºã\81¾ã\82\8aã\81\8cã\81\82ã\82\8bã\81¨ã\81\8dã\81¯ã\81\93ã\81®ã\81\8bã\81\8eã\82\8aã\81§ã\81¯ã\81ªã\81\84ã\80\82
+
+若干のプログラムでは、二番目以降のオペランドとして先頭に
+@samp{-} が付くオペランドが使えると都合がよい。
\81\9dã\81\86ã\81\97ã\81\9fã\83\97ã\83­ã\82°ã\83©ã\83 ã\81§ã\81¯ã\80\81@env{POSIXLY_CORRECT} ã\81\8c設å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84å ´å\90\88ã\81§ã\82\82ã\80\81
+オプションをオペランドの前に置く必要がある。
 そこで、そうしたプログラムの説明には、その旨注意書きを付けておいた。
-たとえば、@command{env} コマンドのオプションは、オペランドの前に置かなければ
-ならない。オペランドとして指定したコマンドが、それ自身のオプションを
-伴うことがあるからだ。
+たとえば、@command{env} コマンドのオプションは、オペランドの前に置かなければならない。
+オペランドとして指定したコマンドが、それ自身のオプションを伴うことがあるからだ。
 
-ロングオプションが使えるたいていのプログラムは、誤解の余地がない
-かぎり、そうしたオプションの省略形を認識する。たとえば、@samp{rmdir
---ignore-fail-on-non-empty} は、@samp{rmdir --ignore-fail} という形でも
-起動できるし、@samp{rmdir --i} でも大丈夫だ。@samp{ls --h} のような誤解の余地の
-あるオプションは、まさに曖昧だと判定される。
+ロングオプションが使えるたいていのプログラムは、誤解の余地がないかぎり、そうしたオプションの省略形を認識する。
+たとえば、@samp{rmdir --ignore-fail-on-non-empty} は、@samp{rmdir --ignore-fail}
+という形でも起動できるし、@samp{rmdir --i} でも大丈夫だ。
+@samp{ls --h} のような誤解の余地のあるオプションは、まさに曖昧だと判定される。
 
 このマニュアルで説明するプログラムの中には、@option{--help} や @option{--version}
-オプションを、それが唯一のコマンドライン引数である場合にしか、認識
-しないものがある。そうしたプログラムの場合、ロングオプションの省略形
-は、常に認識されるとはかぎらない。
+オプションを、それが唯一のコマンドライン引数である場合にしか、認識しないものがある。
+そうしたプログラムの場合、ロングオプションの省略形は、常に認識されるとはかぎらない。
 
 @table @samp
 
@@ -763,21 +798,21 @@ Foundation の職員である Brian Youman が textutils, fileutils, sh-utils
 @item --
 @opindex --
 @cindex option delimiter
-オプション群の末尾を示す。これ以降に引数があれば、それが @samp{-} で
-始まっている場合でも、オペランドとして扱われる。たとえば、@samp{sort -- -r}
+オプション群の末尾を示す。これ以降に引数があれば、それが @samp{-}
+始まっている場合でも、オペランドとして扱われる。たとえば、@samp{sort -- -r}
 は、@file{-r} という名前のファイルから読み込むということである。
 
 @end table
 
 @cindex standard input
 @cindex standard output
-単独の @samp{-} はオペランドであって、オプションのように見えるが、オプ
-ションでは全くない。単独の @samp{-} は、標準入力、または標準出力を表して
-いる。後者は、前後の状況からそれが明らかな場合だ。たとえば、@samp{sort -}
+単独の @samp{-} はオペランドであって、オプションのように見えるが、
+オプションでは全くない。単独の @samp{-} はファイル・オペランドであり、
+プログラム次第で、標準入力、あるいは標準出力として扱われる。
+後者は、前後の状況からそれが明らかな場合だ。たとえば、@samp{sort -}
 は、標準入力から読み込むということであり、ただの @samp{sort} と同じである。
-また、@samp{tee -} は、入力したもののコピーを標準出力に二重に書き出す。使用
-できないとはっきり断っていないかぎり、@samp{-} は、ファイル名が要求される
-いかなるところでもオペランドとして使用することができる。
+使用できないとはっきり断っていないかぎり、@samp{-}
+は、ファイル名が要求されるいかなるところでもオペランドとして使用することができる。
 
 @menu
 * Exit status::              プログラムが成功したか失敗したかの指標。
@@ -785,7 +820,8 @@ Foundation の職員である Brian Youman が textutils, fileutils, sh-utils
 * Block size::               ブロックサイズ (BLOCK_SIZE と --block-size)。
 * Floating point::           浮動小数点数の表現。
 * Signal specifications::    --signal オプションによるシグナルの指定。
-* Disambiguating names and IDs::  chgrp や chown のシンタクス。
+* Disambiguating names and IDs::  chgrp, chown, chroot, id における
+                                    ユーザやグループの指定法。
 * Random sources::           ランダムデータのソース (--random-source)。
 * Target directory::         出力先ディレクトリの指定。
 * Trailing slashes::         末尾のスラッシュ (--strip-trailing-slashes)。
@@ -793,6 +829,7 @@ Foundation の職員である Brian Youman が textutils, fileutils, sh-utils
 * Treating / specially::     --preserve-root や --no-preserve-root の使用。
 * Special built-in utilities::  組み込みコマンド @command{break}, @command{:} など。
 * Standards conformance::    POSIX 規格への準拠。
+* Multi-call invocation::    Multi-call プログラムの起動。
 @end menu
 
 
@@ -804,19 +841,18 @@ Foundation の職員である Brian Youman が textutils, fileutils, sh-utils
 @end macro
 
 ほとんどすべてのコマンドは、実行すると、整数の終了ステータス
-(@dfn{exit status}) を返し、それは他のコマンドの動作を変更するために使用することが
-できる。大多数のコマンドにとって、終了ステータス @samp{0} は成功を意味して
-いる。失敗は @samp{0} 以外の値によって示され、通常は @samp{1} であるが、非標準的な
-プラットフォームでは違うこともある。POSIX の規定が、@samp{0} 以外であること
-しか要求していないからである。
+(@dfn{exit status}) を返し、それは他のコマンドの動作を変更するために使用することができる。
+大多数のコマンドにとって、終了ステータス @samp{0} は成功を意味している。
+失敗は @samp{0} 以外の値によって示され、たいていは @samp{1} だが、
+非標準的なプラットフォームでは違うこともある。POSIX の規定が、@samp{0}
+以外であることしか要求していないからである。
 
-しかしながら、ここで詳述しているプログラムの中にも、終了ステータスと
-して上記以外の値を返すものがあり、@samp{0} や @samp{1} という値に別の意味を与えて
-いるプログラムさえ、少数ながら存在する。そうした例外的なプログラムとして
-は、@command{chroot}, @command{env}, @command{expr}, @command{nice},
-@command{nohup}, @command{numfmt}, @command{printenv},
-@command{sort}, @command{stdbuf}, @command{test}, @command{timeout},
-@command{tty} などを挙げることができる。
+しかしながら、ここで詳述しているプログラムの中にも、終了ステータスとして上記以外の値を返すものがあり、
+@samp{0} や @samp{1} という値に別の意味を与えているプログラムさえ、少数ながら存在する。
+そうした例外的なプログラムとしては、@command{chroot}, @command{env},
+@command{expr}, @command{nice}, @command{nohup}, @command{numfmt},
+@command{printenv}, @command{sort}, @command{stdbuf}, @command{test},
+@command{timeout}, @command{tty} などを挙げることができる。
 
 
 @node Backup options
@@ -825,37 +861,34 @@ Foundation の職員である Brian Youman が textutils, fileutils, sh-utils
 @cindex backup options
 
 GNU のプログラムの中には、ファイルの新しいバージョンを書き出す前に、
-もしそうしたければ、バックアップを作成できるものがある (少なくとも
-@command{cp}, @command{install}, @command{ln}, @command{mv}
-がそうだ)。下記のオプションは、そうした
-バックアップを細かく制御する。こうしたオプションについては、個々の
-プログラムの説明でも簡単に触れている。
+もしそうしたければ、バックアップを作成できるものがある
+(少なくとも @command{cp}, @command{install}, @command{ln}, @command{mv}
+がそうだ)。下記のオプションは、そうしたバックアップを細かく制御する。
+こうしたオプションについては、個々のプログラムの説明でも簡単に触れている。
 
 @table @samp
 
 @item -b
-@itemx @w{@kbd{--backup}[=@var{method}]}
+@itemx --backup[=@var{method}]
 @opindex -b
 @opindex --backup
 @vindex VERSION_CONTROL
 @cindex backups, making
-通常では上書きされたり、消去されたりする各ファイルのバックアップを
-作成する。このオプションを指定しないと、元のバージョンは破棄される
-わけだ。作成するバックアップのタイプを決めるには、@var{method} を使用
-する。@var{method} を指定せずに、このオプションを使った場合は、環境変数
-@env{VERSION_CONTROL} の値が使用される。@env{VERSION_CONTROL} が設定されて
-いない場合、デフォルトのバックアップタイプは @samp{existing} である。
+通常では上書きされたり、消去されたりする各ファイルのバックアップを作成する。
+このオプションを指定しないと、元のバージョンは破棄されるわけだ。
+作成するバックアップのタイプを決めるには、@var{method} を使用する。
+@var{method} を指定せずに、このオプションを使った場合は、環境変数
+@env{VERSION_CONTROL} の値が使用される。@env{VERSION_CONTROL}
\81\8c設å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84å ´å\90\88ã\80\81ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81®ã\83\90ã\83\83ã\82¯ã\82¢ã\83\83ã\83\97ã\82¿ã\82¤ã\83\97ã\81¯ @samp{existing} ã\81§ã\81\82ã\82\8bã\80\82
 
-このオプションの短縮形である @option{-b} は、引数を取らないことに注意して
-いただきたい。@option{-b} の使用は、@option{--backup=existing} を使用するのと
-同じことである。
+このオプションの短縮形である @option{-b} は、引数を取らないことに注意していただきたい。
+@option{-b} の使用は、@option{--backup=existing} を使用するのと同じことである。
 
 @vindex version-control @r{Emacs variable}
 このオプションは、Emacs の @samp{version-control} 変数に対応している。
-すなわち、@var{method} に指定する値は、Emacs で使用される値と同じもの
-である。とは言え、このオプションでは、より説明的な名前も使用できる。
-@var{method} の有効な値は、以下のものである (他と区別できるならば、省略
-した表現も使用できる)。
+すなわち、@var{method} に指定する値は、Emacs で使用される値と同じものである。
+とは言え、このオプションでは、より説明的な名前も使用できる。
+@var{method} の有効な値は、以下のものである (他と区別できるならば、省略した表現も使用できる)。
 
 @table @samp
 @item none
@@ -871,10 +904,9 @@ GNU のプログラムの中には、ファイルの新しいバージョンを
 @item existing
 @itemx nil
 @opindex existing @r{backup method}
-番号付きのバックアップがすでに存在する場合は番号付きで、それ
-以外の場合は単純形式で、ファイルのバックアップを作成する。
-(訳注: 単純形式というのは、バックアップファイル名に番号を付け
-ない形式である、@option{--suffix=@var{suffix}} の説明を参照。)
+番号付きのバックアップがすでに存在する場合は番号付きで、それ以外の場合は単純形式で、ファイルのバックアップを作成する。
+(訳注: 単純形式というのは、バックアップファイル名に番号を付けない形式である。
+@option{--suffix=@var{suffix}} の説明を参照。)
 
 @item simple
 @itemx never
@@ -890,11 +922,11 @@ GNU のプログラムの中には、ファイルの新しいバージョンを
 @opindex --suffix
 @cindex backup suffix
 @vindex SIMPLE_BACKUP_SUFFIX
-@option{-b} で作成される各バックアップファイルの名前の末尾に @var{suffix} を
-付ける。このオプションが指定されていない場合は、環境変数
+@option{-b} で作成される各バックアップファイルの名前の末尾に
+@var{suffix} を付ける。このオプションが指定されていない場合は、環境変数
 @env{SIMPLE_BACKUP_SUFFIX} の値が使用される。@env{SIMPLE_BACKUP_SUFFIX}
-が設定されていない場合、デフォルトの @var{suffix} は Emacs の場合と
-同じで、チルダ @samp{~} である。
+が設定されていない場合、デフォルトの @var{suffix} は
+Emacs の場合と同じで、チルダ @samp{~} である。
 
 @end table
 
@@ -903,9 +935,9 @@ GNU のプログラムの中には、ファイルの新しいバージョンを
 
 @cindex block size
 
-GNU プログラムには、ディスクの使用量を「ブロック数」で表示するものが
-いくつかある (少なくとも、@command{df}, @command{du},@command{ls} がそうだ)。ブロックのサイズや
-表示の書式は、使用量をわかりやすくするために、変更することができる。
+GNU プログラムには、ディスクの使用量を「ブロック数」で表示するものがいくつかある
+(少なくとも、@command{df}, @command{du},@command{ls} がそうだ)。
+ブロックのサイズや表示の書式は、使用量をわかりやすくするために、変更することができる。
 表示に使用されるブロックサイズは、ファイルシステムのブロックサイズとは、
 無関係である。ブロック数に端数が出る場合は、切り上げて整数にする。
 
@@ -917,85 +949,83 @@ GNU プログラムには、ディスクの使用量を「ブロック数」で
 @vindex LS_BLOCK_SIZE
 @vindex POSIXLY_CORRECT@r{, and block size}
 
-デフォルトのブロックサイズの選択は、次の環境変数を順番に調べることで
¡\8cã\82\8fã\82\8cã\82\8bã\80\82設å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bæ\9c\80å\88\9dã\81®ã\82\82ã\81®ã\81\8cã\83\96ã\83­ã\83\83ã\82¯ã\82µã\82¤ã\82ºã\82\92決ã\82\81ã\82\8bã\81\93ã\81¨ã\81«ã\81ªã\82\8bã\80\82
+デフォルトのブロックサイズの選択は、次の環境変数を順番に調べることで行われる。
+設定されている最初のものがブロックサイズを決めることになる。
 
 @table @code
 
 @item DF_BLOCK_SIZE
-この環境変数は、@command{df} コマンドで使うデフォルトのブロックサイズを
-指定している。同様に、@env{DU_BLOCK_SIZE} は @command{du} のデフォルトを、
+この環境変数は、@command{df} コマンドで使うデフォルトのブロックサイズを指定している。
+同様に、@env{DU_BLOCK_SIZE} は @command{du} のデフォルトを、
 @env{LS_BLOCK_SIZE} は @command{ls} のデフォルトを指定している。
 
 @item BLOCK_SIZE
-この環境変数は、上記のようなコマンド専用の環境変数が設定されて
-いない場合に、三つのコマンドのすべてが使用するデフォルトの
-ブロックサイズを指定している。
+この環境変数は、上記のようなコマンド専用の環境変数が設定されていない場合に、
+三つのコマンドのすべてが使用するデフォルトのブロックサイズを指定している。
 
 @item BLOCKSIZE
-この環境変数は、上記のようなコマンド専用の環境変数と @env{BLOCK_SIZE}
-のどちらも設定されていない場合に、通常、ブロック数として表示される
-すべての値が使用するデフォルトのブロックサイズを指定している。
-ほかの環境変数とは違って、@env{BLOCKSIZE} は、たとえば @code{ls -l} の出力に
-含まれるファイルサイズのような、通常バイト数として表示される値には
-影響を及ぼさない。
+この環境変数は、上記のようなコマンド専用の環境変数と @env{BLOCK_SIZE} のどちらも設定されていない場合に、
+通常、ブロック数として表示されるすべての値が使用するデフォルトのブロックサイズを指定している。
+ほかの環境変数とは違って、@env{BLOCKSIZE} は、たとえば @code{ls -l}
+の出力に含まれるファイルサイズのような、通常バイト数として表示される値には影響を及ぼさない。
 
 @item POSIXLY_CORRECT
-@env{@var{command}_BLOCK_SIZE}, @env{BLOCK_SIZE}, @env{BLOCKSIZE} のいづれも
-設定されていず、この変数が設定されている場合は、ブロックサイズの
-デフォルトは、512 バイトになる。
+@env{@var{command}_BLOCK_SIZE}, @env{BLOCK_SIZE}, @env{BLOCKSIZE}
+のいづれも設定されていず、この変数が設定されている場合は、
\83\96ã\83­ã\83\83ã\82¯ã\82µã\82¤ã\82ºã\81®ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81¯ã\80\81512 ã\83\90ã\82¤ã\83\88ã\81«ã\81ªã\82\8bã\80\82
 
 @end table
 
-上記の環境変数のいづれも設定されていない場合、ブロックサイズの
\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81¯ã\80\81ç\8f¾å\9c¨ã\81®ã\81¨ã\81\93ã\82\8dã\81\9fã\81\84ã\81¦ã\81\84ã\81®å ´å\90\88ã\80\81 1024 ã\83\90ã\82¤ã\83\88ã\81§ã\81\82ã\82\8bã\80\82ã\81\9fã\81 ã\81\97ã\80\81
\81\93ã\81®æ\95°å\80¤ã\81¯ã\80\81å°\86æ\9d¥å¤\89æ\9b´ã\81\95ã\82\8cã\82\8bã\81\8bã\82\82ã\81\97ã\82\8cã\81ªã\81\84ã\80\82ã\81ªã\81\8aã\80\81@command{ls} ã\81®è¡¨ç¤ºã\81\99ã\82\8bã\83\95ã\82¡ã\82¤ã\83«
-サイズについては、ブロックサイズのデフォルトは 1 バイトである。
+上記の環境変数のいづれも設定されていない場合、
\83\96ã\83­ã\83\83ã\82¯ã\82µã\82¤ã\82ºã\81®ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81¯ã\80\81ç\8f¾å\9c¨ã\81®ã\81¨ã\81\93ã\82\8dã\81\9fã\81\84ã\81¦ã\81\84ã\81®å ´å\90\88ã\80\81 1024 ã\83\90ã\82¤ã\83\88ã\81§ã\81\82ã\82\8bã\80\82
\81\9fã\81 ã\81\97ã\80\81ã\81\93ã\81®æ\95°å\80¤ã\81¯ã\80\81å°\86æ\9d¥å¤\89æ\9b´ã\81\95ã\82\8cã\82\8bã\81\8bã\82\82ã\81\97ã\82\8cã\81ªã\81\84ã\80\82ã\81ªã\81\8aã\80\81@command{ls}
\81®è¡¨ç¤ºã\81\99ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\82µã\82¤ã\82ºã\81«ã\81¤ã\81\84ã\81¦ã\81¯ã\80\81ã\83\96ã\83­ã\83\83ã\82¯ã\82µã\82¤ã\82ºã\81®ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81¯ 1 ã\83\90ã\82¤ã\83\88ã\81§ã\81\82ã\82\8bã\80\82
 
 @cindex human-readable output
 @cindex SI output
 
-ブロックサイズの指定には、1 ブロックあたりのバイト数を示す正の整数を
-使えばよい。あるいは、@code{human-readable} や @code{si} を指定して、「人間に読み
\82\84ã\81\99ã\81\84ã\80\8dæ\9b¸å¼\8fã\82\92é\81¸ã\81¶ã\81\93ã\81¨ã\82\82ã\81§ã\81\8dã\82\8bã\80\82æ\95´æ\95°ã\81«ã\81¯æ\8e¥å°¾è¾\9e (suffix) ã\82\92ä»\98ã\81\91ã\82\8bã\81\93ã\81¨ã\81\8c
-できるが、そうした接尾辞は、@samp{10} の累乗倍 (訳注: 10^3 倍、10^6 倍など)
-を示す場合は、SI (国際単位系) の単位の前に付ける接頭辞 (prefix) の上位
-互換であり、@samp{2} の累乗倍 (訳注: 2^10 倍、2^20 倍など) を示す場合は、
-ISO/IEC 80000-13 (以前は IEC 60027-2 だった) の接頭辞の上位互換である。
-単位の前に付ける接頭辞については、次の URL を参照していただきたい。@*
-@uref{http://www.bipm.org/en/si/si_brochure/chapter3/prefixes.html, SI
+ブロックサイズの指定には、1 ブロックあたりのバイト数を示す正の整数を使えばよい。
+あるいは、@code{human-readable} や @code{si} を指定して、
\80\8c人é\96\93ã\81«èª­ã\81¿ã\82\84ã\81\99ã\81\84ã\80\8dæ\9b¸å¼\8fã\82\92é\81¸ã\81¶ã\81\93ã\81¨ã\82\82ã\81§ã\81\8dã\82\8bã\80\82
+整数の後ろには接尾辞 (suffix) を続けてもよい。そうした接尾辞は、単位の前に付けて
+@samp{10} の累乗倍を表す SI (国際単位系) の接頭辞 (prefix) や、
+@samp{2} の累乗倍を表す ISO/IEC 80000-13 (以前は IEC 60027-2 だった)
+の接頭辞の上位互換である。単位の前に付ける接頭辞については、
+次の URL を参照していただきたい。@*
+@uref{http://www.bipm.org/en/publications/si-brochure/chapter3.html, SI
 prefixes:}.
 @uref{http://physics.nist.gov/cuu/Units/binary.html, ISO/IEC 80000-13
 prefixes:}.
 
-「人間に読みやすい」書式の場合、出力するサイズの後ろに、メガバイト
-なら @samp{M} といった、大きさを表す文字が続く。@code{BLOCK_SIZE=human-readable}
+「人間に読みやすい」書式の場合、出力するサイズの後ろに、メガバイトなら
+@samp{M} といった、大きさを表す文字が続く。@code{BLOCK_SIZE=human-readable}
 の方は、1024 の累乗を使うので、@samp{M} は 1,048,576 バイトを意味している。
 @code{BLOCK_SIZE=si} も似ているが、こちらは 1000 の累乗を使用し、さらに @samp{B}
-という文字を追加する。そこで、@samp{MB} は 1,000,000 バイトを意味すること
-になる。
+という文字を追加する。そこで、@samp{MB} は 1,000,000 バイトを意味することになる。
 
 @vindex LC_NUMERIC
-ブロックサイズの指定の先頭に @samp{'} を付けると、出力するサイズを数桁
-ごとに区切って表示することができる。区切りに使う記号や区切りの位置は、
-@env{LC_NUMERIC} のロケールによって決まる。たとえば、アメリカ英語のロケール
-では、@samp{--block-size="'1kB"} と指定すれば、1234000 バイトという容量が
-@samp{1,234} と表示されることになるだろう。デフォルトの C ロケールの場合は、
+ブロックサイズの指定の先頭に @samp{'} を付けると、
+出力するサイズを数桁ごとに区切って表示することができる。
+区切りに使う記号や区切りの位置は、@env{LC_NUMERIC} のロケールによって決まる。
+たとえば、アメリカ英語のロケールでは、@samp{--block-size="'1kB"}
+と指定すれば、1234000 バイトという容量が @samp{1,234}
+と表示されることになるだろう。デフォルトの C ロケールの場合は、
 区切り記号が存在しないので、先頭の @samp{'} に効果はない。
 
-ブロックサイズを指定する整数の後ろには、接尾辞を付けて、その整数の
-何倍かを示すことができる。大きさを表す (訳注: M, G などの) 文字の後ろに
-何も続けないときや、@samp{iB} を続けるときは、1024 の累乗倍ということである。
-それに対して、大きさを表す文字に @samp{B} を続ける場合は、1000 の累乗倍
-ということになる。たとえば、@samp{1M} や @samp{1MiB} は @samp{1048576} と同じであり、
+ブロックサイズを指定する整数の後ろには、接尾辞を付けて、
+その整数の何倍かを示すことができる。大きさを表す (訳注: M, G などの)
+文字の後ろに何も続けないときや、@samp{iB} を続けるときは、
+1024 の累乗倍ということである。それに対して、大きさを表す文字に
+@samp{B} を続ける場合は、1000 の累乗倍ということになる。
+たとえば、@samp{1M} や @samp{1MiB} は @samp{1048576} と同じであり、
 @samp{1MB} は @samp{1000000} と同じである。
 
-整数を前に付けずに、接尾辞だけを指定したときの動作は、@samp{1} が前に
-付いているときとほぼ同じだが、大きさの表示が出力の後ろに付く点が違う。
+整数を前に付けずに、接尾辞だけを指定したときの動作は、
+@samp{1} が前に付いているときとほぼ同じだが、大きさの表示が出力の後ろに付く点が違う。
 たとえば、@samp{--block-size="kB"} は、3000 を @samp{3kB} という形で表示する。
 
-以下の接尾辞が定義されている。@code{1Y} のような大きな量は、算術計算の
-限界のためにお使いのコンピュータでは使用できないかもしれない。
+以下の接尾辞が定義されている。@code{1Y} のような大きな量は、
+算術計算の限界のためにお使いのコンピュータでは使用できないかもしれない。
 
 @table @samp
 @item kB
@@ -1005,11 +1035,12 @@ prefixes:}.
 @itemx K
 @itemx KiB
 @cindex kibibyte, definition of
-キビバイト (kibibyte): @math{2^{10} = 1024} バイト。@samp{K} も使えるのは、おまけ
-である。なお本来、SI の接頭辞 (訳注: すなわち @math{10^3} 倍を表す接頭辞)
-が @samp{k} であり、ISO/IEC 80000-13 の接頭辞 (訳注: すなわち @math{2^{10}} 倍を
-表す接頭辞) が @samp{Ki} だが、これまでの習慣や POSIX の用法では、@samp{KiB}
-の意味で @samp{k} を使っている。
+キビバイト (kibibyte): @math{2^{10} = 1024} バイト。
+@samp{K} も使えるのは、おまけである。なお本来、SI の接頭辞
+(訳注: すなわち @math{10^3} 倍を表す接頭辞) が @samp{k} であり、
+ISO/IEC 80000-13 の接頭辞 (訳注: すなわち @math{2^{10}} 倍を表す接頭辞)
+が @samp{Ki} だが、これまでの習慣や POSIX の用法では、
+@samp{KiB} の意味で @samp{k} を使っている。
 @item MB
 @cindex megabyte, definition of
 メガバイト (megabyte): @math{10^6 = 1,000,000} バイト。
@@ -1068,50 +1099,56 @@ prefixes:}.
 デフォルトのブロックサイズは、コマンドに対して @option{--block-size=@var{size}}
 オプションを明示的に指定することで、上書きすることができる。@option{-k}
 オプションは、@option{--block-size=1K} と同じであり、環境変数 @env{POSIXLY_CORRECT}
-が設定されていないときのデフォルトである。@option{-h} オプションや @option{--human
--readable} オプションは、@option{--block-size=human-readable} と同じである。
-@option{--si} オプションは、@option{--block-size=si} と同じだ。なお、@command{ls} コマンドの
-場合、@option{-k} オプションはファイルの見かけのサイズの表示に影響しないのに
-対し、@option{--block-size} オプションは影響することに注意していただきたい。
+が設定されていないときのデフォルトである。@option{-h} オプションや
+@option{--human-readable} オプションは、@option{--block-size=human-readable}
+と同じである。@option{--si} オプションは、@option{--block-size=si} と同じだ。
+なお、@command{ls} コマンドの場合、
+@option{-k} オプションはファイルの見かけのサイズの表示に影響しないのに対し、
+@option{--block-size} オプションは影響することに注意していただきたい。
 
 @node Floating point
 @section 浮動小数点数
 @cindex floating point
 @cindex IEEE floating point
 
-浮動小数点数を受け取ったり、生成したりするコマンドは、下層で動いている
-システムの浮動小数点表現法を使用しており、丸めエラー、オーバーフローなど、
-浮動小数点にかかわる問題をかかえている。最近のシステムでは、ほとんど
-すべてが IEEE-754 の浮動小数点を採用しているので、今日では IEEE-754 の
-動作を想定しておけば、たいていどこでも問題がない。IEEE-754 には、正と負
-の無限があり、正と負のゼロを区別する。また、NaN (訳注: not a number)
-という特別な値を使って、ゼロをゼロで割るといった無効な演算を表現する。
+浮動小数点数を受け取ったり、生成したりするコマンドは、
+下層で動いているシステムの浮動小数点表現法を使用しており、
+丸めエラー、オーバーフローなど、浮動小数点にかかわる問題をかかえている。
+最近のシステムでは、ほとんどすべてが IEEE-754 の浮動小数点を採用しているので、
+今日では IEEE-754 の動作を想定しておけば、たいていどこでも問題がない。
+IEEE-754 には、正と負の無限があり、正と負のゼロを区別する。
+また、NaN (訳注: Not a Number) という特別な値を使って、
+ゼロをゼロで割るといった無効な演算を表現する。
 より詳しい情報については、デイビッド・ゴールドバーグの論文
-@uref{http://@/www.validlab.com/@/goldberg/@/paper.pdf, "What Every Computer
-Scientist Should Know About Floating-Point Arithmetic"} をご覧になるとよい。
+@uref{http://@/www.validlab.com/@/goldberg/@/paper.pdf,
+"What Every Computer Scientist Should Know About Floating-Point Arithmetic"}
+をご覧になるとよい。
 
 @vindex LC_NUMERIC
 浮動小数点数をオプションやオペランドや入力として受け取るコマンドは、
-C の標準関数 @code{strtod} や @code{strtold} を使って、テキストを浮動小数点数に
-変換している。従って、そうした浮動小数点数には、@code{1.0e-34} や @code{-10e100}
-といった指数表現が使用できる。最近の C の実装では、16 進の浮動小数点数
-も使える。たとえば、@code{-0x.ep-3} といったものだが、これは @minus{}14/16 掛ける
+C の標準関数 @code{strtod} や @code{strtold} を使って、
+テキストを浮動小数点数に変換している。従って、そうした浮動小数点数には、
+@code{1.0e-34} や @code{-10e100} といった指数表現が使用できる。
+浮動小数点を解析するコマンドは、大文字小文字を区別しない @code{inf},
+@code{infinity},@code{NaN} といった値も理解する。
+もっとも、そうした値が役に立つかどうかは、そのコマンド次第だ。
+最近の C の実装では、16 進の浮動小数点数も使える。
+たとえば、@code{-0x.ep-3} といったものだが、これは @minus{}14/16 掛ける
 @math{2^-3} を表し、@minus{}0.109375 に等しい。小数点を表す記号が何になるかは、
-@env{LC_NUMERIC} のロケールによって決まる。@xref{Parsing of Floats,,, libc, The GNU C
-Library Reference Manual}.
+@env{LC_NUMERIC} のロケールによって決まる。
+@xref{Parsing of Floats,,, libc, The GNU C Library Reference Manual}.
 
 @node Signal specifications
 @section シグナルの指定
 @cindex signals, specifying
 
 @var{signal} の指定には、@samp{HUP} のようなシグナル名や @samp{1} のようなシグナル番号、
-それに、シグナルによって終了させられるときのプロセスの終了ステータスを
-使うことができる (訳注: 最後のものは、GNU coreutils の @command{kill} コマンド
\81§ã\81¯ä½¿ç\94¨ã\81§ã\81\8dã\82\8bã\81\8cã\80\81ã\82·ã\82§ã\83«ã\81®çµ\84ã\81¿è¾¼ã\81¿ã\82³ã\83\9eã\83³ã\83\89ã\81®ã\82\88ã\81\86ã\81ªã\80\81ä»\96ã\81®ç³»çµ±ã\81® @command{kill}
+それに、シグナルによって終了させられるときのプロセスの終了ステータスを使うことができる
+(訳注: 最後のものは、GNU coreutils の @command{kill} コマンドでは使用できるが、
+シェルの組み込みコマンドのような、他の系統の @command{kill}
 では使えないかもしれない)。シグナル名は、標準的な形式でも、頭に @samp{SIG}
-を付けた形式でも構わない。大文字小文字は区別されない。以下に挙げる
-シグナル名とシグナル番号は、POSIX の規格に従っているすべてのシステムで
-使用できる。
+を付けた形式でも構わない。大文字小文字は区別されない。
+以下に挙げるシグナル名とシグナル番号は、POSIX の規格に従っているすべてのシステムで使用できる。
 
 @table @samp
 @item HUP
@@ -1123,7 +1160,7 @@ Library Reference Manual}.
 @item ABRT
 6. プロセスの中断 (Process abort)。
 @item KILL
-9.  強制終了 (Kill) (キャッチすることも無視することもできない)。
+9.  強制終了 (Kill) (捕獲することも無視することもできない)。
 @item ALRM
 14.  アラームクロック (Alarm Clock)。
 @item TERM
@@ -1131,9 +1168,8 @@ Library Reference Manual}.
 @end table
 
 @noindent
-これ以外にもサポートされているシグナル名があるが、それに対応する
-シグナル番号はシステムによって様々である。POSIX 1003.1-2001
-に準拠しているすべてのシステムでは、以下のシグナルも使用できる。
+これ以外にもサポートされているシグナル名があるが、それに対応するシグナル番号はシステムによって様々である。
+POSIX 1003.1-2001 に準拠しているすべてのシステムでは、以下のシグナルも使用できる。
 
 @table @samp
 @item BUS
@@ -1151,8 +1187,7 @@ Library Reference Manual}.
 @item SEGV
 無効なメモリ参照。
 @item STOP
-実行を一時停止する (stop) (キャッチすることも無視することも
-できない)。
+実行を一時停止する (stop) (捕獲することも無視することもできない)。
 @item TSTP
 端末からの一時停止シグナル。
 @item TTIN
@@ -1168,8 +1203,7 @@ Library Reference Manual}.
 @end table
 
 @noindent
-XSI 拡張に対応している POSIX 1003.1-2001 のシステムでは、以下の
-シグナルも使用できる。
+XSI 拡張に対応している POSIX 1003.1-2001 のシステムでは、以下のシグナルも使用できる。
 
 @table @samp
 @item POLL
@@ -1194,34 +1228,34 @@ XRT 拡張に対応している POSIX 1003.1-2001 のシステムでは、上記
 @samp{RTMIN+1}, @dots{}, @samp{RTMAX-1}, @samp{RTMAX} などだ。
 
 @node Disambiguating names and IDs
-@section chown と chgrp: ユーザ名かユーザ ID かを明確にする
+@section chown, chgrp, chroot, id: ユーザ名かユーザ ID かを明確にする
 @cindex user names, disambiguating
 @cindex user IDs, disambiguating
 @cindex group names, disambiguating
 @cindex group IDs, disambiguating
 @cindex disambiguating group names and IDs
 
-@command{chown} や @command{chgrp} コマンドでは、引数として @var{owner} や @var{group}
\82\92渡ã\81\99é\9a\9bã\81«
-名前で指定しても、ID 番号で指定してもよい。この指定法が曖昧であること
\81¯æ\98\8eã\82\89ã\81\8bã\81§ã\81\82ã\82\8bã\80\82ã\82\82ã\81\97ã\80\81ã\83¦ã\83¼ã\82¶å\90\8dã\82\84ã\82°ã\83«ã\83¼ã\83\97å\90\8dã\81\8cæ\95°å­\97ã\81®é\80£ç¶\9aã\81 ã\81£ã\81\9fã\82\89ã\80\81ã\81©ã\81\86
\81 ã\82\8dã\81\86ï¼\9f @footnote{ç\92°å¢\83ã\81«ã\82\88ã\81£ã\81¦ã\81¯ã\80\81ã\83¦ã\83¼ã\82¶å\90\8dã\81«æ\95°å­\97ã\82\92使ã\81\86ã\81®ã\81¯ã\80\81ã\82\88ã\81\8fã\81\82ã\82\8bã\81\93ã\81¨ã\81§ã\81\82ã\82\8bã\80\82}
-コマンドはそれをユーザ名と解釈すべきだろうか? ID 番号と
-解é\87\88ã\81\99ã\81¹ã\81\8dã\81 ã\82\8dã\81\86ã\81\8bï¼\9f POSIX ã\81§ã\81¯ã\80\81ã\80\8c@command{chown} ã\82\84 @command{chgrp} ã\81¯ã\80\81æ\8c\87å®\9aã\81\95ã\82\8cã\81\9f
-文字列をまず名前として解決することを試み、それに失敗した場合のみ、ID
-番号として解釈しようとすること」と規定している。この規定では、ユーザが
-引数として ID 番号、たとえば 42 を指定しようとすると、厄介なことになる。
-42 というユーザ名が存在し、それにユーザ ID として別の数字、たとえば
-1000 が割り当てられているといったややこしい状況でも、うまく処理でき
\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\81¨ã\81\99ã\82\8bã\81¨ã\80\81å\9b°ã\81£ã\81\9fã\81\93ã\81¨ã\81«ã\81ªã\82\8bã\81®ã\81 ã\80\82å\8d\98ã\81« @code{chown 42 F} ã\82\92
®\9fè¡\8cã\81\97ã\81\9fã\81®ã\81§ã\81¯ã\80\81ã\83\95ã\82¡ã\82¤ã\83« @file{F} ã\81®æ\89\80æ\9c\89è\80\85ã\81® ID ç\95ªå\8f·ã\81\8c 1000 ã\81«ã\81ªã\81£ã\81¦ã\81\97ã\81¾ã\81\86ã\80\82
-これはユーザが意図した動作ではない。
-
-GNU の @command{chown} や @command{chgrp} は、この問題に対する回避策を提供している。
\81\93ã\81®å\9b\9eé\81¿ç­\96ã\82\92使ç\94¨ã\81\99ã\82\8bã\81¨ã\80\81ã\83\87ã\83¼ã\82¿ã\83\99ã\83¼ã\82¹ã\81®æ¤\9cç´¢ã\82\92ç\9c\81ç\95¥ã\81\99ã\82\8bã\81®ã\81§ã\80\81å\87¦ç\90\86é\80\9f度ã\81\8c
-著しく向上することがあるというおまけまである。ユーザ ID 番号やグループ
-ID 番号を指定する際には、その前に @samp{+} を付けさえすればよいのだ。そうする
\81\93ã\81¨ã\81§、整数として解釈するように強制できるのである。
+@command{chown}, @command{chgrp}, @command{chroot}, @command{id}
\81¨ã\81\84ã\81£ã\81\9fã\82³ã\83\9eã\83³ã\83\89ã\81§ã\81¯ã\80\81å¼\95æ\95°ã\81¨ã\81\97ã\81¦ @var{owner} ã\82\84 @var{group}
+を渡す際に名前で指定しても、ID 番号で指定してもよい。
\81\93ã\81®æ\8c\87å®\9aæ³\95ã\81\8cæ\9b\96æ\98§ã\81§ã\81\82ã\82\8bã\81\93ã\81¨ã\81¯æ\98\8eã\82\89ã\81\8bã\81§ã\81\82ã\82\8bã\80\82
\82\82ã\81\97ã\80\81ã\83¦ã\83¼ã\82¶å\90\8dã\82\84ã\82°ã\83«ã\83¼ã\83\97å\90\8dã\81\8cæ\95°å­\97ã\81®é\80£ç¶\9aã\81 ã\81£ã\81\9fã\82\89ã\80\81ã\81©ã\81\86ã\81 ã\82\8dã\81\86ï¼\9f
+@footnote{環境によっては、ユーザ名に数字を使うのは、よくあることである。}
+ã\82³ã\83\9eã\83³ã\83\89ã\81¯ã\81\9dã\82\8cã\82\92ã\83¦ã\83¼ã\82¶å\90\8dã\81¨è§£é\87\88ã\81\99ã\81¹ã\81\8dã\81 ã\82\8dã\81\86ã\81\8bï¼\9f ID ç\95ªå\8f·ã\81¨è§£é\87\88ã\81\99ã\81¹ã\81\8dã\81 ã\82\8dã\81\86ã\81\8bï¼\9f
+POSIX では、「こうしたコマンドは、指定された文字列をまず名前として解決することを試み、
+それに失敗した場合のみ、ID 番号として解釈しようとすること」と規定している。
+この規定では、ユーザが引数として ID 番号、たとえば 42 を指定しようとすると、
+面倒な話になる。42 というユーザ名が存在し、それにユーザ ID 番号として別の数字、
+たとえば 1000 が割り当てられているといったややこしい状況でも、
\81\86ã\81¾ã\81\8få\87¦ç\90\86ã\81§ã\81\8dã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\81¨ã\81\99ã\82\8bã\81¨ã\80\81å\8e\84ä»\8bã\81ªã\81\93ã\81¨ã\81«ã\81ªã\82\8bã\81®ã\81 ã\80\82
\8d\98ã\81« @code{chown 42 F} ã\82\92å®\9fè¡\8cã\81\97ã\81\9fã\81®ã\81§ã\81¯ã\80\81ã\83\95ã\82¡ã\82¤ã\83« @file{F} ã\81®æ\89\80æ\9c\89è\80\85ã\81®
+ID 番号が 1000 になってしまう。これはユーザが意図した動作ではない。
+
+GNU の @command{chown}, @command{chgrp}, @command{chroot},@command{id}
\81¯ã\80\81ã\81\93ã\81®å\95\8fé¡\8cã\81«å¯¾ã\81\99ã\82\8bå\9b\9eé\81¿ç­\96ã\82\92ç\94¨æ\84\8fã\81\97ã\81¦ã\81\84ã\82\8bã\80\82ã\81\93ã\81®å\9b\9eé\81¿ç­\96ã\82\92使ç\94¨ã\81\99ã\82\8bã\81¨ã\80\81
+データベースの検索を省略するので、処理速度が著しく向上することがあるというおまけまで付く。
+ユーザやグループに ID 番号を指定する際には、その前に @samp{+}
\82\92ä»\98ã\81\91ã\81\95ã\81\88ã\81\99ã\82\8cã\81°ã\82\88ã\81\84ã\80\82ã\81\9dã\81\86ã\81\99ã\82\8cã\81°、整数として解釈するように強制できるのである。
 
 @example
 chown +42 F
@@ -1229,41 +1263,57 @@ chgrp +$numeric_group_id another-file
 chown +0:+0 /
 @end example
 
-GNU の @command{chown} や @command{chgrp} は、@samp{+} が前に付く各文字列に対してユーザ名
-の検索プロセスを省略する。何故なら、@samp{+} を含む文字列が有効なユーザ名や
-グループ名であることは絶対にないからだ。この書き方は、よく使われている
-たいていの Unix システムで使用できるが、Solaris 10 では使用できない。
+@samp{+} が前に付く各文字列に対しては、ユーザ名の検索プロセスが省略される。
+何故なら、@samp{+} を含む文字列が有効なユーザ名やグループ名であることは絶対にないからだ。
+この書き方は、よく使われているたいていの Unix システムで使用できるが、Solaris 10 では使用できない。
 
 @node Random sources
 @section ランダムデータのソース
 
 @cindex random sources
 
-@command{shuf}, @command{shred}, @command{sort} コマンドは、作業を行うためにランダムデータを
-必要とすることがある。たとえば、@samp{sort -R} ではハッシュ関数をランダムに
-選ばねばならず、その選択のためにランダムデータを必要としている。
-
-デフォルトでは、こうしたコマンドは、プログラム内部の擬似乱数ジェネ
-レータを、少量のエントロピーによって初期化して使用するが、
-@option{--random-source=@var{file}} オプションで、外部ソースを使うように指示すること
-も可能だ。@var{file} の中身のバイト数が不十分なときは、エラーが通知される。
-
-たとえば、デバイスファイル @file{/dev/urandom} を、ランダムデータのソース
-として使用してもよい。通常、このデバイスは、デバイスドライバーなどのソース
-から環境ノイズを集めて、エントロピー・プールに入れ、そのプールを使って、
-ランダムなビットを生成する。プールにデータが足りない場合は、内部プールを
-再利用し、暗号的に安全な擬似乱数ジェネレータを使って、より多くのビットを
-作り出す。とは言え、このデバイスは、大量のランダムデータの生成のために
-設計されたものではなく、比較的動作が遅いことは、承知しておいた方がよい。
-
-たいていの実用には、@file{/dev/urandom} で十分だが、プライベートなデータの
-高度で長期に渡る保護が必要になるアプリケーションでは、@file{/dev/random} や
-@file{/dev/arandom} のような他のデータソースが必要になるかもしれない。どんな
-データソースが利用できるかは、ご使用のオペレーティング・システム次第である。
-
-前回コマンドを実行したときの結果を再現するには、何らかのランダム
-データをファイルに保存しておき、そのコマンドの一回目の実行でも二回目
-の実行でも、ランダムソースとしてそのファイルを使用すればよい。
+@command{shuf}, @command{shred}, @command{sort} コマンドは、
+作業を行うためにランダムデータを必要とすることがある。たとえば、@samp{sort -R}
+ではハッシュ関数をランダムに選ばねばならず、その選択のためにランダムデータを必要としている。
+
+デフォルトでは、こうしたコマンドは、プログラム内部の擬似乱数ジェネレータを、
+少量のエントロピーによって初期化して使用するが、
+@option{--random-source=@var{file}} オプションで、
+外部ソースを使うように指示することもできる。
+@var{file} の中身のバイト数が不十分なときは、エラーが通知される。
+
+たとえば、デバイスファイル @file{/dev/urandom} を、
+ランダムデータのソースとして使用してもよい。通常、このデバイスは、
+デバイスドライバーなどのソースから環境ノイズを集めて、エントロピー・プールに入れ、
+そのプールを使って、ランダムなビットを生成する。プールにデータが足りない場合は、
+内部プールを再利用し、暗号的に安全な擬似乱数ジェネレータを使って、
+より多くのビットを作り出す。
+とは言え、このデバイスは、大量のランダムデータの生成のために設計されたものではなく、
+比較的動作が遅いことは、承知しておいた方がよい。
+
+たいていの実用には、@file{/dev/urandom} で十分だが、
+プライベートなデータの高度で長期に渡る保護が必要になるアプリケーションでは、
+@file{/dev/random} や @file{/dev/arandom} のような他のデータソースが必要になるかもしれない。
+どんなデータソースが利用できるかは、ご使用のオペレーティング・システム次第だ。
+
+前回コマンドを実行したときの結果を再現するには、
+何らかのランダムデータをファイルに保存しておき、
+そのコマンドの一回目の実行でも二回目の実行でも、
+ランダムソースとしてそのファイルを使用すればよい。
+@cindex random seed
+ファイルを使用する代わりに、たとえば、次のような方法を使っても、
+ある値を種として与えたときの、再現性のある適当な量の擬似ランダムデータを生成することができる。
+
+@example
+get_seeded_random()
+@{
+  seed="$1"
+  openssl enc -aes-256-ctr -pass pass:"$seed" -nosalt \
+    </dev/zero 2>/dev/null
+@}
+
+shuf -i1-100 --random-source=<(get_seeded_random 42)
+@end example
 
 @node Target directory
 @section 出力先ディレクトリ
@@ -1271,12 +1321,12 @@ GNU の @command{chown} や @command{chgrp} は、@samp{+} が前に付く各文
 @cindex target directory
 
 通常、@command{cp}, @command{install}, @command{ln}, @command{mv}
-といったコマンドは、最後のオペランドが
\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\82\84ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81¸ã\81®ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81®å ´å\90\88ã\80\81ã\81\9dã\82\8cã\82\92ç\89¹å\88¥
-扱いする。たとえば、@samp{cp source dest} は、@file{dest} がディレクトリならば、
-@samp{cp source dest/source} と同じことである。時には、そうした動作が、
\83¦ã\83¼ã\82¶ã\81\8cæ±\82ã\82\81ã\81¦ã\81\84ã\82\8bå\8b\95ä½\9cã\81¨ã\81¯é\81\95ã\81\86ã\81\93ã\81¨ã\82\82ã\81\82ã\82\8bã\80\82ã\81\9dã\81\93ã\81§ã\80\81ã\81\93ã\81\86ã\81\97ã\81\9fã\82³ã\83\9eã\83³ã\83\89ã\81¯
-よりきめ細かな制御ができるように、以下のオプションをサポートしている。
+といったコマンドは、最後のオペランドがディレクトリやディレクトリへのシンボリックリンクの場合、
\81\9dã\82\8cã\82\92ç\89¹å\88¥æ\89±ã\81\84ã\81\99ã\82\8bã\80\82ã\81\9fã\81¨ã\81\88ã\81°ã\80\81@samp{cp source dest} ã\81¯ã\80\81@file{dest}
+がディレクトリならば、@samp{cp source dest/source} と同じことである。
+時には、そうした動作が、ユーザが求めている動作とは違うこともある。
\81\9dã\81\93ã\81§ã\80\81ã\81\93ã\81\86ã\81\97ã\81\9fã\82³ã\83\9eã\83³ã\83\89ã\81¯ã\80\81ã\82\88ã\82\8aã\81\8dã\82\81ç´°ã\81\8bã\81ªå\88¶å¾¡ã\81\8cã\81§ã\81\8dã\82\8bã\82\88ã\81\86ã\81«
+以下のオプションをサポートしている。
 
 @table @samp
 
@@ -1285,74 +1335,66 @@ GNU の @command{chown} や @command{chgrp} は、@samp{+} が前に付く各文
 @opindex --no-target-directory
 @cindex target directory
 @cindex destination directory
-最後のオペランドが、ディレクトリやディレクトリへのシンボリック
-リンクであっても、それを特別扱いしない。このオプションは、共有領域
-で作業する複数のプログラムが、競合状態にならないようにしてくれる。
-たとえば、@samp{mv /tmp/source /tmp/dest} というコマンドが正常終了して
-も、@file{/tmp/source} が @file{/tmp/dest} にリネームされたという保証はない。
-もし、何かほかのプロセスが @file{/tmp/dest} をディレクトリとして作成して
-いたら、@file{/tmp/dest/source} という名前のファイルになってしまうかも
-しれないのだ。それに対して、@file{mv -T /tmp/source /tmp/dest} が正常
-終了した場合は、@file{/tmp/source} は間違いなく @file{/tmp/dest} にリネーム
-されている。
-
-反対に、最後のオペランドをディレクトリとして扱わせたい、それが
-できない場合は、エラーメッセージを出したい、ということもある。
-そういうときは、@option{--target-directory} (@option{-t}) オプションを使用すれば
-よい。(訳注: ターゲット・ディレクトリをコマンドラインの最後に置く
-代わりに、@option{--target-directory} オプションの引数にするということ
-である。)
+最後のオペランドが、ディレクトリやディレクトリへのシンボリックリンクであっても、それを特別扱いしない。
+このオプションは、複数のプログラムが共有領域で作業するとき、競合状態を防止する一助になる。
+たとえば、@samp{mv /tmp/source /tmp/dest} というコマンドが正常終了しても、
+@file{/tmp/source} が @file{/tmp/dest} にリネームされたという保証はない。
+もし、何かほかのプロセスが @file{/tmp/dest} をディレクトリとして作成していたら、
+@file{/tmp/dest/source} という名前のファイルになってしまうかもしれないのだ。
+それに対して、@file{mv -T /tmp/source /tmp/dest} が正常終了した場合は、
+@file{/tmp/source} は間違いなく @file{/tmp/dest} にリネームされている。
+
+反対に、最後のオペランドをディレクトリとして扱わせたい、
+それができない場合は、エラーメッセージを出したい、ということもある。
+そういうときは、@option{--target-directory} (@option{-t}) オプションを使用すればよい。
+(訳注: ターゲット・ディレクトリをコマンドラインの最後に置く代わりに、
+@option{--target-directory} オプションの引数にするということである。)
 
 @item -t @var{directory}
-@itemx @w{@kbd{--target-directory}=@var{directory}}
+@itemx --target-directory=@var{directory}
 @opindex --target-directory
 @cindex target directory
 @cindex destination directory
-@var{directory} を、出力されるファイルすべてのディレクトリ部分として
-使用する。
+@var{directory} を、出力されるファイルすべてのディレクトリ部分として使用する。
 
-ほとんどのプログラムで、コマンドラインの扱いは次のようになって
-いる。オプションや、一定数の (0 個のこともある) 位置の固定した
-引数の処理が終われば、引数リストにはもう何も残っていないか、
-残っているとすれば、それはすべて同じように処理されることになる
-項目 (通常はファイル) のリストのはずある。@command{xargs} プログラムは、
-こうした約束ごとに沿ってうまく動くように作られている。
+ほとんどのプログラムで、コマンドラインの扱いは次のようになっている。
+オプションや、一定数の (0 個のこともある) 位置の固定した引数の処理が終われば、
+引数リストにはもう何も残っていないか、残っているとすれば、
+それはすべて同じように処理されることになる項目 (通常はファイル) のリストのはずある。
+@command{xargs} プログラムは、こうした約束ごとに沿ってうまく動くように作られている。
 
 @command{mv} ファミリーのコマンドが変わっているのは、引数の数が不定であり、
-しかも最後の引数を特別扱いするという点である (すなわちターゲット・
-ディレクトリとして扱う)。そのため、ある種の作業の実行は、一筋縄では
-いかない。たとえば、「すべてのファイルをここから ../d/ に移動する」
-がそうだ。何故なら、@code{mv * ../d/} では、引数を入れておくための領域を
-使い切ってしまうかもしれないし、そうかと言って、@code{ls | xargs ...}
-には、実行対象コマンド (訳注: ここでは、@command{mv}) を起動するたびに
-最後の引数を特別に指定するためのすっきりした方法がないからである。
-(あるシェル・コマンドを駆使すれば、やることができるが、それでは、
-人間の労力と脳力を過当に要求することになる。)
-
-@w{@kbd{--target-directory}} (@option{-t}) オプションを使用すると、@command{cp},
-@command{mv},
-@command{ln}, @command{install} といったプログラムを @command{xargs} と一緒に使うとき、
-たいへん都合がよい。たとえば、カレントディレクトリから、同じディ
-レクトリ階層にある  @code{d} ディレクトリへファイルを移動するには、
-こんなふうにすればよい。
+しかも最後の引数を特別扱いするという点である (すなわちターゲット・ディレクトリとして扱う)。
+そのため、ある種の作業の実行は、一筋縄ではいかない。
+たとえば、「すべてのファイルをここから ../d/ に移動する」がそうだ。
+何故なら、@code{mv * ../d/} では、引数を入れておくための領域を使い切ってしまうかもしれないし、
+そうかと言って、@code{ls | xargs ...} には、実行対象コマンド (訳注: ここでは、@command{mv})
+を起動するたびに最後の引数を特別に指定するためのすっきりした方法がないからである。
+(シェルコマンドを駆使すれば、できないことはないが、それでは、人間の労力と脳力を過当に要求することになる。)
+
+@option{--target-directory} (@option{-t}) オプションを使用すると、
+@command{cp}, @command{mv}, @command{ln}, @command{install}
+といったプログラムを @command{xargs} と一緒に使うとき、たいへん都合がよい。
+たとえば、カレントディレクトリから、同じディレクトリ階層にある
+@code{d} ディレクトリへファイルを移動するには、こんなふうにすればよい。
 
 @smallexample
 ls | xargs mv -t ../d --
 @end smallexample
 
-しかし、これでは、ファイル名の先頭に @samp{.} の付くファイルが移動しな
\81\84ã\80\82GNU @command{find} ã\83\97ã\83­ã\82°ã\83©ã\83 ã\82\92使ç\94¨ã\81\97ã\81¦ã\81\84ã\82\8bã\81ªã\82\89ã\80\81次ã\81®ã\82³ã\83\9eã\83³ã\83\89ã\81§ã\81\9dã\81\86ã\81\97ã\81\9f
-ファイルも移動させることができる。
+しかし、これでは、ファイル名の先頭に @samp{.}
\81®ä»\98ã\81\8fã\83\95ã\82¡ã\82¤ã\83«ã\81\8c移å\8b\95ã\81\97ã\81ªã\81\84ã\80\82GNU @command{find}
\83\97ã\83­ã\82°ã\83©ã\83 ã\82\92使ã\81\88ã\81°ã\80\81次ã\81®ã\82³ã\83\9eã\83³ã\83\89ã\81§ã\81\9dã\81\86ã\81\97ã\81\9fã\83\95ã\82¡ã\82¤ã\83«ã\82\82移å\8b\95ã\81\95ã\81\9bã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\80\82
 
 @example
 find . -mindepth 1 -maxdepth 1 \
   | xargs mv -t ../d
 @end example
 
-とは言え、上記のどちらの方法も、カレントディレクトリにファイルが
-一つもない場合や、空白などの特殊文字を名前に含むファイルがある場合
-には、うまく行かない。次の例はそうした制限を一掃しているが、GNU
-@command{find} と GNU @command{xargs} の両方が必要である。
+とは言え、上記のどちらの方法も、カレントディレクトリにファイルが一つもない場合や、
+空白などの特殊文字を名前に含むファイルがある場合には、うまく行かない。
+次の例はそうした制限を一掃しているが、GNU @command{find} と
+GNU @command{xargs} の両方が必要である。
 
 @example
 find . -mindepth 1 -maxdepth 1 -print0 \
@@ -1371,24 +1413,23 @@ find . -mindepth 1 -maxdepth 1 -print0 \
 
 @cindex trailing slashes
 
-いくつかの GNU プログラム (少なくとも、@command{cp} と @command{mv}) では、@var{source} 引数を
-処理する前に、その引数の末尾にスラッシュが付いていたら、それを除去する
\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\82\88ã\81\86ã\81«ã\81ªã\81£ã\81¦ã\81\84ã\82\8bã\80\82@w{@kbd{--strip-trailing-slashes}} ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92
-使用することによって、この動作が有効になる。
+いくつかの GNU プログラム (少なくとも、@command{cp} と @command{mv}) では、
+@var{source} 引数を処理する前に、その引数の末尾にスラッシュが付いていたら、
\81\9dã\82\8cã\82\92é\99¤å\8e»ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\82\88ã\81\86ã\81«ã\81ªã\81£ã\81¦ã\81\84ã\82\8bã\80\82@option{--strip-trailing-slashes}
+オプションを使用することによって、この動作が有効になる。
 
 @c FIXME: mv's behavior in this case is system-dependent
 これが役に立つのは、@var{source} 引数の末尾にスラッシュが付いていて、
-しかも、その引数がディレクトリへのシンボリックリンクを指定している
-かもしれないときだ。そうした状況は、実のところ、それほど珍しくない。
-と言うのも、シェルの中には、そうしたシンボリックリンクに対して
-ファイル名の補完を行うとき、末尾にスラッシュを自動的に付加するものが
-あるからだ。このオプションを指定しないと、たとえば @command{mv} は、(システムの
-rename 関数を通してだが、) 末尾にスラッシュが付いていることを、「シン
-ボリックリンクの参照をたどれ」という指示として解釈しなければならず、
-その結果、シンボリックリンクではなく、間接的に参照されているディレク
-トリの方をリネームしなければならなくなる。こうした動作がデフォルトに
-なっているのは意外に思えるかもしれないが、POSIX で要求されている動作
-であり、POSIX 規格のほかの部分とも首尾一貫している。
+しかも、その引数がディレクトリへのシンボリックリンクを指定しているかもしれないときだ。
+そうした状況は、実のところ、それほど珍しくない。
+と言うのも、シェルの中には、そうしたシンボリックリンクに対してファイル名の補完を行うとき、
+末尾にスラッシュを自動的に付加するものがあるからだ。
+このオプションを指定しないと、たとえば @command{mv} は、(システムの
+rename 関数を通してだが、) 末尾にスラッシュが付いていることを、
+「シンボリックリンクの参照をたどれ」という指示として解釈しなければならず、
+その結果、シンボリックリンクではなく、間接的に参照されているディレクトリの方をリネームしなければならなくなる。
+こうした動作がデフォルトになっているのは意外に思えるかもしれないが、POSIX
+で要求されている動作であり、POSIX 規格のほかの部分とも首尾一貫している。
 
 @node Traversing symlinks
 @section シンボリックリンクをたどる
@@ -1397,17 +1438,16 @@ rename 関数を通してだが、) 末尾にスラッシュが付いている
 
 @c FIXME: note that 'du' has these options, too, but they have slightly
 @c different meaning.
-以下のオプションは、@option{--recursive} (@option{-R}) オプションも同時に指定されて
-いるとき、@command{chown} コマンドや @command{chgrp} コマンドがディレクトリ階層をどう
-たどるか、そのたどり方を変更する。以下のオプションを複数個指定した
-場合は、最後に指定したものだけが効果を持つ。こうしたオプションが指定
-しているのは、ディレクトリに対するシンボリックリンクを処理する際に、
-そのシンボリックリンクそのものを操作の対象にするのか、それとも、その
-ディレクトリ以下の階層にあるすべてのファイルを操作の対象にするのかと
-いうことである。
-
-こうしたオプションは、@option{--dereference} や @option{--no-dereference} (@option{-h})
-とは、全く別のものである。あちらは、シンボリックリンクを変更するのか、
+以下のオプションは、@option{--recursive} (@option{-R})
+オプションも同時に指定されているとき、@command{chown} コマンドや @command{chgrp}
+コマンドがディレクトリ階層をどうたどるか、そのたどり方を変更する。
+以下のオプションを複数個指定した場合は、最後に指定したものだけが効果を持つ。
+こうしたオプションが指定しているのは、ディレクトリに対するシンボリックリンクを処理する際に、
+そのシンボリックリンクそのものを操作の対象にするのか、
+それとも、そのディレクトリ以下の階層にあるすべてのファイルを操作の対象にするのかということである。
+
+こうしたオプションは、@option{--dereference} や @option{--no-dereference}
+(@option{-h})とは、全く別のものである。あちらは、シンボリックリンクを変更するのか、
 それとも、その参照先を変更するのかを制御している。
 
 @table @samp
@@ -1416,9 +1456,8 @@ rename 関数を通してだが、) 末尾にスラッシュが付いている
 @item -H
 @opindex -H
 @cindex symbolic link to directory, traverse if on the command line
- @option{--recursive} (@option{-R}) オプションが指定されている場合に、コマンド
-ラインで指定された引数がディレクトリへのシンボリックリンクならば、
-それをたどる。
+@option{--recursive} (@option{-R}) オプションが指定されている場合に、
+コマンドラインで指定された引数がディレクトリへのシンボリックリンクならば、それをたどる。
 @end macro
 @choptH
 
@@ -1426,8 +1465,8 @@ rename 関数を通してだが、) 末尾にスラッシュが付いている
 @item -L
 @opindex -L
 @cindex symbolic link to directory, traverse each that is encountered
-ディレクトリ階層を再帰的にたどっている際に、ディレクトリへのシンボ
-リックリンクに出会ったら、必ずそれをたどる。
+ディレクトリ階層を再帰的にたどっている際に、
\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81¸ã\81®ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81«å\87ºä¼\9aã\81£ã\81\9fã\82\89ã\80\81å¿\85ã\81\9aã\81\9dã\82\8cã\82\92ã\81\9fã\81©ã\82\8bã\80\82
 @end macro
 @choptL
 
@@ -1435,8 +1474,8 @@ rename 関数を通してだが、) 末尾にスラッシュが付いている
 @item -P
 @opindex -P
 @cindex symbolic link to directory, never traverse
-シンボリックリンクを一切たどらない。これが、@option{-H}, @option{-L}, @option{-P} の
-どれも指定されていないときの、デフォルトである。
+シンボリックリンクを一切たどらない。これが、@option{-H}, @option{-L}, @option{-P}
\81®ã\81©ã\82\8cã\82\82æ\8c\87å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84ã\81¨ã\81\8dã\81®ã\80\81ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81§ã\81\82ã\82\8bã\80\82
 @end macro
 @choptP
 
@@ -1446,49 +1485,47 @@ rename 関数を通してだが、) 末尾にスラッシュが付いている
 @node Treating / specially
 @section @file{/} (ルート) を特別扱いする
 
-ある種のコマンドは、ディレクトリ階層全体に対して破壊的な作用を及ぼす
-可能性がある。たとえば、しかるべき特権を持ったユーザが、間違えて
-@samp{rm -rf / tmp/junk} を実行したら、システム全体のすべてのファイルが消えて
-しまうかもしれないのだ。そうしたコマンドの使用が正当であることは、
-めったにないので、GNU の @command{rm} は、@file{/} に還元されるようないかなる
-ディレクトリに対しても、通常では、操作を拒否するようになっている。
+ある種のコマンドは、ディレクトリ階層全体に対して破壊的な作用を及ぼす可能性がある。
+たとえば、しかるべき特権を持ったユーザが、@samp{rm -rf / tmp/junk}
+を誤って実行したら、システム全体のすべてのファイルが消えてしまうかもしれないのだ。
+そうしたコマンドの使用が正当であることは、めったにないので、GNU の @command{rm}
+は、@file{/} に還元されるようないかなるディレクトリに対しても、通常では、操作を拒否するようになっている。
 もし、本当にシステムのすべてのファイルを消去しようと思うのなら、
-@option{--no-preserve-root} オプションを使用すればよい。とは言え、ほとんどの
-用途で、デフォルトの動作 (明示的に指定するには、@option{--preserve-root}
-オプションを使う) の方が安全である。
-
-@command{chgrp}, @command{chmod}, @command{chown} などのコマンドも、ディレクトリ階層全体に
-対して破壊的な作用を及ぼす可能性がある。従って、こうしたコマンドもまた、
-上記のオプションをサポートしている。こうしたコマンドは、@command{rm} とは
-違って、ファイルを実際に削除してしまうわけではないが、@file{/} から再帰的に
-働くときは、一層危険だと言うこともできる。と言うのは、たいていの場合、
-処理速度がずっと早いので、注意力のあるユーザがコマンドを中断できるより
-前に、@command{rm} の場合より、もっと多くのファイルに被害を与えてしまうからだ。
-Unix の習慣も POSIX の規格も、こうしたコマンドが @file{/} から再帰的に働く
-ことを要求している。それ故、デフォルトが @option{--no-preserve-root} になって
\81\84ã\82\8bã\81®ã\81 ã\81\8cã\80\81ã\81\93ã\81\86ã\81\97ã\81\9fã\82³ã\83\9eã\83³ã\83\89ã\81¯ã\80\81@option{--preserve-root} ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92使ã\81£ã\81\9fæ\96¹
\81\8cã\80\81ã\81»ã\81¨ã\82\93ã\81©ã\81®ç\94¨é\80\94ã\81§ã\82\88ã\82\8aå®\89å\85¨ã\81§ã\81\82ã\82\8bã\80\82é\9d¢å\80\92ã\81ªã\82\89ã\81°ã\80\81ã\82¨ã\82¤ã\83ªã\82¢ã\82¹ã\81\8bã\80\81ã\82·ã\82§ã\83«é\96¢æ\95°
-を作って、@option{--preserve-root} を指定しておけばよいのだ。
-
-また、@option{--preserve-root} を指定すると、@file{/} を指しているシンボリック
\83ªã\83³ã\82¯ã\81®å\8f\82ç\85§ã\82\92ã\81\9fã\81©ã\82\8bå ´å\90\88ã\81§ã\82\82ã\80\81@command{chgrp} ã\82\84 @command{chown} ã\81\8cã\80\81@file{/} ã\81®ã\82°ã\83«ã\83¼ã\83\97
-所有者を変更しなくなることも、憶えておいていただきたい。(訳注: @command{chgrp}
-や @command{chown} の解説を見ていただけばわかるが、これは、@option{--recursive} (@option{-R})
-を同時に使っているときの話である。)
+@option{--no-preserve-root} オプションを使用すればよい。
+とは言え、ほとんどの用途で、デフォルトの動作 (明示的に指定するには、
+@option{--preserve-root} オプションを使う) の方が安全である。
+
+@command{chgrp}, @command{chmod}, @command{chown}
+などのコマンドも、ディレクトリ階層全体に対して破壊的な作用を及ぼす可能性がある。
+従って、こうしたコマンドもまた、上記のオプションをサポートしている。
+こうしたコマンドは、@command{rm} とは違って、ファイルを実際に削除してしまうわけではないが、
+@file{/} から再帰的に働くときは、一層危険だと言うこともできる。
+と言うのは、たいていの場合、処理速度がずっと早いので、
+注意力のあるユーザがコマンドを中断できるより前に、@command{rm}
+の場合より、もっと多くのファイルに被害を与えてしまうからだ。Unix の習慣も
+POSIX の規格も、こうしたコマンドが @file{/} から再帰的に働くことを要求している。
\81\9dã\82\8cæ\95\85ã\80\81ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81\8c @option{--no-preserve-root} ã\81«ã\81ªã\81£ã\81¦ã\81\84ã\82\8bã\81®ã\81 ã\81\8cã\80\81
\81\93ã\81\86ã\81\97ã\81\9fã\82³ã\83\9eã\83³ã\83\89ã\81¯ã\80\81@option{--preserve-root} ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92使ã\81£ã\81\9fæ\96¹ã\81\8cã\80\81ã\81»ã\81¨ã\82\93ã\81©ã\81®ç\94¨é\80\94ã\81§ã\82\88ã\82\8aå®\89å\85¨ã\81§ã\81\82ã\82\8bã\80\82
+面倒ならば、エイリアスか、シェル関数を作って、@option{--preserve-root} を指定しておけばよいのだ。
+
+また、@option{--preserve-root} を指定すると、@file{/}
\82\92æ\8c\87ã\81\97ã\81¦ã\81\84ã\82\8bã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81®å\8f\82ç\85§ã\82\92ã\81\9fã\81©ã\82\8bå ´å\90\88ã\81§ã\82\82ã\80\81@command{chgrp} 
+@command{chown} が、@file{/} のグループや所有者を変更しなくなることも、憶えておいていただきたい。
+(訳注: @command{chgrp} や @command{chown} の解説を見ていただけばわかるが、
\81\93ã\82\8cã\81¯ã\80\81@option{--recursive} (@option{-R}) ã\82\92å\90\8cæ\99\82ã\81«ä½¿ã\81£ã\81¦ã\81\84ã\82\8bã\81¨ã\81\8dã\81®è©±ã\81§ã\81\82ã\82\8bã\80\82)
 
 @node Special built-in utilities
 @section 特殊ビルトイン・ユーティリティ
 
-プログラムの中には、@command{nice} のように、ほかのプログラムを起動できるものが
\81\82ã\82\8bã\80\82ã\81\9fã\81¨ã\81\88ã\81°ã\80\81@samp{nice cat file} ã\81¨ã\81\84ã\81\86ã\82³ã\83\9eã\83³ã\83\89ã\81¯ã\80\81ã\82³ã\83\9eã\83³ã\83\89 @samp{cat file} ã\82\92
-実行することによって、@command{cat} プログラムを起動する。しかしながら、@command{exit}
+プログラムの中には、@command{nice} のように、ほかのプログラムを起動できるものがある。
\81\9fã\81¨ã\81\88ã\81°ã\80\81@samp{nice cat file} ã\81¨ã\81\84ã\81\86ã\82³ã\83\9eã\83³ã\83\89ã\81¯ã\80\81ã\82³ã\83\9eã\83³ã\83\89 @samp{cat file}
+実行することによって、@command{cat} プログラムを起動する。しかしながら、@command{exit}
 のような特殊ビルトイン・ユーティリティ (@dfn{special built-in utilities})
-は、この方法で起動することができない。一例を挙げれば、@samp{nice exit} と
\81\84ã\81\86ã\82³ã\83\9eã\83³ã\83\89ã\81¯ã\80\81ã\81©ã\82\93ã\81ªå\8b\95ä½\9cã\82\92ã\81\99ã\82\8bã\81\8bã\81\8cæ\98\8e確ã\81«å®\9a義ã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84ã\80\82çµ\82äº\86ã\81\99ã\82\8b
-代わりに、エラーメッセージを出すかもしれないのだ。
+は、この方法で起動することができない。一例を挙げれば、@samp{nice exit}
\81¨ã\81\84ã\81\86ã\82³ã\83\9eã\83³ã\83\89ã\81¯ã\80\81ã\81©ã\82\93ã\81ªå\8b\95ä½\9cã\82\92ã\81\99ã\82\8bã\81\8bã\81\8cæ\98\8e確ã\81«å®\9a義ã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84ã\80\82
+終了する代わりに、エラーメッセージを出すかもしれないのだ。
 
-POSIX 1003.1-2004 の規格では、特殊ビルトイン・ユーティリティとして
-次のものを挙げている。
+POSIX 1003.1-2004 の規格では、特殊ビルトイン・ユーティリティとして次のものを挙げている。
 
 @quotation
 @t{.@: : break continue eval exec exit export readonly return set shift times
@@ -1498,50 +1535,87 @@ trap unset}
 たとえば、@samp{.}, @samp{:}, @samp{exec} は、特殊ビルトイン・ユーティリティなので、
 @samp{nice . foo.sh}, @samp{nice :}, @samp{nice exec pwd} といったコマンドの動作は、
 読者が予想なさるかもしれないようなものにはならない。
-@sp 1
+
 (訳注: exec, exit など対して、同じシェルの組み込みコマンドでも、cd,
 alias, fg, kill, pwd, true, umask などは、通常ビルトイン・ユーティリティ
-("regular built-in utilities") と呼ばれている。もっとも、nice などから
-実行できないという点では、特殊ビルトイン・ユーティリティも通常ビルト
-イン・ユーティリティも変わりがない。nice などから起動できるとすれば、
-それは同名の実行ファイルが存在するからだ)。
+("regular built-in utilities") と呼ばれている。
+もっとも、nice などから実行できないという点では、
+特殊ビルトイン・ユーティリティも通常ビルトイン・ユーティリティも変わりがない。
+nice などから起動できるとすれば、それは同名の実行ファイルが存在するからだ)。
 
-多くのシェルは、上記のリストを拡張している。たとえば、bash では、
-@command{history} や @command{suspend} といったコマンドが特殊ビルトイン・ユーティリティ
-に追加されている。そこで、bash の場合、@samp{nice suspend} というコマンドを
-実行すると、シェルのサスペンドは起こらず、エラーメッセージが出力される。
+多くのシェルは、上記のリストを拡張している。
+たとえば、bash では、@command{history} や @command{suspend}
+といったコマンドが特殊ビルトイン・ユーティリティに追加されている。
+そこで、bash の場合、@samp{nice suspend} というコマンドを実行すると、
+シェルのサスペンドは起こらず、エラーメッセージが出力される。
 
 @node Standards conformance
 @section 規格への準拠
 
 @vindex POSIXLY_CORRECT
-GNU ユーティリティのデフォルトの動作が POSIX の規格と一致しない場合
-が、若干ながら存在する。そうした非互換性を抑制するには、環境変数
-@env{POSIXLY_CORRECT} を設定すればよい。もっとも、POSIX に準拠しているか
-否かを点検しているのでもないかぎり、@env{POSIXLY_CORRECT} を設定する必要は、
-おそらくないだろうが。
+GNU ユーティリティのデフォルトの動作が POSIX の規格と一致しない場合が、若干ながら存在する。
+そうした非互換性を抑制するには、環境変数 @env{POSIXLY_CORRECT} を設定すればよい。
+もっとも、POSIX に準拠しているか否かを点検しているのでもないかぎり、
+@env{POSIXLY_CORRECT} を設定する必要は、おそらくないだろうが。
 
 POSIX の新しいバージョンが、古いバージョンと非互換であることが、
-ときどきある。たとえば、POSIX の昔のバージョンでは、@samp{sort +1} という
-コマンドは、各入力行の二番目以後のフィールドに基づいて、行の並べ替えを
-行うことになっていた。ところが、POSIX 1003.1-2001 以降では、同じコマンド
-が @file{+1} という名前のファイルの行を並べ替えることになっている。そこで、
-フィールドに基づいた並べ替えを行うには、@samp{sort -k 2} という別のコマンド
-を使わなければならないのだ。
+ときどきある。たとえば、POSIX の古いバージョンでは、@samp{sort +1} というコマンドは、
+各入力行の二番目以後のフィールドに基づいて、行の並べ替えを行うことになっていた。
+ところが、POSIX 1003.1-2001 では、同じコマンドが @file{+1}
+という名前のファイルの行を並べ替えることになっており、
+フィールドに基づいた並べ替えを行うには、@samp{sort -k 2}
+という別のコマンドを使わなければならないのだ。
+そして、さらにややこしいことに、POSIX 1003.1-2008
+では、古い動作と新しい動作のどちらをする実装も認められている。
 
 @vindex _POSIX2_VERSION
-通常 GNU のユーティリティは、お使いのシステムが規格として採用して
-いる POSIX のバージョンに従っている。GNU ユーティリティを POSIX の別の
-バージョンに準拠させるには、環境変数 @env{_POSIX2_VERSION} を設定すれば
-よい。この環境変数の値は、@var{yyyymm} という形式であり、その規格が何年の
-何月に採択されたかを示している。@env{_POSIX2_VERSION} の値としては、現在
-のところ、次の三つがサポートされている。すなわち、@samp{199209}, @samp{200112},
-@samp{200809} であり、それぞれ POSIX 1003.2-1992, POSIX 1003.1-2001, POSIX
-1003.1-2008 を表している。一例を挙げよう。使っているシステムが比較的
-新しいのに、動かしているソフトウェアが POSIX の昔のバージョンを前提と
-していて、@samp{sort +1} や @samp{tail +10} を使用している場合は、環境に
-@samp{_POSIX2_VERSION=199209} を設定することで、互換性の問題を回避する
-ことができる。
+通常 GNU のユーティリティは、お使いのシステムが規格として採用している
+POSIX のバージョンに従っている。GNU ユーティリティを
+POSIX の別のバージョンに準拠させるには、環境変数 @env{_POSIX2_VERSION}
+を設定すればよい。この環境変数の値は、@var{yyyymm} という形式であり、
+その規格が何年の何月に採択されたかを示している。@env{_POSIX2_VERSION}
+の値としては、現在のところ、次の三つがサポートされている。すなわち、@samp{199209},
+@samp{200112}, @samp{200809} であり、それぞれ POSIX 1003.2-1992,
+POSIX 1003.1-2001, POSIX 1003.1-2008 を表している。
+一例を挙げよう。御使用のシステムが POSIX 1003.1-2001
+に準拠しているのに、動かしているソフトウェアが @samp{sort +1} や @samp{tail +10}
+といった旧来の用法も持っている場合には、環境に @samp{_POSIX2_VERSION=200809}
+を設定することで、互換性の問題を回避することができる。
+
+@c This node is named "Multi-call invocation", not the usual
+@c "coreutils invocation", so that shell commands like
+@c 'info coreutils "touch invocation"' work as expected.
+@node Multi-call invocation
+@section @command{coreutils}: Multi-call プログラム
+
+@pindex multicall
+@cindex combined
+@cindex calling combined multi-call program
+
+@command{coreutils} コマンドは個々のユーティリティ・プログラムを呼び出す。
+呼び出されるユーティリティ・プログラムは、@command{coreutils}
+を呼び出すために使ったファイル名の最後の要素によって自動的に選ばれたものか、
+あるいは、@option{--coreutils-prog} オプションを使って明示的に指定されたものである。
+
+書式:
+
+@example
+coreutils @option{--coreutils-prog=PROGRAM} @dots{}
+@end example
+
+@command{coreutils} は、デフォルトではインストールされない。
+従って、移植を考慮したスクリプトでは、その存在を当てにしない方がよい。
+
+(訳注: 少し説明が必要だろう。coreutils 8.23 以来、ls, sort
+など、個々のバイナリを作るのではなく、coreutils という一つの大きなバイナリを作り、
+ls, sort などは、言わば coreutils のビルトイン・コマンドとして呼び出すことができるようになった。
+つまり、ls は今までどおり @samp{ls} や @samp{/bin/ls} でも起動できれば、
+@samp{coreutils --coreutils-prog=ls} でも起動できるということである。
+前者の場合のベースネームの ls が、本文で言う「@command{coreutils}
+を呼び出すために使ったファイル名の最後の要素」に当たるわけだ。
+もちろん、今でも個々のコマンドを独立したバイナリとして作ることもでき、
+その場合は、たぶん @command{coreutils} というコマンドは存在しないことになる。
+詳しくは、coreutils パッケージに含まれる NEWS ファイルをご覧いただきたい。)
 
 @node Output of entire files
 @chapter ファイル全体の出力
@@ -1549,14 +1623,15 @@ POSIX の新しいバージョンが、古いバージョンと非互換であ
 @cindex output of entire files
 @cindex entire files, output of
 
-次のコマンドはファイル全体を読み込んで、書き出す。内容に対して何らかの
-変換を行うこともある。
+次のコマンドはファイル全体を読み込んで、書き出す。
\86\85容ã\81«å¯¾ã\81\97ã\81¦ä½\95ã\82\89ã\81\8bã\81®å¤\89æ\8f\9bã\82\92è¡\8cã\81\86ã\81\93ã\81¨ã\82\82ã\81\82ã\82\8bã\80\82
 
 @menu
 * cat invocation::           ファイルを結合して、書き出す。
 * tac invocation::           ファイルを結合し、ファイルごとに逆順で書き出す。
 * nl invocation::            行番号を付けて、ファイルを書き出す。
 * od invocation::            ファイルを 8 進数などの形式で書き出す。
+* base32 invocation::        データを ASCII 文字で表示可能なデータに変換する。
 * base64 invocation::        データを ASCII 文字で表示可能なデータに変換する。
 @end menu
 
@@ -1569,7 +1644,7 @@ POSIX の新しいバージョンが、古いバージョンと非互換であ
 
 @command{cat} は、各 @var{file} (@samp{-} は標準入力を意味する) を標準出力にコピーする。
 @var{file} が一つも指定されていない場合は、標準入力から読み込む。
-@sp 1
+
 書式:
 
 @example
@@ -1614,6 +1689,7 @@ cat [@var{option}] [@var{file}]@dots{}
 @opindex -s
 @opindex --squeeze-blank
 @cindex squeezing empty lines
+@cindex squeezing blank lines
 連続する空行の表示を抑制する。すなわち、連続する複数の空行の代わりに、
 たった 1 行だけ空行を出力する。
 
@@ -1635,18 +1711,18 @@ TAB 文字を @samp{^I} と表示する。
 @itemx --show-nonprinting
 @opindex -v
 @opindex --show-nonprinting
-LFD と TAB 以外の制御文字を @samp{^} 表記を使って表示する。高位ビットの
-セットされている文字の前には、@samp{M-} を付ける。
+LFD と TAB 以外の制御文字を @samp{^} 表記を使って表示する。
+高位ビットのセットされている文字の前には、@samp{M-} を付ける。
 
 @end table
 
-テキストファイルとバイナリファイルを区別する MS-DOS のようなシステム
-では、@command{cat} は通常、バイナリモードで読み書きを行う。しかしながら、
-@option{-bensAE} といったオプションの一つが使われている場合や、読み込みの
-対象が標準入力で、しかも、標準入力が端末である場合は、@command{cat} はテキスト
\83¢ã\83¼ã\83\89ã\81§èª­ã\81¿è¾¼ã\81¿ã\82\92è¡\8cã\81\86ã\80\82å\90\8cæ§\98ã\81«å\87ºå\8a\9bã\81«ã\81\8aã\81\84ã\81¦ã\82\82ã\80\81@option{-bensAE} ã\81¨ã\81\84ã\81£ã\81\9fã\82ªã\83\97
\82·ã\83§ã\83³ã\81®ä¸\80ã\81¤ã\81\8c使ç\94¨ã\81\95ã\82\8cã\81¦ã\81\84ã\81\9fã\82\8aã\80\81æ¨\99æº\96å\87ºå\8a\9bã\81\8c端æ\9c«ã\81§ã\81\82ã\82\8bå ´å\90\88ã\81¯ã\80\81@command{cat} ã\81¯
-テキストモードで書き出しを行う。
+テキストファイルとバイナリファイルを区別する MS-DOS のようなシステムでは、
+@command{cat} は通常、バイナリモードで読み書きを行う。
+しかしながら、@option{-bensAE} といったオプションの一つが使われている場合や、
+読み込みの対象が標準入力で、しかも、標準入力が端末である場合は、@command{cat}
\81¯ã\83\86ã\82­ã\82¹ã\83\88ã\83¢ã\83¼ã\83\89ã\81§èª­ã\81¿è¾¼ã\81¿ã\82\92è¡\8cã\81\86ã\80\82å\90\8cæ§\98ã\81«å\87ºå\8a\9bã\81«ã\81\8aã\81\84ã\81¦ã\82\82ã\80\81@option{-bensAE}
\81¨ã\81\84ã\81£ã\81\9fã\82ªã\83\97ã\82·ã\83§ã\83³ã\81®ä¸\80ã\81¤ã\81\8c使ç\94¨ã\81\95ã\82\8cã\81¦ã\81\84ã\81\9fã\82\8aã\80\81æ¨\99æº\96å\87ºå\8a\9bã\81\8c端æ\9c«ã\81§ã\81\82ã\82\8bå ´å\90\88ã\81¯ã\80\81
+@command{cat} はテキストモードで書き出しを行う。
 
 @exitstatus
 
@@ -1670,15 +1746,15 @@ cat
 @command{tac} は、各 @var{file} (@samp{-} は標準入力を意味する) を、@var{file} ごとにレコード
 (records、デフォルトでは行) の順番を逆にして、標準出力にコピーする。
 @var{file} が一つも指定されていない場合は、標準入力から読み込む。
-@sp 1
+
 書式:
 
 @example
 tac [@var{option}]@dots{} [@var{file}]@dots{}
 @end example
 
-レコード (@dfn{records}) は、ある文字列 (デフォルトでは改行) が出現する
-ことによって区切られる。出力の際、デフォルトでは、この区切り文字列は、
+レコード (@dfn{records}) は、ある文字列 (デフォルトでは改行)
\81\8cå\87ºç\8f¾ã\81\99ã\82\8bã\81\93ã\81¨ã\81«ã\82\88ã\81£ã\81¦å\8cºå\88\87ã\82\89ã\82\8cã\82\8bã\80\82å\87ºå\8a\9bã\81®é\9a\9bã\80\81ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81§ã\81¯ã\80\81ã\81\93ã\81®å\8cºå\88\87ã\82\8aæ\96\87å­\97å\88\97ã\81¯ã\80\81
 ファイル中でその区切り文字列の直前にあるレコードの末尾に付加される。
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
@@ -1689,8 +1765,7 @@ tac [@var{option}]@dots{} [@var{file}]@dots{}
 @itemx --before
 @opindex -b
 @opindex --before
-出力の際、区切り文字列は、ファイル中でその区切り文字列の直後に来る
-レコードの先頭に付加される。
+出力の際、区切り文字列は、ファイル中でその区切り文字列の直後に来るレコードの先頭に付加される。
 
 @item -r
 @itemx --regex
@@ -1702,13 +1777,15 @@ tac [@var{option}]@dots{} [@var{file}]@dots{}
 @itemx --separator=@var{separator}
 @opindex -s
 @opindex --separator
-改行の代わりに、@var{separator} をレコード区切り文字列 (record separator)
-として使用する。
+改行の代わりに @var{separator} をレコード区切り文字列 (record separator)
+として使用する。注意すべきは、@var{separator} に空文字列を指定すると、
+ゼロバイトを指定したことになることだ。すなわち、入出力レコードが
+ASCII NUL で区切られることになる。
 
 @end table
 
-テキストファイルとバイナリファイルを区別する MS-DOS のようなシステム
-では、@command{tac} はバイナリモードで読み書きを行う。
+テキストファイルとバイナリファイルを区別する MS-DOS のようなシステムでは、
+@command{tac} はバイナリモードで読み書きを行う。
 
 @exitstatus
 
@@ -1727,10 +1804,10 @@ tac -r -s 'x\|[^x]'
 @cindex numbering lines
 @cindex line numbering
 
-@command{nl} は、各 @var{file} (@samp{-} は標準入力を意味する) を、全部の行、または、
-一部の行に行番号を付けて、標準出力に書き出す。@var{file} が一つも指定されて
-いない場合は、標準入力から読み込む。
-@sp 1
+@command{nl} は、各 @var{file} (@samp{-} は標準入力を意味する)
+を、すべての行、または、一部の行に行番号を付けて、標準出力に書き出す。
+@var{file} が一つも指定されていない場合は、標準入力から読み込む。
+
 書式:
 
 @example
@@ -1738,17 +1815,17 @@ nl [@var{option}]@dots{} [@var{file}]@dots{}
 @end example
 
 @cindex logical pages, numbering on
-@command{nl} ã\81¯ã\80\81å\85¥å\8a\9bã\81\95ã\82\8cã\81\9fã\82\82ã\81®ã\82\92 (è«\96ç\90\86) ã\83\9aã\83¼ã\82¸ã\81«å\88\86解ã\81\99ã\82\8bã\80\82ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81§ã\81¯ã\80\81
-行番号は各論理ページの先頭で 1 にリセットされる。@command{nl} は、すべての
-入力ファイルをまとめて、一つのドキュメントとして扱う。従って、入力
-ファイルが変わるたびに、論理ページや行番号がリセットされることはない。
+@command{nl} ã\81¯ã\80\81å\85¥å\8a\9bã\82\92 (è«\96ç\90\86) ã\83\9aã\83¼ã\82¸ã\82»ã\82¯ã\82·ã\83§ã\83³ã\81«å\88\86解ã\81\99ã\82\8bã\80\82
+デフォルトでは、行番号は各論理ページセクションで 1 にリセットされる。
+@command{nl} は、すべての入力ファイルをまとめて、一つのドキュメントとして扱う。
+従って、入力ファイルが変わるたびに、論理ページや行番号をリセットすることはない。
 
 @cindex headers, numbering
 @cindex body, numbering
 @cindex footers, numbering
-論理ページは、三つのセクションからなる。すなわち、ヘッダ、本文、
\83\95ã\83\83ã\82¿ã\81§ã\81\82ã\82\8bã\80\82ã\81©ã\81®ã\82»ã\82¯ã\82·ã\83§ã\83³ã\82\82空ã\81§ã\81\82ã\81£ã\81¦æ§\8bã\82\8fã\81ªã\81\84ã\80\82ã\82»ã\82¯ã\82·ã\83§ã\83³ã\81\94ã\81¨ã\81«
-他のセクションとは異なる番号付けの方式を選ぶこともできる。
+論理ページは、三つのセクションからなる。すなわち、ヘッダ、本文、フッタである。
\81©ã\81®ã\82»ã\82¯ã\82·ã\83§ã\83³ã\82\82空ã\81§ã\81\82ã\81£ã\81¦æ§\8bã\82\8fã\81ªã\81\84ã\80\82
+セクションごとに他のセクションとは異なる番号付けの方式を選ぶこともできる。
 
 入力ファイル中で論理ページの各セクションが始まる位置を指示するには、
 以下の区切り文字列の一つのみからなる行を使用する。
@@ -1763,13 +1840,13 @@ nl [@var{option}]@dots{} [@var{file}]@dots{}
 @end table
 
 上記の文字列を構成する二文字は、オプションを使って (下記参照)、@samp{\}
-と @samp{:} の組み合わせ以外のものに、変更することができる。だが、各文字列
-のパターンや長さは、変えることができない。
+と @samp{:} の組み合わせ以外のものに、変更することができる。
\81 ã\81\8cã\80\81å\90\84æ\96\87å­\97å\88\97ã\81®ã\83\91ã\82¿ã\83¼ã\83³ã\82\84é\95·ã\81\95ã\81¯ã\80\81å¤\89ã\81\88ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\81ªã\81\84ã\80\82
 
-セクションの区切りは、出力では空行に置き換えられる。入力ファイル中の
-最初のセクション区切り文字列より前にあるテキストは、いかなるテキストも
-本文セクションの一部と見なされる。従って、@command{nl} は、セクションの区切りを
-全く含まないファイルを、一個の本文セクションとして扱う。
+セクションの区切りは、出力では空行に置き換えられる。
+入力ファイル中の最初のセクション区切り文字列より前にあるテキストは
+いかなるテキストも、本文セクションの一部と見なされる。
¾\93ã\81£ã\81¦ã\80\81@command{nl} ã\81¯ã\80\81ã\82»ã\82¯ã\82·ã\83§ã\83³ã\81®å\8cºå\88\87ã\82\8aã\82\92å\85¨ã\81\8få\90«ã\81¾ã\81ªã\81\84ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ã\80\81ä¸\80å\80\8bã\81®æ\9c¬æ\96\87ã\82»ã\82¯ã\82·ã\83§ã\83³ã\81¨ã\81\97ã\81¦æ\89±ã\81\86ã\80\82
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 
@@ -1780,11 +1857,10 @@ nl [@var{option}]@dots{} [@var{file}]@dots{}
 @opindex -b
 @opindex --body-numbering
 各論理ページの本文セクションにおける行の番号付けの方式を選択する。
-行に番号が付かない場合、行番号の現在値は増加しないが、それでも
-行番号の区切り文字は行の前に付く (訳注: ここで言う行番号の区切り
-文字 (line number separator character) とは、行番号とテキストの
-区切り文字ではなく、行番号を揃えるために行頭と行番号との間に
-置かれる空白のことらしい)。番号付けの方式には、以下のものがある。
+行に番号が付かない場合、行番号の現在値は増加しないが、それでも行番号の区切り文字は行の前に付く
+(訳注: ここで言う行番号の区切り文字 (line number separator character)
+とは、行番号とテキストの区切り文字ではなく、行頭とテキストとの間にある行番号のために用意された空間を埋める空白のことらしい)。
+番号付けの方式には、以下のものがある。
 
 @table @samp
 @item a
@@ -1804,10 +1880,9 @@ Manual}.
 @opindex -d
 @opindex --section-delimiter
 @cindex section delimiters of pages
-セクションの区切り文字を @var{cd} にする。デフォルトは @samp{\:}。@var{c} のみを指定
-すると、二番目の文字は、デフォルトと同じ @samp{:} になる。(@samp{\} などの
-メタ文字は、シェルが展開しないように、引用符やバックスラッシュで保護
-するのをお忘れなく。)
+セクションの区切り文字を @var{cd} にする。デフォルトは @samp{\:}。
+@var{c} のみを指定すると、二番目の文字は、デフォルトと同じ @samp{:} になる。
+(@samp{\} などのメタ文字は、シェルが展開しないように、引用符やバックスラッシュで保護するのをお忘れなく。)
 
 @item -f @var{style}
 @itemx --footer-numbering=@var{style}
@@ -1833,10 +1908,10 @@ Manual}.
 @opindex --join-blank-lines
 @cindex empty lines, numbering
 @cindex blank lines, numbering
-空行にも番号を付けるとき、連続する @var{number} (デフォルトは 1) 行の
-空行を 1 論理行と数え、最後の空行にのみ番号を振る。連続する空行が
-@var{number} 行未満のときは、番号を振らない。空行というのは、文字を全く
-含まない、スペースやタブさえも含まない行のことである。
+空行にも番号を付けるとき、連続する @var{number} (デフォルトは 1) 行の空行を
+1 論理行と数え、最後の空行にのみ番号を振る。連続する空行が
+@var{number} 行未満のときは、番号を振らない。
+空行というのは、文字を全く含まない、スペースやタブさえも含まない行のことである。
 
 @item -n @var{format}
 @itemx --number-format=@var{format}
@@ -1866,14 +1941,13 @@ Manual}.
 @itemx --number-separator=@var{string}
 @opindex -s
 @opindex --number-separator
-出力中で行番号とテキスト部分との区切りに @var{string} を使う (デフォルト
-はタブ文字)。
+出力中で行番号とテキスト部分との区切りに @var{string} を使う (デフォルトはタブ文字)。
 
 @item -v @var{number}
 @itemx --starting-line-number=@var{number}
 @opindex -v
 @opindex --starting-line-number
-論理ページごとに行番号を @var{number} から始める (デフォルトは 1)。
+各論理ページで行番号を @var{number} から始める (デフォルトは 1)。
 
 @item -w @var{number}
 @itemx --number-width=@var{number}
@@ -1895,10 +1969,10 @@ Manual}.
 @cindex ASCII dump of files
 @cindex file contents, dumping unambiguously
 
-@command{od} は、各 @var{file} (@samp{-} は標準入力を意味する) の内容を、曖昧さの余地がない
-形で標準出力に書き出す。@var{file} が一つも指定されていない場合は、標準入力
-から読み込む。
-@sp 1
+@command{od} は、各 @var{file} (@samp{-} は標準入力を意味する) の内容を、
+曖昧さの余地がない形で標準出力に書き出す。@var{file} が一つも指定されていない場合は、
+標準入力から読み込む。
+
 書式:
 
 @smallexample
@@ -1909,24 +1983,24 @@ od [@var{option}]@dots{} --traditional [@var{file}]@c
 @end smallexample
 
 各出力行の構成は、入力中の位置をオフセットで表したものの後に、
-ファイルのデータをいくつかのまとまりに分けたものが続くという形に
\81ªã\81£ã\81¦ã\81\84ã\82\8bã\80\82ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81§ã\81¯ã\80\81@command{od} ã\81¯ã\82ªã\83\95ã\82»ã\83\83ã\83\88ã\82\92 8 é\80²æ\95°ã\81§è¡¨ç¤ºã\81\99ã\82\8bã\80\82
-ファイル・データの個々のまとまりは、入力を C 言語の @code{short int} ごとに
-分けたものであり、1 個の 8 進数として表示される。
-
-@var{offset} を指定した場合、それは、整形と出力を始める前に、入力を
-何バイト読み飛ばすかを示している。デフォルトでは、@var{offset} は 8 進数と
-見なされるが、数字の後ろに小数点を付ければ、10 進数と見なされる。
-小数点が指定されず、オフセットの数字が @samp{0x} や @samp{0X} で始まっている場合
-は、16 進数として解釈される。もし、数字の後ろに @samp{b} が付いているなら
-ば、読み飛ばすバイト数は、@var{offset} に 512 を掛けたものになる。
-@sp 1
-(訳注: 数字の後ろに小数点を付けることで @var{offset} が 10 進数であること
\82\92示ã\81\99æ\96¹æ³\95ã\81¯ã\80\81ç\8f¾å\9c¨ã\81§ã\81¯ç\84¡å\8a¹ã\81®ã\82\88ã\81\86ã\81§ã\81\82ã\82\8bã\80\82ã\82ªã\83\95ã\82»ã\83\83ã\83\88ã\82\92 10 é\80²æ\95°ã\81§æ\8c\87å®\9aã\81\97ã\81\9f
-ければ、@option{-j} オプションを使用した方がよい。)
-
-コマンドが「書式」における第一の型と第二の型のどちらとも取れるとき
-は、最後のオペランドが @samp{+} で始まっている場合や、オペランドが 2 個で
+ファイルのデータをいくつかのまとまりに分けたものが続くという形になっている。
+デフォルトでは、@command{od} はオフセットを 8 進数で表示する。
+ファイル・データの個々のまとまりは、入力を C 言語の @code{short int}
+ごとに分けたものであり、1 個の 8 進数として表示される。
+
+@var{offset} を指定した場合、それは、整形と出力を始める前に、
+入力を何バイト読み飛ばすかを示している。デフォルトでは、@var{offset}
+は 8 進数と見なされるが、数字の後ろに小数点を付ければ、10 進数と見なされる。
+小数点が指定されず、オフセットの数字が @samp{0x} や @samp{0X} で始まっている場合は、
+16 進数として解釈される。もし、数字の後ろに @samp{b} が付いているならば、
+読み飛ばすバイト数は、@var{offset} に 512 を掛けたものになる。
+
+(訳注: 数字の後ろに小数点を付けることで @var{offset}
\81\8c 10 é\80²æ\95°ã\81§ã\81\82ã\82\8bã\81\93ã\81¨ã\82\92示ã\81\99æ\96¹æ³\95ã\81¯ã\80\81ç\8f¾å\9c¨ã\81§ã\81¯ç\84¡å\8a¹ã\81®ã\82\88ã\81\86ã\81§ã\81\82ã\82\8bã\80\82
\82ªã\83\95ã\82»ã\83\83ã\83\88ã\82\92 10 é\80²æ\95°ã\81§æ\8c\87å®\9aã\81\97ã\81\9fã\81\91ã\82\8cã\81°ã\80\81@option{-j} ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92使ç\94¨ã\81\97ã\81\9fæ\96¹ã\81\8cã\82\88ã\81\84ã\80\82)
+
+コマンドが「書式」における第一の型と第二の型のどちらとも取れるときは、
+最後のオペランドが @samp{+} で始まっている場合や、オペランドが 2 個で
 2 番目のオペランドが数字で始まっている場合は、第二の型だと見なされる。
 たとえば、@samp{od foo 10} や @samp{od +10} では、@samp{10} はオフセットである。
 それに対して、@samp{od 10} では、@samp{10} はファイル名である。
@@ -1957,21 +2031,30 @@ od [@var{option}]@dots{} --traditional [@var{file}]@c
 
 デフォルトは 8 進数である。
 
+@item --endian=@var{order}
+@opindex --endian
+@cindex byte-swapping
+@cindex endianness
+入力のバイトオーダーを変更する。入力を別のバイトオーダーで扱うため、
+あるいは、使用システムのエンディアン方式にとらわれない一貫した出力を生成するために使用する。
+変換は、@option{--type} で指定されたサイズと @var{order} のエンディアンに従って行われる。
+@var{order} には、@samp{little} または @samp{big} が指定できる。
+
 @item -j @var{bytes}
 @itemx --skip-bytes=@var{bytes}
 @opindex -j
 @opindex --skip-bytes
 整形と出力を行う前に、入力を @var{bytes} バイト読み飛ばす。@var{bytes} が @samp{0x}
-や @samp{0X} で始まっている場合は、16 進数と見なされる。@samp{0} のみで
-始まっている場合は、8 進数だ。どちらでもない場合は、10 進数である。
+や @samp{0X} で始まっている場合は、16 進数と見なされる。
+@samp{0} のみで始まっている場合は、8 進数だ。どちらでもない場合は、10 進数である。
 @multiplierSuffixes{bytes}
 
 @item -N @var{bytes}
 @itemx --read-bytes=@var{bytes}
 @opindex -N
 @opindex --read-bytes
-入力から最大で @var{bytes} バイト出力する。@code{bytes} に接頭辞や接尾辞を
-付けると、@option{-j} オプションの場合と同じように解釈される。
+入力から最大で @var{bytes} バイト出力する。@code{bytes} に接頭辞や接尾辞を付けると、
+@option{-j} オプションの場合と同じように解釈される。
 
 @item -S @var{bytes}
 @itemx --strings[=@var{bytes}]
@@ -1980,32 +2063,32 @@ od [@var{option}]@dots{} --traditional [@var{file}]@c
 @cindex string constants, outputting
 通常の出力はせず、文字列定数 (@dfn{string constants}) のみを出力する。
 すなわち、@var{bytes} バイト以上の連続する ASCII 表示文字で、ゼロバイト
-(ASCII NUL) が続くものを出力するわけだ。@var{bytes} に接頭辞や接尾辞を
-付けると、@option{-j} オプションの場合と同じように解釈される。
+(ASCII NUL) が続くものを出力するわけだ。@var{bytes} に接頭辞や接尾辞を付けると、
+@option{-j} オプションの場合と同じように解釈される。
 
 @option{--strings} に続く @var{bytes} が省略された場合、デフォルトは 3 である。
+(訳注: 短縮形の @option{-S} では @var{bytes} を省略できない。)
 
 @item -t @var{type}
 @itemx --format=@var{type}
 @opindex -t
 @opindex --format
-ファイルデータの出力形式を選択する。@var{type} は、1 個以上の下記の形式
-指定文字からなる文字列である。一つの @var{type} 文字列に複数の形式指定
-文字が含まれている場合や、このオプションを複数回使用した場合は、@command{od}
\81¯å\87ºå\8a\9bè¡\8cã\81\94ã\81¨ã\81«ã\80\81æ\8c\87å®\9aã\81\95ã\82\8cã\81\9få\90\84ã\83\87ã\83¼ã\82¿å½¢å¼\8fã\81§è¡¨ç\8f¾ã\81\97ã\81\9fã\81\9dã\81®è¡\8cã\82\92ã\80\81æ\8c\87å®\9aã\81\95ã\82\8cã\81\9f
-順番で書き出す。
+ファイルデータの出力形式を選択する。
+@var{type} は、1 個以上の下記の形式指定文字からなる文字列である。
+一つの @var{type} 文字列に複数の形式指定文字が含まれている場合や、
\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92è¤\87æ\95°å\9b\9e使ç\94¨ã\81\97ã\81\9få ´å\90\88ã\81¯ã\80\81@command{od} ã\81¯å\87ºå\8a\9bè¡\8cã\81\94ã\81¨ã\81«ã\80\81
+指定された各データ形式で表現したその行を、指定された順番で書き出す。
 
-どんな形式指定であれ、その最後に ``z'' を付けると、形式指定によって
-生成された出力行の後ろに、表示可能文字を 1 バイト文字によって表現
-したものが、出力される。
+どんな形式指定であれ、その最後に ``z'' を付けると、
+形式指定によって生成された出力行の後ろに、
+表示可能文字を 1 バイト文字によって表現したものが、出力される。
 
 @table @samp
 @item a
-文字の名称 (訳注: たとえば、A は A、改行文字は nl)。最上位
-ビットは無視する。
+文字の名称 (訳注: たとえば、A は A、改行文字は nl)。最上位ビットは無視する。
 @item c
-表示可能な 1 バイト文字、C 言語のバックスラッシュ・
\82¨ã\82¹ã\82±ã\83¼ã\83\97ã\80\81ã\81\82ã\82\8bã\81\84ã\81¯ 3 æ¡\81ã\81® 8 é\80²æ\95°ã\80\82
+表示可能な 1 バイト文字、C 言語のバックスラッシュ・エスケープ、
+あるいは 3 桁の 8 進数。
 @item d
 符号付き 10 進数
 @item f
@@ -2019,18 +2102,18 @@ od [@var{option}]@dots{} --traditional [@var{file}]@c
 @end table
 
 @code{a} 形式の出力では、空白文字は @samp{sp}、改行文字は @samp{nl}、ゼロバイトは
-@samp{nul} といった具合に表現される。このとき、各バイトの下位 7 ビット
-のみが使われ、最上位ビットは無視される。@code{c} 形式の出力では、上記の
-例は、それぞれ @samp{ }、@samp{\n}、@code{\0} になる。
+@samp{nul} といった具合に表現される。このとき、各バイトの下位 7 ビットのみが使われ、
+最上位ビットは無視される。@code{c} 形式の出力では、上記の例は、それぞれ
+@samp{ }、@samp{\n}、@code{\0} になる。
 
 @cindex type size
-@samp{a} と @samp{c} 形式を除き、形式指定文字の後ろに 10 進数の整数を続ける
-ことによって、入力データの各数値を読み込んで、指定されたデータ形式に
-変換して行く際に、何バイトづつ使用するかを指定することができる。
+@samp{a} と @samp{c} 形式を除き、形式指定文字の後ろに
+10 進数の整数を続けることによって、入力データの各数値を読み込んで、
+指定されたデータ形式に変換して行く際に、何バイトづつ使用するかを指定することができる。
 あるいは、形式指定文字の後ろに以下の文字の一つを続けることによって、
-C コンパイラの組み込みデータ型のいづれかのサイズを指定することも
-可能だ。すなわち、整数 (@samp{d}, @samp{o}, @samp{u}, @samp{x}) に対しては、以下を
-後置する。
+C コンパイラの組み込みデータ型のいづれかのサイズを指定することも可能だ。
+すなわち、整数 (@samp{d}, @samp{o}, @samp{u}, @samp{x})
+に対しては、以下を後置する。
 
 @table @samp
 @item C
@@ -2059,17 +2142,15 @@ long double
 @opindex -v
 @opindex --output-duplicates
 連続する行が同一であっても出力する。デフォルトでは、出力する行が、
-二行以上連続して全く同一になりそうな場合、@command{od} は最初の行だけを
-出力し、次の行にはアステリスクのみを置いて、二行目以下を省略した
-ことを示す。
+二行以上連続して全く同一になりそうな場合、@command{od} は最初の行だけを出力し、
+次の行にはアステリスクのみを置いて、二行目以下を省略したことを示す。
 
 @item -w[@var{n}]
 @itemx --width[=@var{n}]
 @opindex -w
 @opindex --width
-1 出力行当たり、@code{n} バイトの入力をダンプする。この値は、指定した
-各出力形式に結び付いているサイズの最小公倍数の倍数でなければ
-ならない。
+1 出力行当たり、@code{n} バイトの入力をダンプする。
+この値は、指定した各出力形式に結び付いているサイズの最小公倍数の倍数でなければならない。
 
 このオプションが全く指定されないときのデフォルトは 16 である。
 このオプションが @var{n} なしで指定されたときのデフォルトは 32 である。
@@ -2077,8 +2158,8 @@ long double
 @end table
 
 以下に挙げるいくつかのオプションは、形式指定の簡易版である。GNU @command{od}
-では、形式指定オプションと簡易版オプションをどのように組み合わせても
-構わない。こうしたオプションは、累加されていく。
+では、形式指定オプションと簡易版オプションをどのように組み合わせても構わない。
+こうしたオプションは、累加されていく。
 
 @table @samp
 
@@ -2133,28 +2214,40 @@ od --traditional [@var{file}] [[+]@var{offset}[.][b] [[+]@var{label}[.][b]]]
 @end smallexample
 
 @noindent
-この書式を使用すると、ファイルは 1 個までしか指定できないが、必要
-なら、オフセットを示す引数や、@var{label} という、開始位置の仮アドレス
-を示す引数を、続けて指定することができる。引数 @var{label} は @var{offset} と
-全く同じように解釈されるが、出力を開始する位置の仮アドレスを指定
-している。仮アドレスは、通常のアドレスの後ろに、カッコで囲まれて、
-表示される。
+この書式を使用すると、ファイルは 1 個までしか指定できないが、必要なら、
+オフセットを示す引数や、@var{label} という、開始位置の仮アドレスを示す引数を、
+続けて指定することができる。引数 @var{label} は @var{offset}
+と全く同じように解釈されるが、出力を開始する位置の仮アドレスを指定している。
+仮アドレスは、通常のアドレスの後ろに、カッコで囲まれて、表示される。
 
 @end table
 
 @exitstatus
 
+
+@node base32 invocation
+@section @command{base32}: データを表示可能データ (printable data) に変換する
+
+@pindex base32
+@cindex base32 encoding
+
+@command{base32} はファイル、または標準入力から読み込んだデータを、
+base32 でエンコードした形式に変換する (あるいは、その逆を行う)。
+base32 でエンコードした形式は、表示可能な ASCII 文字を用いて、バイナリデータを表現する。
+このコマンドの使用法やオプションは、
+@command{base64} と全く同じである。  @xref{base64 invocation}.
+
+
 @node base64 invocation
 @section @command{base64}: データを表示可能データ (printable data) に変換する
 
 @pindex base64
 @cindex base64 encoding
 
-"@command{base64} はファイル、または標準入力から読み込んだデータを、base64 で
-エンコードした形式に変換する (あるいは、その逆を行う)。base64 で
-エンコードした形式は、表示可能な ASCII 文字を用いて、バイナリデータを
-表現する。
-@sp 1
+@command{base64} はファイル、または標準入力から読み込んだデータを、
+base64 でエンコードした形式に変換する (あるいは、その逆を行う)。
+base64 でエンコードした形式は、表示可能な ASCII 文字を用いて、バイナリデータを表現する。
+
 書式:
 
 @smallexample
@@ -2163,7 +2256,8 @@ base64 --decode [@var{option}]@dots{} [@var{file}]
 @end smallexample
 
 base64 でエンコードすると、データが元のデータのほぼ 133% に増大する。
-base64 エンコード形式は、RFC4648 に準拠している。
+base32 エンコーディングの場合は、元のデータのほぼ 160% になる。
+こうしたエンコード形式は、RFC4648 に準拠している。
 @uref{ftp://ftp.rfc-editor.org/in-notes/rfc4648.txt}
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
@@ -2176,11 +2270,9 @@ base64 エンコード形式は、RFC4648 に準拠している。
 @opindex --wrap
 @cindex wrap data
 @cindex column to wrap data after
-エンコード中に、出力が @var{cols} 文字に達したら改行する。この値は、正の
-整数でなければならない。
+エンコード中に、出力が @var{cols} 文字に達したら改行する。この値は、正の整数でなければならない。
 
-デフォルトでは、76 文字で改行する。改行を全く行わないようにする
-には、値を 0 にする。
+デフォルトでは、76 文字で改行する。改行を全く行わないようにするには、値を 0 にする。
 
 @item -d
 @itemx --decode
@@ -2188,19 +2280,17 @@ base64 エンコード形式は、RFC4648 に準拠している。
 @opindex --decode
 @cindex Decode base64 data
 @cindex Base64 decoding
-動作モードを変更する。デフォルトの、データをエンコードするモード
-ではなく、データをデコードするモードになる。入力には、base64 で
-エンコードしたデータが期待され、出力は、エンコードする前のデータ
-になる。
+動作モードを変更する。デフォルトの、データをエンコードするモードではなく、
+データをデコードするモードになる。入力には、base64
+でエンコードしたデータが期待され、出力は、エンコードする前のデータになる。
 
 @item -i
 @itemx --ignore-garbage
 @opindex -i
 @opindex --ignore-garbage
 @cindex Ignore garbage in base64 stream
-デコードする際、改行文字がどこに現れても、適切に処理する。デコード
-中に ASCII 表示可能文字以外を表すバイトが現れたら、一部壊れたデータ
-でもデコードできるように、それを無視する。
+デコードする際、改行文字がどこに現れても、適切に処理する。デコード中に
+ASCII 表示可能文字以外を表すバイトが現れたら、一部壊れたデータでもデコードできるように、それを無視する。
 
 @end table
 
@@ -2216,7 +2306,6 @@ base64 エンコード形式は、RFC4648 に準拠している。
 
 @menu
 * fmt invocation::           パラグラフに分かれたテキストを整形し直す。
-* numfmt invocation::        数値を整形し直す。
 * pr invocation::            ページ付けや段組みをしてファイルを表示する。
 * fold invocation::          入力行を指定された幅に合わせて折り返す。
 @end menu
@@ -2230,36 +2319,35 @@ base64 エンコード形式は、RFC4648 に準拠している。
 @cindex paragraphs, reformatting
 @cindex text, reformatting
 
-@command{fmt} は行を折り返したり、結合したりして、出力する各行が指定された
-文字数に納まるように調整する。1 行のデフォルトはアスキー文字で 75 文字
-である。(訳注: 日本語のテキストは、通常単語を空白で区切らないので、
-うまく整形できない。)
-@sp 1
+@command{fmt} は行を折り返したり、結合したりして、出力する各行が指定された文字数に納まるように調整する。
+1 行のデフォルトはアスキー文字で 75 文字である。
+(訳注: 日本語のテキストは、通常単語を空白で区切らないので、うまく整形できない。)
+
 書式:
 
 @example
 fmt [@var{option}]@dots{} [@var{file}]@dots{}
 @end example
 
-@command{fmt} は、指定された引数 @var{file} から (指定されていない場合は、標準
-出力から) テキストを読み込んで、標準出力に書き出す。
+@command{fmt} は、指定された引数 @var{file} から
+(指定されていない場合は、標準出力から) テキストを読み込んで、標準出力に書き出す。
 
-デフォルトでは、空行、単語間の空白、インデント (字下げ) は、出力でも
\81\9dã\81®ã\81¾ã\81¾ç¶­æ\8c\81ã\81\95ã\82\8cã\82\8bã\80\82ã\82¤ã\83³ã\83\87ã\83³ã\83\88ã\81®é\81\95ã\81\86å\85¥å\8a\9bè¡\8cã\81\8cé\80£ç¶\9aã\81\99ã\82\8bå ´å\90\88ã\81¯ã\80\81è¡\8cã\81®çµ\90å\90\88ã\81¯
-行われない。タブは入力のときにスペースに展開され、出力でタブに戻される。
+デフォルトでは、空行、単語間の空白、インデント (字下げ) は、出力でもそのまま維持される。
\82¤ã\83³ã\83\87ã\83³ã\83\88ã\81®é\81\95ã\81\86å\85¥å\8a\9bè¡\8cã\81\8cé\80£ç¶\9aã\81\99ã\82\8bå ´å\90\88ã\81¯ã\80\81è¡\8cã\81®çµ\90å\90\88ã\81¯è¡\8cã\82\8fã\82\8cã\81ªã\81\84ã\80\82
+タブは入力のときにスペースに展開され、出力でタブに戻される。
 
 @cindex line-breaking
 @cindex sentences and line-breaking
 @cindex Knuth, Donald E.
 @cindex Plass, Michael F.
-@command{fmt} は、できるだけ文の終わりで改行しようとする。また、文の最初の
-単語の直後や、文の最後の単語の直前で改行するのは避けようとする。「文の
-終わり (@dfn{sentence break})」の定義は、パラグラフがそこで終わっているか、
-あるいは、単語の末尾に @samp{.?!} のどれかが付き、さらにスペースが 2 個
-続くか、行末が来ることである。後者の場合、ピリオドなどとスペース 2 個、
-あるいは行末の間にカッコや引用符が入っていてもよい。@TeX{} と同様、@command{fmt}
-は、どこで行を折り返すかを決める前に、パラグラフ全体を読み込む。使用して
-いるアルゴリズムは、Donald E. Knuth と Michael F. Plass が ``Breaking
+@command{fmt} は、できるだけ文の終わりで改行しようとする。
+また、文の最初の単語の直後や、文の最後の単語の直前で改行するのは避けようとする。
+「文の終わり (@dfn{sentence break})」の定義は、パラグラフがそこで終わっているか、
+あるいは、単語の末尾に @samp{.?!} のどれかが付き、さらにスペースが 2 個続くか、
+行末が来ることである。後者の場合、ピリオドなどとスペース
+2 個、あるいは行末の間にカッコや引用符が入っていてもよい。
+@TeX{} と同様、@command{fmt} は、どこで行を折り返すかを決める前に、パラグラフ全体を読み込む。
+使用しているアルゴリズムは、Donald E. Knuth と Michael F. Plass が ``Breaking
 Paragraphs Into Lines'' で提示しているものに変更を加えたものである
 (`Software---Practice & Experience 誌'、第 11 巻 第 11 号 (November
 1981) 1119-1184 ページ)。
@@ -2273,8 +2361,8 @@ Paragraphs Into Lines'' で提示しているものに変更を加えたもの
 @opindex -c
 @opindex --crown-margin
 @cindex crown margin
-クラウンマージン・モード (@dfn{Crown margin} mode) である。パラグラフの
-最初の 2 行のインデントはそのまま踏襲し、それに続く各行の左の余白を
+クラウンマージン・モード (@dfn{Crown margin} mode) である。
+パラグラフの最初の 2 行のインデントはそのまま踏襲し、それに続く各行の左の余白を
 2 行目のインデントに揃える。
 
 @item -t
@@ -2282,25 +2370,22 @@ Paragraphs Into Lines'' で提示しているものに変更を加えたもの
 @opindex -t
 @opindex --tagged-paragraph
 @cindex tagged paragraphs
-タグ付きパラグラフ・モード (@dfn{Tagged paragraph} mode)。クラウンマー
-ジン・モードに似ているが、次の点が違う。パラグラフの最初の行と
-二番目の行のインデントが同じ場合、最初の行は 1 行からなるパラグラフ
-として扱われる。
+タグ付きパラグラフ・モード (@dfn{Tagged paragraph} mode)。
+クラウンマージン・モードに似ているが、次の点が違う。
+パラグラフの最初の行と二番目の行のインデントが同じ場合、最初の行は 1 行からなるパラグラフとして扱われる。
 
 @item -s
 @itemx --split-only
 @opindex -s
 @opindex --split-only
 行の分割のみを行う。短い行を結合して、長い行を作ることはしない。
-その結果、サンプル・コードの行のような、すでに整形されたテキストを
-むやみに結合しないで済む。
+その結果、サンプル・コードの行のような、すでに整形されたテキストをむやみに結合しないで済む。
 
 @item -u
 @itemx --uniform-spacing
 @opindex -u
 @opindex --uniform-spacing
-空白の数を一定にする。すなわち、単語間の空白は 1 個に、文の間の
-空白は 2 個にする。
+空白の数を一定にする。すなわち、単語間の空白は 1 個に、文の間の空白は 2 個にする。
 
 @item -@var{width}
 @itemx -w @var{width}
@@ -2315,620 +2400,263 @@ Paragraphs Into Lines'' で提示しているものに変更を加えたもの
 @itemx --goal=@var{goal}
 @opindex -g
 @opindex --goal
-とりあえず、各行を @var{goal} 文字の長さにしてみようとする。これは、
-デフォルトでは @var{width} より 7% 短い。
+とりあえず、各行を @var{goal} 文字の長さにしてみようとする。
\81\93ã\82\8cã\81¯ã\80\81ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81§ã\81¯ @var{width} ã\82\88ã\82\8a 7% ç\9f­ã\81\84ã\80\82
 
 @item -p @var{prefix}
 @itemx --prefix=@var{prefix}
-@var{prefix} で始まる行のみを整形の対象にする (@var{prefix} の前にホワイト
\82¹ã\83\9aã\83¼ã\82¹ã\81\8cã\81\82ã\81£ã\81¦ã\82\82ã\82\88ã\81\84\80\82@var{prefix} ã\81¨ã\81\9dã\82\8cã\81«å\85\88è¡\8cã\81\99ã\82\8bã\83\9bã\83¯ã\82¤ã\83\88ã\82¹ã\83\9aã\83¼ã\82¹
\81¯ã\80\81æ\95´å½¢ã\81®é\9a\9bã\81«å\8f\96ã\82\8aé\99¤ã\81\8bã\82\8cã\80\81æ\95´å½¢å¾\8cã\81«å\90\84å\87ºå\8a\9bè¡\8cã\81«ä»\98ã\81\91ç\9b´ã\81\95ã\82\8cã\82\8bã\80\82ã\81\93ã\81®
\82ªã\83\97ã\82·ã\83§ã\83³ã\81®ç\94¨é\80\94ã\82\92ä¸\80ã\81¤æ\8c\99ã\81\92ã\82\8bã\81¨ã\80\81ã\83\97ã\83­ã\82°ã\83©ã\83 ã\81®ã\82³ã\83¡ã\83³ã\83\88ã\81®ã\82\88ã\81\86ã\81ªè¡\8c
\81 ã\81\91ã\82\92æ\95´å½¢ã\81\97ã\80\81ã\82³ã\83¼ã\83\89ã\81«ã\81¯æ\89\8bã\82\92å\8a ã\81\88ã\81ªã\81\84ã\81\93ã\81¨ã\81\8cè\80\83ã\81\88ã\82\89ã\82\8cã\82\8bã\80\82
+@var{prefix} で始まる行のみを整形の対象にする (@var{prefix}
\81®å\89\8dã\81«ã\83\9bã\83¯ã\82¤ã\83\88ã\82¹ã\83\9aã\83¼ã\82¹ã\81\8cã\81\82ã\81£ã\81¦ã\82\82ã\82\88ã\81\84\80\82@var{prefix}
\81¨ã\81\9dã\82\8cã\81«å\85\88è¡\8cã\81\99ã\82\8bã\83\9bã\83¯ã\82¤ã\83\88ã\82¹ã\83\9aã\83¼ã\82¹ã\81¯ã\80\81æ\95´å½¢ã\81®é\9a\9bã\81«å\8f\96ã\82\8aé\99¤ã\81\8bã\82\8cã\80\81æ\95´å½¢å¾\8cã\81«å\90\84å\87ºå\8a\9bè¡\8cã\81«ä»\98ã\81\91ç\9b´ã\81\95ã\82\8cã\82\8bã\80\82
\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81®ç\94¨é\80\94ã\82\92ä¸\80ã\81¤æ\8c\99ã\81\92ã\82\8bã\81¨ã\80\81ã\83\97ã\83­ã\82°ã\83©ã\83 ã\81®ã\82³ã\83¡ã\83³ã\83\88ã\81®ã\82\88ã\81\86ã\81ªè¡\8cã\81 ã\81\91ã\82\92æ\95´å½¢ã\81\97ã\80\81
+コードには手を加えないことが考えられる。
 
 @end table
 
 @exitstatus
 
-@node numfmt invocation
-@section @command{numfmt}: 数値を整形し直す
+@node pr invocation
+@section @command{pr}: ページ付けや段組みをしてファイルを表示する
 
-@pindex numfmt
+@pindex pr
+@cindex printing, preparing files for
+@cindex multicolumn output, generating
+@cindex merging files in parallel
 
-@command{numfmt} はさまざまな表記の数値を読み込んで、それを要求された形に
-整形し直す。一番よく使うのは、数値を人間が読みやすい形に変換する場合や、
-その逆を行う場合である (たとえば、@samp{4G} @expansion{} @samp{4,000,000,000})。
+@command{pr} は、各 @var{file} (@samp{-} は標準入力を表す)
+を標準出力に書き出す。@var{file} が指定されていない場合は、標準入力を対象にする。
+その際、ページ付けを行い、指定があれば段組みをして出力する。また、すべての
+@var{file} を一つに統合し、1 段 1 ファイルの形式で平行して表示することもできる。
 
-@example
-numfmt [@var{option}]@dots{} [@var{number}]
-@end example
+(訳注: @command{pr} はページ構成をするコマンドであって、
+長い行の折り返しなどの整形をするわけではない。そうしたことは、@command{fmt} や
+@command{fold} の仕事である。なお、@command{pr} の日本語対応は十分ではない。
+とくに段組みがうまくいかない。)
 
-@command{numfmt} は、コマンドラインで与えられた各 @var{number} を、指定された
-オプション (以下の節を参照) に従って変換する。@var{number} の指定がない
-場合は、標準入力から数値を読み込む。また、@command{numfmt} は、入力行中の
-特定のフィールドから数値を取り出すこともできる。その場合、列が揃う
-ようにパディング (訳注: フィールドの空き埋め) が行われていれば、
-それも適切に維持する。
+書式:
 
-@exitstatus
+@example
+pr [@var{option}]@dots{} [@var{file}]@dots{}
+@end example
 
-終了ステータスについては追加情報がある。@option{--invalid} をご覧になって
-いただきたい。
+@vindex LC_MESSAGES
+デフォルトでは、5 行のヘッダが各ページに付く。2 行の空行、
+日付・ファイル名・ページ番号からなる 1 行、そしてもう 2 行の空行という形式である。
+5 行の空行からなるフッタも出力される。デフォルトのページ長 (@var{page_length})
+は 66 行なので、本文に使用されるデフォルトの行数は、56 行になる。
+ヘッダのテキスト行は、@samp{@var{date} @var{string} @var{page}} の形を取り、
+@var{string} の両側に空白を入れて、行の幅がページ幅 (@var{page_width})
+いっぱいになるようにしている。@var{date} は日付であり (詳細については、
+@option{--date-format} (@option{-D}) オプションを参照)、
+@var{string} は中央揃えのヘッダ文字列 (訳注: デフォルトではファイル名)、
+@var{page} はページ番号である。@var{page} という単語の綴りは、
+@env{LC_MESSAGES} ロケール・カテゴリによって変わってくる。デフォルトの C
+ロケールでは、@samp{Page @var{number}} であり、@var{number} の位置には
+10 進数のページ番号が入る。
 
-@menu
-* General options in numfmt::  一般オプション
-* Possible UNITs::             使用できる UNIT
-* Examples of using numfmt::   numfmt の使用例
-@end menu
+入力にフォームフィード (Form feed) があると、出力では改ページが行われる。
+フォームフィードが続くと、白紙のページが生ずる。
 
-@node General options in numfmt
-@subsection 一般オプション
+段組みをした場合、どの段の幅も同じになり、段と段の間には任意の文字列
+(デフォルトはスペース) が置かれる。多段組みの出力では、@option{-J}
+オプションを使用しないかぎり、各行は常に @var{page_width} (デフォルトは 72)
+文字までに切り詰められる (訳注: これは、各段や段間の空白などを合計した 1 行の長さが、
+最長でも @var{page_width} 文字までになるということであって、
+各段がそれぞれ @var{page_width} 文字になるということではない)。
+1 段のみの出力では、デフォルトでは行の切り詰めは行われない。
+その場合でも、行の切り詰めを行うには、@option{-W} を使用する。
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 
 @table @samp
 
-@item --debug
-@opindex --debug
-間違えた使い方をしている疑いがあるとき、それについて警告メッセージを
-(標準エラーに) 表示する。
-
-@item -d @var{d}
-@itemx --delimiter=@var{d}
-@opindex -d
-@opindex --delimiter
-文字 @var{d} を入力フィールドの区切りとして使用する (デフォルトはホワイト
-スペース)。区切りにデフォルト以外の文字を使うと、自動的なパディングが
-行われなくなるのに注意してほしい。
-
-@item --field=@var{n}
-@opindex --field
-@var{n} 番目の入力フィールドの数値を変換する (@var{n} のデフォルトは 1)
+@item +@var{first_page}[:@var{last_page}]
+@itemx --pages=@var{first_page}[:@var{last_page}]
+@c The two following @opindex lines evoke warnings because they contain ':'
+@c The 'info' spec does not permit that.  If we use those lines, we end
+@c up with truncated index entries that don't work.
+@c @opindex +@var{first_page}[:@var{last_page}]
+@c @opindex --pages=@var{first_page}[:@var{last_page}]
+@opindex +@var{page_range}
+@opindex --pages=@var{page_range}
+表示を @var{first_page} ページから始めて、 @var{last_page} ページで終了する。
+@samp{:@var{last_page}} の指定を省略するのは、ファイルの最後までということである。
+スキップするページ数を計算する際、入力ファイル中にフォームフィードがあると、
+そのたびに 1 ページ進むことになる。ページ番号は、@samp{+@var{first_page}}
+があってもなくても、同じになる。デフォルトでは、
+入力ファイルの最初のページからページ数を数えるからだ (表示される最初のページからではない)。
+行番号については @option{-N} オプションで変更することができる
 
-@item --format=@var{format}
-@opindex --format
-浮動小数点数を表す printf 形式の @var{format} 文字列を出力の整形に
-使用する。文字列 @var{format} には、1 個の @samp{%f} 変換指定子が含まれて
-いなければならない。なお、そうしたければ、@samp{'} や @samp{-} 修飾子、
-あるいは、フィールド幅修飾子 (訳注: 数値) を @samp{%f} に付けることも
-できる。@samp{'} 修飾子は @option{--grouping} オプションを有効にし、@samp{-} 修飾子
-は @option{--padding} オプションを左詰めで有効に、フィールド幅修飾子は
-@option{--padding} オプションを右詰めで有効にする。(訳注: @samp{-} 修飾子は、
-数値であるフィールド幅修飾子と併せて用いなければならない。)
+@item -@var{column}
+@itemx --columns=@var{column}
+@opindex -@var{column}
+@opindex --columns
+@cindex down columns
+個々の @var{file} に対して @var{column} 段に段組みした出力を生成する
+(デフォルトは 1 段)。@option{-a} オプションを使用しない場合、ページ内で本文は、
+段内を上から下へと進む。段が増えると、段の幅は自動的に狭くなる。
+ただし、@option{-W/-w} を同時に使用して、@var{page_width}
+を増加させている場合は、そのかぎりではない。このオプションを使うと、
+切り詰められる行がたぶん生じるだろう。ページごとの各段の行数は、
+できるだけ揃えられる。多段組みの本文出力では、オプション @option{-e} と
+@option{-i} が有効になる。@option{-J} オプションと一緒に使った場合は、
+段の整列と行の切り詰めは行われない。各行は、元の長さのまま、不定長フィールドとして
+(free field format) 結合されるのである。その際も、@option{-S}
+オプションによってフィールド・セパレータを指定することは可能だ。なお
+@option{-@var{column}} は、@option{-m} オプションと一緒に使用できない。
 
-@item --from=@var{unit}
-@opindex --from
-入力された数値の大きさや桁数を @var{unit} に従って自動調整 (auto-scaling)
-する (訳注: 一例を挙げると、入力数値が @samp{1K} だったとき、@samp{--from=si}
-が指定されていれば 1000 に変換し、@samp{--from=iec} が指定されていれば
-1024 に変換する)。@var{unit} については、次節「使用できる UNIT」を参照
-していただきたい。デフォルトでは数値の大きさや桁数の調節を行わない。
\81\9dã\82\8cã\81¯ã\81¾ã\81\9fã\80\81å\85¥å\8a\9bæ\95°å\80¤ã\81«æ\8e¥å°¾è¾\9e (ã\81\9fã\81¨ã\81\88ã\81°ã\80\81@samp{M}, @samp{G} ã\81ªã\81©) ã\81\8cä»\98ã\81\84ã\81¦
-いると、エラーになるということでもある。
+@item -a
+@itemx --across
+@opindex -a
+@opindex --across
+@cindex across columns
+個々の @var{file} を段組みで表示するとき、本文の各行が、段内を上から下へではなく、
+左の段から右の段へと進むようにする。@option{-@var{column}}
\82ªã\83\97ã\82·ã\83§ã\83³ã\81«æ\8c\87å®\9aã\81\99ã\82\8b段ã\81®æ\95°ã\81¯ã\80\812 ä»¥ä¸\8aã\81§ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82
+行が段の幅に納まらないほど長い場合、その行は切り詰められる。
 
-@item --from-unit=@var{n}
-@opindex --from-unit
-入力の 1 単位の大きさを (すなわち、デフォルトの 1 に代えて使う
-大きさを) 指定する。入力する数値の 1 単位の大きさが、デフォルトの
-1 以外の場合に、このオプションを使用するわけだ (たとえば、入力する
-数値の @samp{10} が、1 単位 512 バイトの 10 単位を表している場合には、
-@samp{--from-unit=512} を使用する)
+@item -c
+@itemx --show-control-chars
+@opindex -c
+@opindex --show-control-chars
+制御文字をハット表記 (たとえば、@samp{^G}) を使って表示する。
+他の非表示文字は、バックスラッシュ付きの 8 進数表記になる。@command{pr}
+のデフォルトでは、非表示文字の表示文字化は行われない
 
-@item --grouping
-@opindex --grouping
-現在のロケールの桁区切りルールに従って、出力する数値を数桁ごとに
-区切る (たとえば、3 桁ごとの区切り記号は、たいてい @samp{.} (ドット) か
-@samp{,} (コンマ) である)。ロケールが @samp{POSIX/C} の場合は、このオプション
\81«å\8a¹æ\9e\9cã\81¯ã\81ªã\81\84
+@item -d
+@itemx --double-space
+@opindex -d
+@opindex --double-space
+@cindex double spacing
\83\80ã\83\96ã\83«ã\82¹ã\83\9aã\83¼ã\82¹ã\81§å\87ºå\8a\9bã\81\99ã\82\8b (訳注: ã\81\99ã\81ªã\82\8fã\81¡ã\80\81è¡\8cé\96\93ã\82\92 1 è¡\8cå\88\86ã\81\82ã\81\91ã\82\8b)
 
-@item --header[=@var{n}]
-@opindex --header
-@opindex --header=N
-最初の @var{n} (デフォルトは 1) 行を、いかなる変換もせずに出力する。
+@item -D @var{format}
+@itemx --date-format=@var{format}
+@cindex time formats
+@cindex formatting times
+ヘッダの日付を @var{format} を用いて整形する。@var{format} には、コマンド
+@samp{date +@var{format}} で使うのと同じ指定法が使用できる。@xref{date invocation}.
+@samp{%} で始まる日時の指定を除いて、@var{format} 中の文字はそのまま表示される。
+従って、このオプションを使用すれば、ヘッダの日付の位置に任意の文字列を指定することもできるわけだ。
+たとえば、@option{--date-format="Monday morning"} といった具合に。
 
-@item --invalid=@var{mode}
-@opindex --invalid
-入力エラーに出会ったときのデフォルトの動作は、ステータスコード 2 で
-即座に終了することである。@option{--invalid=@samp{abort}} は、このデフォルト
-の動作を明示的に指定することになる。@var{mode} に @samp{fail} を指定すると、
-変換エラーがあるごとに警告メッセージを表示して、ステータス 2 で終了
-する。@var{mode} が @samp{warn} の場合は、変換エラーがあっても、ステータス 0
-で終了する。@var{mode} が @samp{ignore} の場合は、ステータス 0 で終了する
-だけでなく、診断メッセージを出すことすらしない。
+@vindex POSIXLY_CORRECT
+@vindex LC_TIME
+デフォルトの日付書式は @samp{%Y-%m-%d %H:%M} という形である (たとえば、
+@samp{2001-12-04 23:59})。だが、環境変数 @env{POSIXLY_CORRECT} が設定され、
+しかも @env{LC_TIME} ロケール・カテゴリが POSIX ロケールを指定している場合は、
+デフォルトの書式は @samp{%b %e %H:%M %Y} になる
+(たとえば、@samp{Dec@ @ 4 23:59 2001})。
 
-@item --padding=@var{n}
-@opindex --padding
-出力する数値が @var{n} 字分を占めるように、スペースを加えることで
-パディングをする。@var{n} が正の数の場合は、数値が右詰めになり、負の
-数の場合は、数値が左詰めになる。デフォルトでは、数値は、入力行の
-幅に基づいて (訳注: 詳しく言うと、入力各行の数値のあるフィールド
-が固定幅の場合、その幅に基づいて)、自動的に揃えられる (これが
-行われるのは、フィールドの区切り文字がデフォルトの場合だけである)。
+@vindex TZ
+タイムスタンプは、タイムゾーンのルールに従って表示されるが、
+そのルールを指定しているのは、環境変数 @env{TZ} である。
+@env{TZ} が設定されていない場合は、システムのデフォルトのルールに従って表示される。
+@xref{TZ Variable,, Specifying the Time Zone with @env{TZ}, libc,
+The GNU C Library Reference Manual}.
 
-@item --round=@var{method}
-@opindex --round
-@opindex --round=up
-@opindex --round=down
-@opindex --round=from-zero
-@opindex --round=towards-zero
-@opindex --round=nearest
-数値の表現を変換するときに、@var{method} に従って、数値を丸める。@var{method}
-には、@samp{up}, @samp{down}, @samp{from-zero} (デフォルト), @samp{towards-zero},
-@samp{nearest} が使用できる。(訳注: @samp{up} は切り上げ、@samp{down} は切り下げ、
-@samp{from-zero} はゼロから離れる方向へ、@samp{towards-zero} はゼロに近づく
-方向へ、@samp{nearest} は四捨五入である。)
+@item -e[@var{in-tabchar}[@var{in-tabwidth}]]
+@itemx --expand-tabs[=@var{in-tabchar}[@var{in-tabwidth}]]
+@opindex -e
+@opindex --expand-tabs
+@cindex input tabs
+入力の際にタブをスペースに展開する。省略できる引数 @var{in-tabchar} は、
+入力で使われるタブ文字である (デフォルトは TAB 文字)。
+これも省略できる二番目の引数 @var{in-tabwidth} は、
+入力で使われるタブ文字の幅である。(デフォルトは 8 桁)。
 
-@item --suffix=@var{suffix}
-@opindex --suffix
-出力する数値に @samp{SUFFIX} を付ける。また、入力する数値に @samp{SUFFIX}
-が付いていても、エラーにしない。
+@item -f
+@itemx -F
+@itemx --form-feed
+@opindex -F
+@opindex -f
+@opindex --form-feed
+複数個の改行文字ではなく、1 個のフォームフィードを使用して、
+出力する各ページを分離する。このオプションによって、
+66 行というデフォルトのページの長さが変わることはない。
 
-@item --to=@var{unit}
-@opindex --to
-出力する数値の大きさや桁数を @var{unit} に従って自動調整する。@var{unit} に
-ついては、次節「使用できる UNIT」を参照していただきたい。デフォルト
-では、数値の大きさや桁数の調節をしないので、数値を構成するすべての
-数字が表示されることになる。
+@item -h @var{header}
+@itemx --header=@var{header}
+@opindex -h
+@opindex --header
+ヘッダのファイル名の部分を、中央揃えの @var{header} という文字列で置き換える。
+シェル上では、@var{header} はクォートするべきである。また、@option{-h}
+との間に空白を入れた方がよい。
 
-@item --to-unit=@var{n}
-@opindex --to-unit
-出力の 1 単位の大きさを (すなわち、デフォルトの 1 に代えて使う
-大きさを) 指定する。出力する数値の 1 単位の大きさが、デフォルトの
-1 以外の場合に、このオプションを使用するわけだ (たとえば、1
-ブロック 1KB のブロック数で @samp{4,000,000} バイトを表現するには、
-@samp{--to=si --to-unit=1000} が使用できる)。
+@item -i[@var{out-tabchar}[@var{out-tabwidth}]]
+@itemx --output-tabs[=@var{out-tabchar}[@var{out-tabwidth}]]
+@opindex -i
+@opindex --output-tabs
+@cindex output tabs
+出力の際にスペースをタブで置き換える。省略できる引数 @var{out-tabchar}
+は、出力で使われるタブ文字である (デフォルトは TAB 文字)。
+これも省略できる二番目の引数 @var{out-tabwidth} は、出力で使われるタブ文字の幅である
+(デフォルトは 8 桁)。
 
-@end table
+@item -J
+@itemx --join-lines
+@opindex -J
+@opindex --join-lines
+長い行は長いまま結合する。段組みオプション @option{-@var{column}}, @option{-a -@var{column}},
+@option{-m} と併せて使用する。@option{-W/-w} による行の切り詰めが無効になる。
+段の整列も行わなくなる。@option{--sep-string[=@var{string}]} と併せて使ってもよい。
+@option{-J} というオプションが (@option{-W} や @option{--sep-string} とともに)
+新たに設けられたのは、@option{-w} や @option{-s} という、前からある (POSIX に準拠した)
+オプションを 3 種の段組みオプションと組み合わせて使ったときの混乱を解消するためである。
 
-@node Possible UNITs
-@subsection 使用できる @var{unit}
 
-@option{--from=UNIT} や @option{--to=UNIT} で指定する @var{unit} には、次のものを選択する
-ことができる。(訳注: @var{unit} の名前は、大文字ではなく、si, iec などの
-小文字で指定すること。)
+@item -l @var{page_length}
+@itemx --length=@var{page_length}
+@opindex -l
+@opindex --length
+1 ページの行数を、ヘッダ行 (及び フッタ行) を含めて、@var{page_length}
+行にする (デフォルトは 66 行)。@var{page_length} が 10 行以下だったら、
+@option{-t} オプションが指定されたかのように、 ヘッダとフッタは省略する。
 
-@table @var
+@item -m
+@itemx --merge
+@opindex -m
+@opindex --merge
+すべての @var{file} を統合し、各段に 1 ファイルを割り当てて、平行表示する。
+長すぎて段に納まらない行があれば、@option{-J} オプションが使用されていないかぎり、
+切り詰めが行われる。@option{--sep-string[=@var{string}]}
+を指定してもよい。いづれかの @var{file} に (フォームフィードの指定により)
+空白のページが存在すると、空白の段が生ずるが、それでも段を分離する記号の
+@var{string} は表示される。すなわち、統合されたファイルの最初から最後まで、
+行番号と (訳注: これはもちろん、@option{-n} オプションが指定されている場合)
+段の分離記号は、連続して表示されるわけだ。
+ただし、統合されたページのどの段も空白の場合は、分離記号も行番号も表示されない。
+デフォルトのヘッダは、@samp{@var{date} @var{page}} という形式になり、
+中央には空白が挿入される。@option{-h} や @option{--header} オプションを
+@option{-m} と一緒に使えば、この中央の空白部分に文字列を入れることができる。
 
-@item none
-数値の大きさや桁数の調整を行わない。入力する数値には、いかなる
-接尾辞も付けることができない。従って、数値の直後に文字が続くと
-エラーになる。出力する数値については、その数値を構成するすべての
-数字を表示する。
-
-@item si
-国際単位系 (International System of Units (SI)) の規格に従って、
-数値の大きさや桁数を自動調整する。入力する数値には、以下の接尾辞の
-一つが使用できる。出力する数値については、1000 以上の値は丸められ
-て、以下の接尾辞の一つを付けて表示される。
-
-@example
-@samp{K}  =>  @math{1000^1 = 10^3} (Kilo)
-@samp{M}  =>  @math{1000^2 = 10^6} (Mega)
-@samp{G}  =>  @math{1000^3 = 10^9} (Giga)
-@samp{T}  =>  @math{1000^4 = 10^{12}} (Tera)
-@samp{P}  =>  @math{1000^5 = 10^{15}} (Peta)
-@samp{E}  =>  @math{1000^6 = 10^{18}} (Exa)
-@samp{Z}  =>  @math{1000^7 = 10^{21}} (Zetta)
-@samp{Y}  =>  @math{1000^8 = 10^{24}} (Yotta)
-@end example
-
-@item iec
-International Electronical Commission (IEC) の規格に従って、数値の
-大きさや桁数を自動調整する。入力する数値では、以下の接尾辞の一つが
-使用できる。出力する数値については、1024 以上の値は丸められて、
-以下の接尾辞の一つを付けて表示される。
-
-@example
-@samp{K}  =>  @math{1024^1 = 2^{10}} (Kibi)
-@samp{M}  =>  @math{1024^2 = 2^{20}} (Mebi)
-@samp{G}  =>  @math{1024^3 = 2^{30}} (Gibi)
-@samp{T}  =>  @math{1024^4 = 2^{40}} (Tebi)
-@samp{P}  =>  @math{1024^5 = 2^{50}} (Pebi)
-@samp{E}  =>  @math{1024^6 = 2^{60}} (Exbi)
-@samp{Z}  =>  @math{1024^7 = 2^{70}} (Zebi)
-@samp{Y}  =>  @math{1024^8 = 2^{80}} (Yobi)
-@end example
-
-@option{iec} を選択すると、接尾辞に (@samp{G} など) 1 文字の記号が使用される
-ことになるが、これは規格に完全にかなってるとは言えない。IEC の
-規格では (@samp{Gi} など) 2 字の記号を推奨しているからだ。しかし、実際の
-使用では、1 文字の表記法が普通に使われている。@option{iec-i} を指定した
-場合と比較していただきたい。
-
-@item iec-i
-International Electronical Commission (IEC) の規格に従って、数値の
-大きさや桁数を自動調整する。入力する数値では、以下の接尾辞の一つが
-使用できる。出力する数値については、1024 以上の値は丸められて、
-以下の接尾辞の一つを付けて表示される。
-
-@example
-@samp{Ki}  =>  @math{1024^1 = 2^{10}} (Kibi)
-@samp{Mi}  =>  @math{1024^2 = 2^{20}} (Mebi)
-@samp{Gi}  =>  @math{1024^3 = 2^{30}} (Gibi)
-@samp{Ti}  =>  @math{1024^4 = 2^{40}} (Tebi)
-@samp{Pi}  =>  @math{1024^5 = 2^{50}} (Pebi)
-@samp{Ei}  =>  @math{1024^6 = 2^{60}} (Exbi)
-@samp{Zi}  =>  @math{1024^7 = 2^{70}} (Zebi)
-@samp{Yi}  =>  @math{1024^8 = 2^{80}} (Yobi)
-@end example
-
-@option{iec-i} を選択すると、接尾辞に (@samp{Gi} など) 2 文字の記号が使用
-されることになる。これは、IEC の規格が推奨しているとおりだが、
-実際の使用では、必ずしもよく使われているわけではない。@option{iec}
-を指定した場合と、比較していただきたい。
-
-@item auto
-@samp{auto} は @option{--from} でしか使えない。これを選んだ場合、@samp{K},@samp{M},
-@samp{G},@samp{T},@samp{P},@samp{E},@samp{Z},@samp{Y} といった接尾辞が付いていれば、数値は SI
-の値と見なされる。接尾辞が
-@samp{Ki},@samp{Mi},@samp{Gi},@samp{Ti},@samp{Pi},@samp{Ei},@samp{Zi},
-@samp{Yi} などの場合は、数値は IEC の値と見なされることになる。
-
-@end table
-
-@node Examples of using numfmt
-@subsection @command{nunfmt} の使用例
-
-1 個の数値を人間に読みやすい形に変換する (あるいは、その逆を行う)。
-@example
-$ numfmt --to=si 500000
-500K
-
-$ numfmt --to=iec 500000
-489K
-
-$ numfmt --to=iec-i 500000
-489Ki
-
-$ numfmt --from=si 1M
-1000000
-
-$ numfmt --from=iec 1M
-1048576
-
-# '--from=auto' を使用する。M=Mega, Mi=Mebi
-$ numfmt --from=auto 1M
-1000000
-$ numfmt --from=auto 1Mi
-1048576
-@end example
-
-@samp{SI} 表記を @samp{IEC} 表記に換算する (たとえば、ハードディスクの容量が
-メーカー表示では @samp{1TB} となっているが、実際に容量をチェックすると、
-それより少ない場合)。
-
-@example
-$ numfmt --from=si --to=iec 1T
-932G
-@end example
-
-
-ファイルやパイプから読み込んだ入力行にある、ある一つのフィールドを
-変換する (ここに示す数例は、あくまでも説明のために作ったものである。
-実際には、@command{ls} と @command{df} のどちらにも、人間に読みやすい形式でサイズを
-表示するための @option{--human-readable} オプションが存在している)。
-
-@example
-# 3 番目のフィールド (ファイルサイズ) を SI 表記で表示する
-$ ls -log | numfmt --field 3 --header --to=si | head -n4
--rw-r--r--  1     94K Aug 23  2011 ABOUT-NLS
--rw-r--r--  1    3.7K Jan  7 16:15 AUTHORS
--rw-r--r--  1     36K Jun  1  2011 COPYING
--rw-r--r--  1       0 Jan  7 15:15 ChangeLog
-(訳注: 実際には、この一番下の行は表示されず、一番上に「total @dots{} 
-といった行が現れるはずである。)
-
-# 二番目のフィールド (サイズ) を IEC 表記で表示する
-$ df --block-size=1 | numfmt --field 2 --header --to=iec | head -n4
-File system   1B-blocks        Used  Available Use% Mounted on
-rootfs             132G   104741408   26554036  80% /
-tmpfs              794M        7580     804960   1% /run/shm
-/dev/sdb1          694G   651424756   46074696  94% /home
-@end example
-
-
-出力は @option{--padding} や @option{--format} オプションを使って加工することが
-できる。
-
-@example
-# フィールド幅が 10 字になるまで空白で埋める。右詰め表示。
-$ du -s * | numfmt --to=si --padding=10
-      2.5K config.log
-       108 config.status
-      1.7K configure
-        20 configure.ac
-
-# フィールド幅が 10 字になるまで空白で埋める。左詰め表示。
-$ du -s * | numfmt --to=si --padding=-10
-2.5K       config.log
-108        config.status
-1.7K       configure
-20         configure.ac
-
-# @option{--format} オプションを使用して、フィールド幅が 10 文字になるまで
-# 空白で埋める。右詰め表示。
-$ du -s * | numfmt --to=si --format="%10f"
-      2.5K config.log
-       108 config.status
-      1.7K configure
-        20 configure.ac
-
-# @option{--format} オプションを使用して、フィールド幅が 10 文字になるまで
-# 空白で埋める。左詰め表示。
-$ du -s * | numfmt --to=si --padding="%-10f"
-2.5K       config.log
-108        config.status
-1.7K       configure
-20         configure.ac
-@end example
-
-桁区切りをサポートしているロケールでは、@option{--grouping} や @option{--format}
-オプションを使って、数値を数桁ごとに区切ることができる。ロケールが
-@samp{POSIX} や @samp{C} の場合は、桁区切りを指定しても、単に無視される。
-
-@example
-$ LC_ALL=C numfmt --from=iec --grouping 2G
-2147483648
-
-$ LC_ALL=en_US.utf8 numfmt --from=iec --grouping 2G
-2,147,483,648
-
-$ LC_ALL=ta_IN numfmt --from=iec --grouping 2G
-2,14,74,83,648
-
-$ LC_ALL=C numfmt --from=iec --format="==%'15f==" 2G
-==     2147483648==
-
-$ LC_ALL=en_US.utf8 numfmt --from=iec --format="==%'15f==" 2G
-==  2,147,483,648==
-
-$ LC_ALL=en_US.utf8 numfmt --from=iec --format="==%'-15f==" 2G
-==2,147,483,648  ==
-
-$ LC_ALL=ta_IN numfmt --from=iec --format="==%'15f==" 2G
-== 2,14,74,83,648==
-@end example
-
-@node pr invocation
-@section @command{pr}: ページ付けや段組みをしてファイルを表示する
-
-@pindex pr
-@cindex printing, preparing files for
-@cindex multicolumn output, generating
-@cindex merging files in parallel
-
-@command{pr} は、各 @var{file} (@samp{-} は標準入力を表す) を標準出力に書き出す。@var{file} が
-指定されていない場合は、標準入力を対象にする。その際、ページ付けを行い、
-指定があれば段組みをして出力する。また、すべての @var{file} を一つに統合し、
-1 段 1 ファイルの形式で平行して表示することもできる。(訳注: @command{pr} の
-日本語対応は完全ではない。とくに段組みがうまく行かない。)
-@sp 1
-書式:
-
-@example
-pr [@var{option}]@dots{} [@var{file}]@dots{}
-@end example
-
-@vindex LC_MESSAGES
-デフォルトでは、5 行のヘッダが各ページに付く。2 行の空行、日付・
-ファイル名・ページ番号からなる 1 行、そしてもう 2 行の空行である。
-5 行の空行からなるフッタも出力される。デフォルトのページ長 (@var{page_length})
-は 66 行なので、本文に使用されるデフォルトの行数は、56 行である。
-ヘッダのテキスト行は、@samp{@var{date} @var{string} @var{page}} の形を取り、@var{string} の両側に
-空白を入れて、行の幅がページ幅 (@var{page_width}) いっぱいになるように
-している。@var{date} は日付であり (詳細については、@option{--date-format} (@option{-D})
-オプションを参照)、@var{string} は中央揃えのヘッダ文字列 (訳注: デフォルト
-ではファイル名)、@var{page} はページ番号である。@var{page} という単語の綴りは、
-@env{LC_MESSAGES} ロケール・カテゴリによって変わってくる。デフォルトの C
-ロケールでは、@samp{Page @var{number}} であり、@var{number} は 10 進数のページ番号だ。
-
-入力にフォームフィード (Form feed) があると、出力では改ページが行われ
-る。フォームフィードが続くと、白紙のページが生ずる。
-
-段組みをした場合、どの段の幅も同じであり、段と段の間には任意の文字列
-(デフォルトはスペース) が置かれる。多段組みの出力では、@option{-J} オプション
-を使用しないかぎり、各行は常に @var{page_width} (デフォルトは 72) 文字までに
-切り詰められる (訳注: これは、各段や段間の空白などを合計した 1 行の
-長さが、最長でも @var{page_width} 文字までになるということであって、各段が
-それぞれ @var{page_width} 文字になるということではない)。1 段のみの出力では、
-デフォルトでは行の切り詰めは行われない。その場合でも、行の切り詰めを
-行うには、@option{-W} を使用する。
-
-このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
-
-@table @samp
-
-@item +@var{first_page}[:@var{last_page}]
-@itemx --pages=@var{first_page}[:@var{last_page}]
-@c The two following @opindex lines evoke warnings because they contain ':'
-@c The 'info' spec does not permit that.  If we use those lines, we end
-@c up with truncated index entries that don't work.
-@c @opindex +@var{first_page}[:@var{last_page}]
-@c @opindex --pages=@var{first_page}[:@var{last_page}]
-@opindex +@var{page_range}
-@opindex --pages=@var{page_range}
-表示を @var{first_page} ページから始めて、 @var{last_page} ページで終了する。
-@samp{:@var{last_page}} の指定を省略するのは、ファイルの最後までということで
-ある。スキップするページ数を計算する際、入力ファイル中にフォーム
-フィードがあると、そのたびに 1 ページ進むことになる。ページ番号
-は、@samp{+@var{first_page}} があってもなくても、同じになる。デフォルトでは、
-入力ファイルの最初のページからページ数を数えるからだ (表示される
-最初のページからではない)。行番号については @option{-N} オプションで変更す
-ることができる。
-
-@item -@var{column}
-@itemx --columns=@var{column}
-@opindex -@var{column}
-@opindex --columns
-@cindex down columns
-個々の @var{file} に対して @var{column} 段に段組みした出力を生成する (デフォ
-ルトは 1 段)。@option{-a} オプションを使用しない場合、ページ内で本文は、
-段内を上から下へと進む。段が増えると、段の幅は自動的に狭くなる。
-ただし、@option{-W/-w} を同時に使用して、@var{page_width} を増加させている
-場合は、そのかぎりではない。このオプションを使うと、切り詰められる
-行がおそらく生じるだろう。ページごとの各段の行数は、できるだけ揃え
-られる。多段組みの本文出力では、オプション @option{-e} と @option{-i} が
-有効になる。@option{-J} オプションと一緒に使った場合は、段の整列と行の
-切り詰めは行われない。各行は、元の長さのまま、不定長フィールド
-として (free field format) 結合されるのである。その際、@option{-S} オプ
-ションによってフィールド・セパレータを指定することが可能だ。なお
-@option{-@var{column}} は、@option{-m} オプションと一緒に使用できない。
-
-@item -a
-@itemx --across
-@opindex -a
-@opindex --across
-@cindex across columns
-個々の @var{file} を段組みで表示するとき、本文の各行が、段内を上から
-下へではなく、左の段から右の段へと進むようにする。@option{-@var{column}}
-オプションに指定する段の数は、2 以上でなければならない。行が
-段の幅に納まらないほど長い場合、その行は切り詰められる。
-
-@item -c
-@itemx --show-control-chars
-@opindex -c
-@opindex --show-control-chars
-制御文字をハット表記 (たとえば、@samp{^G}) を使って表示する。他の非表示
-文字は、バックスラッシュ付きの 8 進数表記になる。@command{pr} のデフォルト
-では、非表示文字の表示文字化は行われない。
-
-@item -d
-@itemx --double-space
-@opindex -d
-@opindex --double-space
-@cindex double spacing
-ダブルスペースで出力する (訳注: すなわち、行間を 1 行分あける)。
-
-@item -D @var{format}
-@itemx --date-format=@var{format}
-@cindex time formats
-@cindex formatting times
-ヘッダの日付を @var{format} を用いて整形する。@var{format} には、コマンド
-@samp{date +@var{format}} で使うのと同じ指定法が使用できる。@xref{date invocation}.
-@samp{%} で始まる日時の指定を除いて、@var{format} 中の文字は
-そのまま表示される。従って、このオプションを使用すれば、ヘッダの
-日付の位置に任意の文字列を指定することもできるわけだ。たとえば、
-@option{--date-format="Monday morning"} といった具合に。
-
-@vindex POSIXLY_CORRECT
-@vindex LC_TIME
-デフォルトの日付書式は @samp{%Y-%m-%d %H:%M} という形である (たとえば、
-@samp{2001-12-04 23:59})。だが、環境変数 @env{POSIXLY_CORRECT} が設定され、
-しかも @env{LC_TIME} ロケール・カテゴリが POSIX ロケールを指定して
-いる場合は、デフォルトの書式は @samp{%b %e %H:%M %Y} になる (たとえば、
-@samp{Dec@ @ 4 23:59 2001})。
-
-@vindex TZ
-タイムスタンプは、タイムゾーンのルールに従って表示されるが、その
-ルールを指定しているのは、環境変数 @env{TZ} である。@env{TZ} が設定されて
-いない場合は、システムのデフォルトのルールに従って表示される。
-@xref{TZ Variable,, Specifying the Time Zone with @env{TZ}, libc,
-The GNU C Library Reference Manual}.
-
-@item -e[@var{in-tabchar}[@var{in-tabwidth}]]
-@itemx --expand-tabs[=@var{in-tabchar}[@var{in-tabwidth}]]
-@opindex -e
-@opindex --expand-tabs
-@cindex input tabs
-入力の際にタブをスペースに展開する。省略できる引数 @var{in-tabchar} は、
-入力で使われるタブ文字である (デフォルトは TAB 文字)。これも省略
-できる二番目の引数 @var{in-tabwidth} は、入力で使われるタブ文字の幅で
-ある。(デフォルトは 8 桁)。
-
-@item -f
-@itemx -F
-@itemx --form-feed
-@opindex -F
-@opindex -f
-@opindex --form-feed
-複数個の改行文字ではなく、1 個のフォームフィードを使用して、出力
-する各ページを分離する。このオプションによって、66 行というデフォ
-ルトのページの長さが変わることはない。
-
-@item -h @var{header}
-@itemx --header=@var{header}
-@opindex -h
-@opindex --header
-ヘッダのファイル名の部分を、中央揃えの @var{header} という文字列で置き換
-える。シェル上では、@var{header} はクォートするべきである。また、@option{-h}
-との間に空白を入れた方がよい。
-
-@item -i[@var{out-tabchar}[@var{out-tabwidth}]]
-@itemx --output-tabs[=@var{out-tabchar}[@var{out-tabwidth}]]
-@opindex -i
-@opindex --output-tabs
-@cindex output tabs
-出力の際にスペースをタブで置き換える。省略できる引数 @var{out-tabchar}
-は、出力で使われるタブ文字である (デフォルトは TAB 文字)。これも
-省略できる二番目の引数 @var{out-tabwidth} は、出力で使われるタブ文字の
-幅である (デフォルトは 8 桁)。
-
-@item -J
-@itemx --join-lines
-@opindex -J
-@opindex --join-lines
-長い行は長いまま結合する。段組みオプション @option{-@var{column}}, @option{-a -@var{column}},
-@option{-m} と併せて使用する。@option{-W/-w} による行の切り詰めが無効になる。段の
-整列も行わなくなる。@option{--sep-string[=@var{string}]} と併せて使ってもよい。
-@option{-J} というオプションが (@option{-W} や @option{--sep-string} とともに) 新たに
-設けられたのは、@option{-w} や @option{-s} という、前からある (POSIX に準拠した)
-オプションを 3 種の段組みオプションと組み合わせて使ったときの混乱を
-解消するためである。
-
-
-@item -l @var{page_length}
-@itemx --length=@var{page_length}
-@opindex -l
-@opindex --length
-1 ページの行数を、ヘッダ行 (及び フッタ行) を含めて、@var{page_length}
-行にする (デフォルトは 66 行)。@var{page_length} が 10 行以下だったら、
-@option{-t} オプションが指定されたかのように、 ヘッダとフッタは省略する。
-
-@item -m
-@itemx --merge
-@opindex -m
-@opindex --merge
-すべての @var{file} を統合し、各段に 1 ファイルを割り当てて、平行表示
-する。長すぎて段に納まらない行があれば、@option{-J} オプションが使用
-されていないかぎり、切り詰めが行われる。@option{--sep-string[=@var{string}]} を
-指定してもよい。いづれかの @var{file} に (フォームフィードの指定により)
-空白のページが存在すると、空白の段が生ずるが、それでも段を分離する
-記号の @var{string} は表示される。すなわち、統合されたファイルの最初から
-最後まで、行番号と (訳注: これはもちろん、@option{-n} オプションが指定され
-ている場合) 段の分離記号は、連続して表示されるわけだ。ただし、統合
-されたページのどの段も空白の場合は、分離記号も行番号も表示されない。
-デフォルトのヘッダは、@samp{@var{date} @var{page}} という形式になり、中央には空白が
-挿入される。@option{-h} や @option{--header} オプションを @option{-m} と一緒に使えば、
-この中央の空白部分に文字列を入れることができる。
-
-@item -n[@var{number-separator}[@var{digits}]]
-@itemx --number-lines[=@var{number-separator}[@var{digits}]]
-@opindex -n
-@opindex --number-lines
-@var{digits} の幅の行番号を表示する (@var{digits} のデフォルトは 5 桁)。通常の
-多段組みの出力では、行番号は、各段ごとに本文の最初の @var{digits} 桁分の
-位置を占めるが、@option{-m} の出力の場合は、各行の先頭だけに表示される。
-1 段組みでは、@option{-m} の場合と同様、各行の先頭に付く。デフォルトでは、
-行数は、入力ファイルの最初の行から数え始める (表示される最初の行
-からではない。@option{--page} や @option{-N} オプションを参照)。省略可能な引数
-@var{number-separator} は、行番号の後ろに付けて、後に続く本文と区別する
-ための文字であり、デフォルトのセパレータはタブ文字である。厳密に
-言うと、常にタブが表示されるのは、1 段組みの出力のときだけである。
-タブの幅は、本来タブの現れる位置によって変化し、たとえば、@option{-o}
-オプションで指定される左の余白 (@var{margin}) によって変わってくるもの
-である。しかし、多段組みの出力では、「出力される段の幅が同じになる」
-ことが優先されるため (POSIX の仕様)、タブの幅は、最初の段における
-値に固定され、左の余白の値が変わっても、変化することはない。従って、
-@var{number-separator} であるタブの位置には、常に一定数のスペースが表示
-されることになる。スペースをタブに置き換えるかどうかは、出力される
-位置次第である。
+@item -n[@var{number-separator}[@var{digits}]]
+@itemx --number-lines[=@var{number-separator}[@var{digits}]]
+@opindex -n
+@opindex --number-lines
+@var{digits} の幅の行番号を表示する (@var{digits} のデフォルトは 5 桁)。
+通常の多段組みの出力では、行番号は、各段ごとに本文の最初の @var{digits}
+桁分の位置を占めるが、@option{-m} の出力の場合は、各行の先頭だけに表示される。
+1 段組みでは、@option{-m} の場合と同様、各行の先頭に付く。
+デフォルトでは、行数は、入力ファイルの最初の行から数え始める
+(表示される最初の行からではない。@option{--page} や @option{-N} オプションを参照)。
+省略可能な引数 @var{number-separator} は、行番号の後ろに付けて、
+後に続く本文と区別するための文字であり、デフォルトのセパレータはタブ文字である。
+厳密に言うと、常にタブが表示されるのは、1 段組みの出力のときだけである。
+タブの幅は、本来タブの現れる位置によって変化し、たとえば、@option{-o}
+オプションで指定される左の余白 (@var{margin}) によって変わってくるものである。
+しかし、多段組みの出力では、「出力される段の幅が同じになる」ことが優先されるため
+(POSIX の仕様)、タブの幅は、最初の段における値に固定され、左の余白の値が変わっても、
+変化することはない。従って、@var{number-separator} であるタブの位置には、
+常に一定数のスペースが表示されることになる。スペースをタブに置き換えるかどうかは、
+出力される位置次第である。
 
 @item -N @var{line_number}
 @itemx --first-line-number=@var{line_number}
 @opindex -N
 @opindex --first-line-number
-表示される最初のページの最初の行を @var{line_number} として行を数えて
-行く (入力ファイルの最初の行以外から表示を始めるときによく使う)。
+表示される最初のページの最初の行を @var{line_number} として行を数えて行く
+(入力ファイルの最初の行以外から表示を始めるときによく使う)。
 
 @item -o @var{margin}
 @itemx --indent=@var{margin}
@@ -2937,9 +2665,9 @@ The GNU C Library Reference Manual}.
 @cindex indenting lines
 @cindex left margin
 スペース @var{margin} 個分の余白で各行をインデントする (デフォルトは、
-スペース 0 個)。ページの横幅は、@option{-W/-w} で指定した @var{page_width} と
-余白を合計したサイズになる。行番号付きの 1 段組み出力では、行から
-少しはみ出す文字が生ずるかもしれない (@option{-n} オプション参照)。
+スペース 0 個)。ページの横幅は、@option{-W/-w} で指定した @var{page_width}
+と余白を合計したサイズになる。行番号付きの 1 段組み出力では、
+行から少しはみ出す文字が生ずるかもしれない (@option{-n} オプション参照)。
 
 @item -r
 @itemx --no-file-warnings
@@ -2952,26 +2680,26 @@ The GNU C Library Reference Manual}.
 @itemx --separator[=@var{char}]
 @opindex -s
 @opindex --separator
-段と段の区切りに 1 個の文字 @var{char} を使う。@option{-s} オプションを
-指定したときのデフォルトの @var{char} は、@option{-w} オプションを同時に
-指定しなければタブ、指定すれば「なし」である。なお、@option{-s}
-オプションを指定しない場合のデフォルトのセパレータはスペースだ。
+段と段の区切りに 1 個の文字 @var{char} を使う。@option{-s}
+オプションを指定したときのデフォルトの @var{char} は、@option{-w}
+オプションを同時に指定しなければタブ、指定すれば「なし」である。
\81ªã\81\8aã\80\81@option{-s} ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92æ\8c\87å®\9aã\81\97ã\81ªã\81\84å ´å\90\88ã\81®ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81®ã\82»ã\83\91ã\83¬ã\83¼ã\82¿ã\81¯ã\82¹ã\83\9aã\83¼ã\82¹ã\81 ã\80\82
 @option{-s[char]} オプションを使用すると、@option{-w} も同時に指定しないかぎり、
 3 種の段組みオプション (@option{-COLUMN}|@option{-a -COLUMN}|@option{-m})
-のすべてにおいて、行の切り詰めが行われない。
-これは、POSIX に準拠した仕様である。
+のすべてにおいて、行の切り詰めが行われない。これは、POSIX に準拠した仕様である。
 
 
 @item -S[@var{string}]
 @itemx --sep-string[=@var{string}]
 @opindex -S
 @opindex --sep-string
-出力される段の区切りに、文字列 @var{string} を使用する。@option{-s} オプション
-が @option{-W/-w} オプションに影響を及ぼすのとは異なり、@option{-S} オプション
-は @option{-W/-w} オプションに影響を及ぼさない。また、行の切り詰めや段の
-整列にも影響しない。@option{-S} オプションを指定せずに、@option{-J} オプション
-を指定すると、@command{pr} はデフォルトの出力セパレータであるタブを使用
-する (訳注: @option{-J} 使用時のデフォルトということだと思う)。@option{-S} も
+出力される段の区切りに、文字列 @var{string} を使用する。@option{-s}
+オプションが @option{-W/-w} オプションに影響を及ぼすのとは異なり、
+@option{-S} オプションは @option{-W/-w} オプションに影響を及ぼさない。
+また、行の切り詰めや段の整列にも影響しない。@option{-S} オプションを指定せずに、
+@option{-J} オプションを指定すると、@command{pr}
+はデフォルトの出力セパレータであるタブを使用する
+(訳注: @option{-J} 使用時のデフォルトということだと思う)。@option{-S} も
 @option{-J} も指定しない場合、@command{pr} が区切りに使用するのはスペースである
 (@option{-S"@w{ }"} と同じこと)。@option{-S} だけで、引数の @samp{@var{string}} を指定しないと、
 空文字列 (@samp{""}) を指定したことになる。
@@ -2980,22 +2708,21 @@ The GNU C Library Reference Manual}.
 @itemx --omit-header
 @opindex -t
 @opindex --omit-header
-常とは異なり、各ページにヘッダ (とフッタ) を表示しない。また、
-ページの最下部を (空行やフォームフィードで) 埋めることもしない。
+常とは異なり、各ページにヘッダ (とフッタ) を表示しない。
\81¾ã\81\9fã\80\81ã\83\9aã\83¼ã\82¸ã\81®æ\9c\80ä¸\8bé\83¨ã\82\92 (空è¡\8cã\82\84ã\83\95ã\82©ã\83¼ã\83 ã\83\95ã\82£ã\83¼ã\83\89ã\81§) å\9f\8bã\82\81ã\82\8bã\81\93ã\81¨ã\82\82ã\81\97ã\81ªã\81\84ã\80\82
 ページ構成は行わないが、入力ファイルにあるフォームフィードは、
\81\9dã\81®ã\81¾ã\81¾ã\81«ã\81\97ã\81¦ã\81\8aã\81\8fã\80\82ã\81¤ã\81¾ã\82\8aã\80\81ã\81\82ã\82\89ã\81\8bã\81\98ã\82\81決ã\82\81ã\81¦ã\81\8aã\81\84ã\81\9fã\83\9aã\83¼ã\82¸å\88\86å\89²ã\81¯
-変わらないわけだ。@option{-t} や @option{-T} オプションは、他のオプションと
-組み合わせて使うと、便利なことがある。たとえば、@option{-t -e4} は、入力
\83\95ã\82¡ã\82¤ã\83«ã\81®ã\82¿ã\83\96æ\96\87å­\97ã\82\92 4 å\80\8bã\81®ã\82¹ã\83\9aã\83¼ã\82¹ã\81«å±\95é\96\8bã\81\99ã\82\8bã\81\8cã\80\81ã\81\9dã\82\8c以å¤\96ä½\95ã\81®
-変更も行わない。@option{-t} オプションを使用すると、@option{-h} オプションが
-無効になる。
\81\9dã\81®ã\81¾ã\81¾ã\81«ã\81\97ã\81¦ã\81\8aã\81\8fã\80\82ã\81¤ã\81¾ã\82\8aã\80\81ã\81\82ã\82\89ã\81\8bã\81\98ã\82\81決ã\82\81ã\81¦ã\81\8aã\81\84ã\81\9fã\83\9aã\83¼ã\82¸å\88\86å\89²ã\81\8c
+変更されないということだ。@option{-t} や @option{-T} オプションは、
+他のオプションと組み合わせて使うと、便利なことがある。たとえば、@option{-t -e4}
\81¯ã\80\81å\85¥å\8a\9bã\83\95ã\82¡ã\82¤ã\83«ã\81®ã\82¿ã\83\96æ\96\87å­\97ã\82\92 4 å\80\8bã\81®ã\82¹ã\83\9aã\83¼ã\82¹ã\81«å±\95é\96\8bã\81\99ã\82\8bã\81\8cã\80\81
+それ以外何の変更も行わない。@option{-t} オプションを使用すると、
+@option{-h} オプションが無効になる。
 
 @item -T
 @itemx --omit-pagination
 @opindex -T
 @opindex --omit-pagination
-ヘッダ (とフッタ) を表示しない。さらに、入力ファイルにあるフォーム
-フィードをすべて取り除く。
+ヘッダ (とフッタ) を表示しない。さらに、入力ファイルにあるフォームフィードをすべて取り除く。
 
 @item -v
 @itemx --show-nonprinting
@@ -3007,28 +2734,32 @@ The GNU C Library Reference Manual}.
 @itemx --width=@var{page_width}
 @opindex -w
 @opindex --width
-本文を多段組み出力にしたときのみ、ページの幅を @var{page_width} 文字に
-する (@var{page_width} のデフォルトは 72 字)。多段組みで @option{-w} オプション
-を指定せず、@option{-s[CHAR]} オプションだけ指定すると、デフォルトの
-ページ幅が無効になり、行の切り詰めや段の整列も行われなくなる。
-すなわち、多段組みのオプションが指定されているのに、各行が、
-長いものは長いまま結合されてしまうのだ。なお、1 段組みの出力では、
+本文を多段組み出力にしたときにのみ、ページの幅を @var{page_width} 文字にする
+(@var{page_width} のデフォルトは 72 字)。各段の幅が等しくなるようにするため、
+ページ幅が指定した @var{page_width} より狭くなることがある。
+多段組みで @option{-w} オプションを指定せず、@option{-s[CHAR]}
+オプションだけ指定すると、デフォルトのページ幅が無効になり、
+行の切り詰めや段の整列も行われなくなる。
+すなわち、各段の長い行が長いまま結合されてしまうのだ。なお、1 段組みの出力では、
 @var{page_width} の指定はできない。以上は、POSIX に準拠した仕様である。
 
 @item -W @var{page_width}
 @itemx --page_width=@var{page_width}
 @opindex -W
 @opindex --page_width
-ページの幅を @var{page_width} 文字にする。この指定は、段組みオプションが
-あってもなくても、有効である。@option{-J} オプションを使用しないかぎり、
-本文の行が切り詰められる。3 種の段組みオプション (@option{-@var{column}},
-@option{-a -@var{column}}, @option{-m}) と組み合わせて使った場合、段の整列が常に行われる。
-セパレータを指定するオプションの @option{-S} や @option{-s} は、@option{-W} オプションに
-影響を及ぼさない。デフォルトは 72 文字である。@option{-W @var{page_width}} も
-なく、段組みオプションも全く指定されていない場合に、行の切り詰めが
-行われることは絶対にない (下位互換を維持しつつ、よく行われる作業の
-ほとんどに対応するために、そうなっている)。この動作は、@option{-W 72 -J}
-と同じである。なお、ヘッダ行が切り詰められることは絶対にない。
+ページの幅を @var{page_width} 文字にする。この指定は、
+段組みオプションがあってもなくても、有効である。段組みオプションとともに使った場合、
+各段の幅が等しくなるようにするため、ページ幅が指定した @var{page_width}
+より狭くなることがある。@option{-J} オプションを使用しないかぎり、本文の行が切り詰められる。
+3 種の段組みオプション (@option{-@var{column}}, @option{-a -@var{column}},
+@option{-m}) と組み合わせて使った場合、段の整列が常に行われる。
+セパレータを指定するオプションの @option{-S} や @option{-s} が、
+@option{-W} オプションを無効にすることはない。デフォルトは 72 文字である。
+@option{-W @var{page_width}} オプションもなく、
+段組みオプションも全く指定されていない場合に、行の切り詰めが行われることは絶対にない
+(下位互換を維持しつつ、よく行われる作業のほとんどに対応するために、そうなっている)。
+この動作は、@option{-W 72 -J} と同じである。
+なお、ヘッダ行が切り詰められることは絶対にない。
 
 @end table
 
@@ -3042,23 +2773,31 @@ The GNU C Library Reference Manual}.
 @cindex wrapping long input lines
 @cindex folding long input lines
 
-@command{fold} は、各 @var{file} (@option{-} は標準入力を表す) を、長い行は折り返して、標準
-出力に書き出す。@var{file} が指定されていない場合は、標準入力を対象にする。
-(訳注: @command{fold} の日本語対応は完全ではない。出力行の長さによっては、
-あるいは、日本語にアルファベットが混じると、文字化けすることがある。)
-@sp 1
+@command{fold} は、各 @var{file} (@option{-} は標準入力を表す)
+を、長い行は折り返して、標準出力に書き出す。
+@var{file} が指定されていない場合は、標準入力を対象にする。
+
+(訳注: @command{fold} の日本語対応は完全ではない。
+3 バイトで表現される UTF-8 の漢字やかなは、1 文字 が 3 桁として計算され、
+画面上では 2 桁分を占める。だから、日本語のテキストが
+3 バイトの UTF-8 文字だけで書かれているならば、@samp{fold -w 105}
+で長い行が 1 行 35 字 (70 桁) できちんと折り返される。
+だが、出力行の長さが不適切だったり、ASCII 文字や
+4 バイトの漢字が交じったりすると、行末や行頭で文字化けが生じかねない。
+もちろん、日本語の禁則処理は期待できない。)
+
 書式:
 
 @example
 fold [@var{option}]@dots{} [@var{file}]@dots{}
 @end example
 
-デフォルトでは、@command{fold} は 80 桁よりも長い行を折り返す。出力は必要なら
-何行にも分割されることになる。
+デフォルトでは、@command{fold} は 80 桁よりも長い行を折り返す。
+出力は必要なら何行にも分割されることになる。
 
 @cindex screen columns
-@command{fold} はデフォルトでは、画面上の桁数を数える。従って、タブは 2 桁
-以上に数えられるかもしれないし、バックスペースは桁数を減らすことになる。
+@command{fold} はデフォルトでは、画面上の桁数を数える。従って、タブは
+2 桁以上に数えられるかもしれないし、バックスペースは桁数を減らすことになる。
 また、復帰文字 (carriage return) は、桁数を 0 にする。
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
@@ -3069,17 +2808,15 @@ fold [@var{option}]@dots{} [@var{file}]@dots{}
 @itemx --bytes
 @opindex -b
 @opindex --bytes
-桁数ではなく、バイト数を数える。従って、タブ、バックスペース、復帰
-文字も、他の文字と全く同じように、それぞれ 1 桁を占めるものとして
-計算される。
+桁数ではなく、バイト数を数える。従って、タブ、バックスペース、復帰文字も、
+他の文字と全く同じように、それぞれ 1 桁を占めるものとして計算される。
 
 @item -s
 @itemx --spaces
 @opindex -s
 @opindex --spaces
-単語境界で折り返す。行は、行の最大長より前にある最後の空白の後ろで
-折り返される。行にそうした空白がない場合は、通常通り、行の最大長で
-折り返される。
+単語境界で折り返す。行は、行の最大長より前にある最後の空白の後ろで折り返される。
+行にそうした空白がない場合は、通常通り、行の最大長で折り返される。
 
 @item -w @var{width}
 @itemx --width=@var{width}
@@ -3087,8 +2824,8 @@ fold [@var{option}]@dots{} [@var{file}]@dots{}
 @opindex --width
 行の最大長に 80 桁ではなく、@var{width} 桁を使用する。
 
-互換性のために、@command{fold} は古い書式のオプション @option{-@var{width}} もサポート
-している。新しいスクリプトでは、@option{-w @var{width}} の方を使用すべきである。
+互換性のために、@command{fold} は古い書式のオプション @option{-@var{width}}
\82\82ã\82µã\83\9dã\83¼ã\83\88ã\81\97ã\81¦ã\81\84ã\82\8bã\80\82æ\96°ã\81\97ã\81\84ã\82¹ã\82¯ã\83ªã\83\97ã\83\88ã\81§ã\81¯ã\80\81@option{-w @var{width}} ã\81®æ\96¹ã\82\92使ç\94¨ã\81\99ã\81¹ã\81\8dã\81§ã\81\82ã\82\8bã\80\82
 
 @end table
 
@@ -3118,17 +2855,17 @@ fold [@var{option}]@dots{} [@var{file}]@dots{}
 @cindex first part of files, outputting
 
 @command{head} は、各 @var{file} の先頭部分 (デフォルトでは 10 行) を表示する。
-ファイルが指定されていない場合や、@var{file} として @option{-} が指定されている
-場合は、標準入力から読み込む。
-@sp 1
+ファイルが指定されていない場合や、@var{file} として
+@option{-} が指定されている場合は、標準入力から読み込む。
+
 書式:
 
 @example
 head [@var{option}]@dots{} [@var{file}]@dots{}
 @end example
 
-指定された @var{file} が 2 個以上あると、@command{head} は、次のような 1 行
-からなるヘッダを出力する。
+指定された @var{file} が 2 個以上あると、
+@command{head} は、次のような 1 行からなるヘッダを出力する。
 
 @example
 ==> @var{file name} <==
@@ -3141,21 +2878,22 @@ head [@var{option}]@dots{} [@var{file}]@dots{}
 
 @table @samp
 
-@item -c @var{k}
-@itemx --bytes=@var{k}
+@item -c [-]@var{num}
+@itemx --bytes=[-]@var{num}
 @opindex -c
 @opindex --bytes
-ファイルの先頭数行を表示する代わりに、先頭から @var{k} バイトを表示する。
-ただし、@var{k} が @samp{-} で始まっている場合は、各ファイルについて、末尾の
-@var{k} バイトを除いたすべてを表示することになる。@multiplierSuffixes{k}
+ファイルの先頭数行を表示する代わりに、先頭から @var{num} バイトを表示する。
+ただし、@var{num} の前に @samp{-} が付いている場合は、各ファイルについて、
+末尾の @var{num} バイトを除いたすべてを表示することになる。
+@multiplierSuffixes{num}
 
-@item -n @var{k}
-@itemx --lines=@var{k}
+@item -n [-]@var{num}
+@itemx --lines=[-]@var{num}
 @opindex -n
 @opindex --lines
-ファイルの先頭から @var{k} 行を表示する。ただし、@var{k} が @samp{-} で始まっている
-場合は、各ファイルについて、末尾の @var{k} 行を除いたすべてを表示すること
\81«ã\81ªã\82\8bã\80\82ã\82µã\82¤ã\82ºã\81®ä¹\97æ\95°æ\8e¥å°¾è¾\9eã\81¯ã\80\81@option{-c} ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81®å ´å\90\88ã\81¨å\90\8cæ§\98ã\81§ã\81\82ã\82\8bã\80\82
+ファイルの先頭から @var{num} 行を表示する。ただし、@var{num} の前に
+@samp{-} が付いている場合は、各ファイルについて、末尾の @var{num} 行を除いたすべてを表示することになる。
+サイズの乗数接尾辞は、@option{-c} オプションの場合と同様である。
 
 @item -q
 @itemx --quiet
@@ -3171,18 +2909,21 @@ head [@var{option}]@dots{} [@var{file}]@dots{}
 @opindex --verbose
 ファイル名を示すヘッダを常に出力する。
 
+@optZeroTerminated
+
 @end table
 
-@command{head} は、互換性を考慮して、@option{-@var{count}[@var{options}]} というオプション指定
-の古い書式もサポートしている。ただし、この書式が認識されるのは、最初の
-オプションとして指定されたときだけである。@var{count} は 10 進数であり、@option{-c}
-オプションの場合と同様、サイズを示す文字 (@samp{b}, @samp{k}, @samp{m}) を後ろに続けて
-もよく、また、行数であることを明示する @samp{l} や、ほかのオプション文字
-(@samp{cqv}) を続けることもできる。標準的なホストで使うことを意図したスク
-リプトでは、古い書式ではなく、@option{-c @var{count}} や @option{-n @var{count}} を使用するべきで
-ある。そのスクリプトが、古い書式にしか対応していないホストでも動作する
-必要がある場合は、@command{head} を使わないで済ました方が、たいていの場合
-簡明である。たとえば、@samp{head -5} の代わりに、@samp{sed 5q} を使用するわけだ。
+@command{head} は、互換性を考慮して、@option{-[@var{num}][bkm][cqv]}
+というオプション指定の古い書式もサポートしている。
+ただし、この書式が認識されるのは、最初のオプションとして指定されたときだけである。
+@var{num} は 10 進数であり、@option{-c} オプションの場合と同様、
+サイズを示す文字 (@samp{b}, @samp{k}, @samp{m}) を後ろに続けてもよく、
+また、行数であることを明示する @samp{l} や、ほかのオプション文字
+(@samp{cqv}) を続けることもできる。標準的なホストで使うことを意図したスクリプトでは、
+古い書式ではなく、@option{-c @var{num}} や @option{-n @var{num}} を使用するべきである。
+そのスクリプトが、古い書式にしか対応していないホストでも動作する必要がある場合は、
+@command{head} を使わないで済ました方が、たいていの場合簡明である。
+たとえば、@samp{head -5} の代わりに、@samp{sed 5q} を使用するわけだ。
 
 @exitstatus
 
@@ -3194,24 +2935,32 @@ head [@var{option}]@dots{} [@var{file}]@dots{}
 @cindex last part of files, outputting
 
 @command{tail} は、各 @var{file} の末尾部分 (デフォルトでは 10 行) を表示する。
-ファイルが指定されていない場合や、@var{file} として @samp{-} が指定されている
-場合は、標準入力から読み込む。
-@sp 1
+ファイルが指定されていない場合や、@var{file} として
+@samp{-} が指定されている場合は、標準入力から読み込む。
+
 書式:
 
 @example
 tail [@var{option}]@dots{} [@var{file}]@dots{}
 @end example
 
-指定された @var{file} が 2 個以上あると、@command{tail} は、以下のような 1 行
-からなるヘッダを出力する。
+指定された @var{file} が 2 個以上あると、@command{tail} は、
+各 @var{file} の出力の前に、以下のような 1 行からなるヘッダを出力する。
 
 @example
 ==> @var{file name} <==
 @end example
 
-@noindent
-このヘッダは、各 @var{file} の出力の前に置かれる。
+tail の出力をさらに処理したい場合は、ファイルヘッダを行頭の見出しに変更すると便利かもしれない。
+こんなふうにすればよい。
+
+@example
+tail @dots{} |
+awk '
+  /^==> .* <==$/ @{prefix=substr($0,5,length-8)":"; next@}
+  @{print prefix$0@}
+' | @dots{}
+@end example
 
 @cindex BSD @command{tail}
 GNU の @command{tail} は、出力するデータの量に制限がない (ほかの系統の
@@ -3226,14 +2975,14 @@ GNU の @command{tail} は、出力するデータの量に制限がない (ほ
 
 @table @samp
 
-@item -c @var{k}
-@itemx --bytes=@var{k}
+@item -c [+]@var{num}
+@itemx --bytes=[+]@var{num}
 @opindex -c
 @opindex --bytes
-ファイルの末尾数行を出力する代わりに、末尾の @var{k} バイトを出力する。
-ただし、@var{k} が @samp{+} で始まっている場合は、各ファイルの末端から @var{k}
-バイト目ではなく、先頭から @var{k} バイト目を始点として出力を開始する。
-@multiplierSuffixes{k}
+ファイルの末尾数行を出力する代わりに、末尾の @var{num} バイトを出力する。
+ただし、@var{num} の前に @samp{+} が付いている場合は、各ファイルの末端から
+@var{num} バイト目ではなく、先頭から @var{num} バイト目を始点として出力を開始する。
+@multiplierSuffixes{num}
 
 @item -f
 @itemx --follow[=@var{how}]
@@ -3242,61 +2991,55 @@ GNU の @command{tail} は、出力するデータの量に制限がない (ほ
 @cindex growing files
 @vindex name @r{follow option}
 @vindex descriptor @r{follow option}
-ファイルの末端まで達しても、さらに文字を読み込もうとして、無限
-ループする。たぶん、ファイルのサイズが増加し続けているからである。
-複数のファイルが指定されている場合、@command{tail} は、異なるファイル
-から出力があるたびに、その出力がどのファイルから来たものかわかる
-ように、ヘッダを表示する。
-
-このオプションを使ってファイルの追跡をするとき、二つの方法が選択
-できるが、その違いがわかるのは、追いかけているファイルが消去され
-たり、名前を変更されたりしたときだけである。もし、増大しつつある
-ファイルが削除されたあとでも、そのファイルの末尾の追跡を続行したい
-ならば、@option{--follow=descriptor} を使用すればよい。これがデフォルト
-の動作だが、ログファイルを追跡している際には、役に立たない。ログ
-ファイルは、ローテートされる (すなわち、消去、または名前を変更
-されてから、改めてオープンされる) 可能性があるからだ。そうした
-場合には、@option{--follow=name} を使用すれば、指定した名前のファイルを
-追跡することができる。おそらく追跡には、定期的にその名前のファイル
-をオープンし直すことで、何らかのプログラムによってファイルが消去
-されてから再作成されなかったかどうかを確かめるといった方法が、
-使われることだろう。なお、inotify をベースにした実装では、こうした
-ケースを処理するのに、ファイルを定期的に再オープンする必要がない
-ことを付記しておく。
-
-どちらの方法を使った場合でも、追跡中のファイルのサイズが小さく
-なっていることがわかると、 @command{tail} は、ファイルが短縮されたという
-メッセージを出し、ファイルの末端と改めて判断したところからファイル
-の追尾を再開する。
+ファイルの末端まで達しても、さらに文字を読み込もうとして、無限ループする。
+たぶん、ファイルのサイズが増加し続けているからである。
+複数のファイルが指定されている場合、@command{tail} は、
+異なるファイルから出力があるたびに、その出力がどのファイルから来たものかわかるように、
+ヘッダを表示する。
+
+このオプションを使ってファイルの追跡をするとき、二つの方法が選択できるが、
+その違いが現れるのは、追いかけているファイルが消去されたり、
+名前を変更されたりしたときだけである。もし、増大しつつあるファイルが削除されたあとでも、
+そのファイルの末尾の追跡を続行したいならば、@option{--follow=descriptor}
+を使用すればよい。これがデフォルトの動作だが、ログファイルを追跡している際には、
+役に立たない。ログファイルは、ローテートされる
+(すなわち、消去、または名前を変更されてから、改めてオープンされる)
+可能性があるからだ。そうした場合には、@option{--follow=name} を使用すれば、
+指定した名前のファイルを追跡することができる。おそらく追跡には、
+定期的にその名前のファイルをオープンし直すことで、
+何らかのプログラムによってファイルが消去されてから再作成されなかったかどうかを確かめるといった方法が、
+使われることだろう。なお、inotify をベースにした実装では、こうしたケースを処理するのに、
+ファイルを定期的に再オープンする必要がないことを付記しておく。
+
+どちらの方法を使った場合でも、追跡中のファイルのサイズが小さくなっていることがわかると、
+@command{tail} は、ファイルが短縮されたというメッセージを出し、
+ファイルの末端と改めて判断したところからファイルの追尾を再開する。
 
 ファイルが消去されたときの @command{tail} の動作は、追いかけているものが、
 名前か (@option{--follow=name})、ディスクリプタか (@option{--follow=descriptor})
-によって異なっている。名前による追跡の場合、tail はファイルが消去
-されたことを検出できるので、その旨メッセージを表示する。このとき、
-@option{--retry} も指定されていると、同じ名前のファイルが再作成されている
-かどうか、定期的な検査を継続して行う。ディスクリプタを追跡する場合は、
-ファイルが削除されたり、名前の変更が行われたりしても、tail はそれを
-検出しないので、メッセージを出さない。そうしたファイルが、もはや元の
-名前ではアクセスできなくなっていても、なお増大し続けているということ
-もありえる。
-
-@samp{descriptor} や @samp{name} というオプションの値は、長い方のオプションの
-形式によってのみ指定できる。@option{-f} では指定できない。
-
-オペランド @var{file} が全く指定されていず、しかも標準入力が FIFO や
-パイプである場合、@option{-f} オプションは無視される。また、標準入力が
-FIFO やパイプである場合には、@samp{-} という形で指定されたオペランドが
-あっても、@option{-f} はそれに対して効果を持たない。
-
-カーネルが inotify をサポートしていると、出力はファイルの変更が
-引き金になるので、一般に反応がキビキビしている。それに対して、
-カーネルが inotify をサポートしていないと、@command{tail} はチェック
-ごとに 1 秒間スリープするので (このデフォルトを変更するには、
-@option{--sleep-interval=@var{n}} を使用する)、出力の反応がやや遅めに感じられ
-たり、断続的に感じられたりするかもしれない。inotify のサポート
-なしで tail を使用する場合、反応を向上させるには、sleep する間隔を
-1 秒以下に設定すればよい。たとえば、次のようなエイリアスを作成する
-わけだ。
+によって異なっている。名前による追跡の場合、
+tail はファイルが消去されたことを検出できるので、その旨メッセージを表示する。
+このとき、@option{--retry} も指定されていると、
+同じ名前のファイルが再作成されているかどうか、定期的な検査を継続して行う。
+ディスクリプタを追跡する場合は、ファイルが削除されたり、名前の変更が行われたりしても、
+tail はそれを検出しないので、メッセージを出さない。そうしたファイルが、
+もはや元の名前ではアクセスできなくなっていても、なお増大し続けているということもありえる。
+
+@samp{descriptor} や @samp{name} というオプションの値は、
+長い方のオプションの形式によってのみ指定できる。@option{-f} では指定できない。
+
+オペランド @var{file} が全く指定されていず、しかも標準入力が
+FIFO やパイプである場合、@option{-f} オプションは無視される。また、標準入力が
+FIFO やパイプである場合は、@samp{-} という形で指定されたオペランドがあっても、
+@option{-f} はそれに対して効果を持たない。
+
+カーネルが inotify をサポートしていると、出力はファイルの変更が引き金になるので、一般に反応がキビキビしている。
+それに対して、カーネルが inotify をサポートしていないと、@command{tail}
+はチェックごとに 1 秒間スリープするので
+(このデフォルトを変更するには、@option{--sleep-interval=@var{n}} を使用する)、
+出力の反応がやや遅めに感じられたり、断続的に感じられたりするかもしれない。
+inotify のサポートなしで tail を使用する場合、反応を向上させるには、
+sleep する間隔を 1 秒以下に設定すればよい。たとえば、次のようなエイリアスを作成するわけだ。
 
 @example
 alias tail='tail -s.1'
@@ -3305,89 +3048,54 @@ alias tail='tail -s.1'
 @item -F
 @opindex -F
 このオプションは @option{--follow=name --retry} と同じである。すなわち、
-ファイルが消去された場合、tail はその名前のファイルをオープン
-し直そうとする。それに失敗しても、ファイルに再びアクセスできるように
-なるまで、再オープンを試み続ける。
-
-@item --retry
-@opindex --retry
-指定された名前のファイルを繰り返し何度でもオープンしようとする。
-このオプションが役に立つのは、ファイルの末尾を追跡している場合が
-ほとんどである (それ以外の場合は、警告メッセージを出す)。
-
-ファイル・ディスクリプタによって追跡している場合は (すなわち、
-@option{--follow=descriptor} の場合は)、このオプションは、最初に
-ファイルをオープンするときの動作にしか影響しない。ひとたび
-オープンに成功してしまえば、@command{tail} は、ファイル名ではなく、
-ファイル・ディスクリプタを追跡することになるからである。
-
-ファイル名によって追跡している場合は (すなわち、@option{--follow=name}
-の場合は)、@command{tail} は、ユーザによって中断 (kill) されるまで、
-いつまでも繰り返しその名前のファイルを再オープンしようとする。
+ファイルが消去された場合、tail はその名前のファイルをオープンし直そうとする。
+それに失敗しても、ファイルに再びアクセスできるようになるまで、再オープンを試み続ける。
 
-このオプションを付けないと、 @command{tail} は、ファイルが存在しなく
-なったり、何かほかの理由でファイルにアクセスできなくなったりする
-ことがあっても、その旨報告するだけで、以後再検査を行うことがない。
-
-@item --sleep-interval=@var{number}
-@opindex --sleep-interval
-何秒間隔で追尾・表示動作を行うかを変更する (デフォルトは 1.0 秒
-間隔)。@command{tail} は動作の繰り返しごとに、指定されたすべてのファイル
-について、サイズが変わっていないかどうかのチェックを行う。@command{tail}
-の伝統的な実装では、@var{number} は整数でなければならなかったが、GNU の
-@command{tail} では、任意の浮動小数点数を指定することが可能になっている。
-@xref{Floating point}.  @command{tail} が inotify を使用していると、
-このポーリング関係の (polling-related) オプションは通常無視される。
-ただし、@option{--pid=@var{p}} も一緒に指定されている場合は別で、その場合は、
-プロセス @var{p} が生きているかどうかを、@command{tail} が少なくとも
-@var{number} 間隔でチェックすることになる。
+@item --max-unchanged-stats=@var{n}
+@opindex --max-unchanged-stats
+名前によってファイルの追尾を行っているとき、連続して @var{n} 回
+(デフォルトは n=@value{DEFAULT_MAX_N_UNCHANGED_STATS_BETWEEN_OPENS})
+追尾動作を実行しても、その間にファイルに変更がなかった場合に、ファイルを
+@code{open} し、@code{fstat} して、
+そのファイル名と結びついている「デバイス番号/inode 番号」の組み合わせが、
+今でも前と同じままかどうかを確認する。ローテートを行うログファイルを追跡している場合、
+この @var{n} は、tail がローテートする前に最後の行を表示してから、
+新しいログファイルに溜まっている行を表示するまでの秒数に、ほぼ等しい。
+このオプションに意味があるのは、ポーリングを使用して
+(すなわち、inotify を使わずに)、名前による追跡を行うときだけである。
+
+@item -n [+]@var{num}
+@itemx --lines=[+]@var{num}
+@opindex -n
+@opindex --lines
+末尾の  @var{num} 行を出力する。ただし、@var{num} の前に @samp{+}
+が付いている場合は、各ファイルの末端から @var{num} 行目ではなく、
+先頭から @var{num} 行目を始点として出力を開始する。サイズの乗数接尾辞は、@option{-c} の場合と同様である。
 
 @item --pid=@var{pid}
 @opindex --pid
-追跡が名前によって行われていようと、ディスクリプタによって行われて
-いようと、@var{file} 引数で指定されたすべてのファイルに書き込みを行う
-プログラムがたった一つならば、そのプログラムのプロセス番号 @var{pid}
-を指定することができる。そうしておくと、そのプロセスが終了する直後に
-tail も終了するようになるのだ。これがきちんと動作するのは、書き込み
-プログラムと tail のプロセスが、同じマシンで動いているときだけで
-ある。たとえば、プログラムをビルドするとき、その出力をファイルに
-保存しながら、ファイルが増大して行くのを見守りたいならば、下記の
-ように @command{make} と @command{tail} を実行すればよい。そうすれば、ビルドが完了
-したとき、tail のプロセスも終了する。このオプションを使わない
-場合は、@code{tail -f} のプロセスを自分で止めなければならないだろう。
+追跡が名前によって行われていようと、ディスクリプタによって行われていようと、
+@var{file} 引数で指定されたすべてのファイルに書き込みを行うプログラムがたった一つならば、
+そのプログラムのプロセス番号 @var{pid} を指定することができる。
+そうしておくと、そのプロセスが終了する直後に tail も終了するようになるのだ。
+これがきちんと動作するのは、書き込みプログラムと tail のプロセスが、
+同じマシンで動いているときだけである。たとえば、プログラムをビルドするとき、
+その出力をファイルに保存しながら、ファイルが増大して行くのを見守りたいならば、
+下記のように @command{make} と @command{tail} を実行すればよい。
+そうすれば、ビルドが完了したとき、tail のプロセスも終了する。
+このオプションを使わない場合は、@code{tail -f} のプロセスを自分で止めなければならないだろう。
 
 @example
 $ make >& makerr & tail --pid=$! -f makerr
 @end example
 
-使用されていない @var{pid} を指定した場合や、tail が対象とするファイルに
-書き込んでいるプロセスとは別のプロセスの @var{pid} を指定した場合は、
-@command{tail} は、@var{file} の増大が止まるずっと前に終了してしまうかもしれ
-ないし、実際に書き込んでいるプログラムが終了してしまっても、当分
-の間終了しないかもしれない。気をつけてほしいが、システムによっては、
-@option{--pid} が使えないことがある。その場合、@command{tail} は警告メッセージ
-を出すはずだ。
-
-@item --max-unchanged-stats=@var{n}
-@opindex --max-unchanged-stats
-名前によってファイルの追尾を行っているとき、連続して @var{n} 回 (デフォ
-ルトは n=@value{DEFAULT_MAX_N_UNCHANGED_STATS_BETWEEN_OPENS})
-追尾動作を実行しても、その間にファイルに変更がなかった
-場合に、ファイルを @code{open} し、@code{fstat} して、そのファイル名と結び
-ついている「デバイス番号/inode 番号」の組み合わせが、今でも前と同じ
-ままかどうかを確認する。ローテートを行うログファイルを追跡している
-場合、この @var{n} は、tail がローテートする前に最後の行を表示してから、
-新しいログファイルに溜まっている行を表示するまでの秒数に、ほぼ等
-しい。このオプションに意味があるのは、ポーリングを使用して (すな
-わち、inotify を使わずに)、名前による追跡を行うときだけである。
-
-@item -n @var{k}
-@itemx --lines=@var{k}
-@opindex -n
-@opindex --lines
-末尾の  @var{k} 行を出力する。ただし、@var{k} が @samp{+} で始まっている場合は、
-各ファイルの末端から @var{k} 行目ではなく、先頭から @var{k} 行目を始点として
-出力を開始する。サイズの乗数接尾辞は、@option{-c} の場合と同様である。
+使用されていない @var{pid} を指定した場合や、
+tail が対象とするファイルに書き込んでいるプロセスとは別のプロセスの
+@var{pid} を指定した場合は、
+@command{tail} は、@var{file} の増大が止まるずっと前に終了してしまうかもしれないし、
+実際に書き込んでいるプログラムが終了してしまっても、当分の間終了しないかもしれない。
+気をつけてほしいが、システムによっては、@option{--pid} が使えないことがある。
+その場合、@command{tail} は警告メッセージを出すはずだ。
 
 @item -q
 @itemx --quiet
@@ -3397,47 +3105,86 @@ $ make >& makerr & tail --pid=$! -f makerr
 @opindex --silent
 ファイル名を示すヘッダを出力しない。
 
+@item --retry
+@opindex --retry
+指定された名前のファイルを繰り返し何度でもオープンしようとする。
+このオプションが役に立つのは、ファイルの末尾を追跡している場合がほとんどである
+(それ以外の場合は、警告メッセージを出す)。
+
+ファイル・ディスクリプタによって追跡している場合は (すなわち、
+@option{--follow=descriptor} の場合は)、
+このオプションは、最初にファイルをオープンするときの動作にしか影響しない。
+ひとたびオープンに成功してしまえば、@command{tail} は、ファイル名ではなく、
+ファイル・ディスクリプタを追跡することになるからである。
+
+ファイル名によって追跡している場合は (すなわち、@option{--follow=name}
+の場合は)、@command{tail} は、ユーザによって中断 (kill) されるまで、
+いつまでも繰り返しその名前のファイルを再オープンしようとする。
+
+このオプションを付けないと、 @command{tail} は、ファイルが存在しなくなったり、
+何かほかの理由でファイルにアクセスできなくなったりすることがあっても、
+その旨報告するだけで、以後再検査を行うことがない。
+
+@item -s @var{number}
+@itemx --sleep-interval=@var{number}
+@opindex -s
+@opindex --sleep-interval
+何秒間隔で追尾・表示動作を行うかを変更する (デフォルトは 1.0 秒間隔)。
+@command{tail} は動作の繰り返しごとに、指定されたすべてのファイルについて、
+サイズが変わっていないかどうかのチェックを行う。@command{tail}
+の伝統的な実装では、@var{number} は整数でなければならなかったが、GNU の
+@command{tail} では、任意の浮動小数点数を指定することが可能になっている。
+@xref{Floating point}.  @command{tail} が inotify を使用していると、
+このポーリング関係の (polling-related) オプションは通常無視される。
+ただし、@option{--pid=@var{p}} も一緒に指定されている場合は別で、その場合は、
+プロセス @var{p} が生きているかどうかを、@command{tail} が少なくとも
+@var{number} 間隔でチェックすることになる。
+
 @item -v
 @itemx --verbose
 @opindex -v
 @opindex --verbose
 ファイル名を示すヘッダを常に出力する。
 
+@optZeroTerminated
+
 @end table
 
-@command{tail} は互換性のために、@samp{tail -[@var{count}][bcl][f] [@var{file}]}
-という古い
-ç\94¨æ³\95ã\82\82ã\82µã\83\9dã\83¼ã\83\88ã\81\97ã\81¦ã\81\84ã\82\8bã\81\8cã\80\81ã\81\9dã\82\8cã\81\8cèª\8dè­\98ã\81\95ã\82\8cã\82\8bã\81®ã\81¯ã\80\81ä¸\8aã\81§èª¬æ\98\8eã\81\97ã\81\9fç\94¨æ³\95ã\81¨è¡\9dçª\81
\81\97ã\81ªã\81\84ã\81¨ã\81\8dã\81 ã\81\91ã\81§ã\81\82ã\82\8bã\80\82ã\81\93ã\81®æ\97§å¼\8fã\81®æ\9b¸å¼\8fã\81§ã\81¯ã\80\81ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯ã\81\9fã\81  1 å\80\8bã\81\97ã\81\8bæ\8c\87å®\9a
\81§ã\81\8dã\81\9aã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\82\82 1 å\80\8bã\81¾ã\81§ã\81\97ã\81\8bæ\8c\87å®\9aã\81§ã\81\8dã\81ªã\81\84ã\80\82ã\82ªã\83\97ã\82·ã\83§ã\83³ä¸­ã\81® @var{count} ã\81¯ã\80\81
-省略可能な 10 進数であり、サイズを表す文字 (@samp{b}, @samp{c}, @samp{l}) を後ろに
-続けて、1 ブロック当たり 512 バイトのブロック数か、バイト数か、行数かを
-示すことができる。また、@option{-f} と同じ意味を持つ、@samp{f} を続けてもよい。
+@command{tail} は互換性のために、@samp{tail -[@var{num}][bcl][f] [@var{file}]}
+という古い用法もサポートしているが、それが認識されるのは、
+ä¸\8aã\81§èª¬æ\98\8eã\81\97ã\81\9fç\94¨æ³\95ã\81¨è¡\9dçª\81ã\81\97ã\81ªã\81\84ã\81¨ã\81\8dã\81 ã\81\91ã\81§ã\81\82ã\82\8bã\80\82ã\81\93ã\81®æ\97§æ\9d¥ã\81®æ\9b¸å¼\8fã\81§ã\81¯ã\80\81
\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯ã\81\9fã\81  1 å\80\8bã\81\97ã\81\8bæ\8c\87å®\9aã\81§ã\81\8dã\81\9aã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\82\82 1 å\80\8bã\81¾ã\81§ã\81\97ã\81\8bæ\8c\87å®\9aã\81§ã\81\8dã\81ªã\81\84ã\80\82
\82ªã\83\97ã\82·ã\83§ã\83³ä¸­ã\81® @var{num} ã\81¯ã\80\81ç\9c\81ç\95¥å\8f¯è\83½ã\81ª 10 é\80²æ\95°ã\81§ã\81\82ã\82\8aã\80\81ã\82µã\82¤ã\82ºã\82\92表ã\81\99æ\96\87å­\97
+(@samp{b}, @samp{c}, @samp{l}) を後ろに続けて、1 ブロック当たり
+512 バイトのブロック数か、バイト数か、行数かを示すことができる。
+さらに、@option{-f} と同じ意味を持つ、@samp{f} を続けてもよい。
 
 @vindex _POSIX2_VERSION
-古いシステムでは、旧式のオプション書式において、先頭の @samp{-} を @option{-c}
+POSIX 1003.1-2001 に準拠していないシステムでは、
+旧来のオプション書式において、先頭の @samp{-} を @option{-c}
 や @option{-n} オプションの場合と同じ意味で @samp{+} に置き換えることができる。
-また、そうしたシステムでは、古い用法と標準の用法が衝突する場合には、
-古い用法が優先される。そうした古い動作を有効にしたり、無効にしたりする
-には、環境変数 @env{_POSIX2_VERSION} を使用すればよい (@pxref{Standards conformance})。
-
-標準的なホストで使用するためのスクリプトでは、古い書式を使わずに、
-@option{-c @var{count}[b]}, @option{-n @var{count}} オプションや @option{-f}
-オプションの方を使うべきで
-ある。そのスクリプトが、古い書式にしか対応していないホストでも動作しな
-ければならない場合でも、問題を起こしかねない表現を避けるように書き直す
-ことが、たいていはできるものだ。たとえば、@samp{tail -1} の代わりに、
-@samp{sed -n '$p'} を使うといった具合である。それさえ不可能な場合は、どちらの
-書式を使うべきかを判断するために、@samp{if tail -c +1 </dev/null >/dev/null
-2>&1; then @dots{}} といった条件文をスクリプトで使用すればよい。
-
-作成するスクリプトが標準的な動作を想定している場合でも、POSIX の
-バージョンによって動作に違いのある用法には、気を付けた方がよい。
-たとえば、@samp{tail - main.c} は避けるべきである。@samp{tail main.c} と解釈する
-ことも、@samp{tail -- - main.c} と解釈することもできるからだ。@samp{tail -c 4}
-も避けるべきである。@samp{tail -c4} を意味するかもしれないし、@samp{tail -c 10 4}
-を意味するかもしれない。@samp{tail +4} も使わない方がよい。@samp{tail ./+4} の
-意味にも、@samp{tail -n +4} の意味にも取れるからである。
+また、POSIX 1003.1-2001 以前の旧式なシステムでは、
+旧来の用法と標準的な用法が衝突する場合には、旧来の用法が優先される。
+なお、そうした動作は、環境変数 @env{_POSIX2_VERSION} によってコントロールできる。
+(@pxref{Standards conformance})。
+
+標準的なホストで使用するためのスクリプトでは、旧来の書式を使わずに、
+@option{-c @var{num}[b]}, @option{-n @var{num}} オプションや @option{-f}
+オプションの方を使うべきである。
+そのスクリプトが、旧来の書式にしか対応していないホストでも動作しなければならない場合でも、
+問題を起こしかねない表現を避けるように書き直すことが、たいていはできるものだ。
+たとえば、@samp{tail -1} の代わりに、@samp{sed -n '$p'} を使うといった具合である。
+それさえ不可能な場合は、どちらの書式を使うべきかを判断するために、
+@samp{if tail -c +1 </dev/null >/dev/null 2>&1; then @dots{}}
+といった条件文をスクリプトで使用すればよい。
+
+作成するスクリプトが標準的な動作を想定している場合でも、
+POSIX のバージョンによって動作に違いのある用法には、気を付けた方がよい。
+たとえば、@samp{tail - main.c} は避けるべきである。@samp{tail main.c}
+と解釈することも、@samp{tail -- - main.c} と解釈することもできるからだ。
+@samp{tail -c 4} も避けるべきである。@samp{tail -c4} を意味するかもしれないし、
+@samp{tail -c 10 4} を意味するかもしれない。@samp{tail +4} も使わない方がよい。
+@samp{tail ./+4} の意味にも、@samp{tail -n +4} の意味にも取れるからである。
 
 @exitstatus
 
@@ -3450,35 +3197,35 @@ $ make >& makerr & tail --pid=$! -f makerr
 @cindex pieces, splitting a file into
 
 @command{split} は、入力ファイル @var{input} を分割して複数の出力ファイルを作成する。
-各出力ファイルには、@var{input} の断片が、連続した形で、あるいは 1 行づつ
-順番に分配された形で含まれることになる (訳注: 前者は単純な分割であり、
+各出力ファイルには、@var{input} の断片が、連続した形で、
+あるいは 1 行づつ順番に分配された形で含まれることになる (訳注: 前者は単純な分割であり、
 後者は後述の「ラウンド・ロビン方式」である。@option{-n} オプションを参照)。
-@var{input} が指定されていない場合や、@samp{-} である場合には、標準入力から
-読み込む。
-@sp 1
+@var{input} が指定されていない場合や、@samp{-} である場合には、標準入力から読み込む。
+
 書式:
 
 @example
 split [@var{option}] [@var{input} [@var{prefix}]]
 @end example
 
-デフォルトでは、@command{split} は @var{input} を 1000 行づつ各出力ファイルに
-書き込む (最後の断片については、何行であれ残っている行を書き込む)。
+デフォルトでは、@command{split} は @var{input} を 1000 行づつ各出力ファイルに書き込む
+(最後の断片については、何行であれ残っている行を書き込む)。
 
 @cindex output file name prefix
-出力ファイルの名前は、上記書式の @var{prefix} (デフォルトでは @samp{x}) に複数
-の文字 (デフォルトでは、@samp{aa}, @samp{ab}, @dots{}) を続けたものであり、各出力
-ファイルをファイル名による伝統的なソート順で結合すると、元の入力ファイル
-が再構成されるようになっている (ただし、@option{-nr/@var{n}} オプションを指定した場合
-は除く)。デフォルトでは、split はまず、作成するファイルに 2 文字からなる
-接尾辞 (訳注: suffix、すなわち上記の @samp{aa}, @samp{ab} など) を生成して付け、
+出力ファイルの名前は、上記書式の @var{prefix} (デフォルトでは @samp{x})
+に複数の文字 (デフォルトでは、@samp{aa}, @samp{ab}, @dots{})
+を続けたものであり、各出力ファイルをファイル名による伝統的なソート順で結合すると、
+元の入力ファイルが再構成されるようになっている
+(ただし、@option{-nr/@var{n}} オプションを指定した場合は除く)。
+デフォルトでは、split はまず、作成するファイルに 2 文字からなる接尾辞
+(訳注: suffix、すなわち上記の @samp{aa}, @samp{ab} など) を生成して付け、
 その接尾辞の 1 番目の文字がアルファベットの最後に達した時点で、接尾辞を
 2 文字づつ増やして行く (@samp{yz} の次は @samp{zaaa}, @samp{zaab}, @dots{} という具合)。
 こうした命名法を使えば、出力ファイルがいくつあっても対応できるし、また
-@option{--additional-suffix} オプションを付けたときでも、出力ファイルが上で
-述べたような順に並ぶことになるわけだ。@option{-a} オプションが指定されている
-場合に、出力ファイルの名前が種切れになってしまうと、@command{split} はエラー
-メッセージを出すが、作成した出力ファイルを消去することはない。
+@option{--additional-suffix} オプションを付けたときでも、
+出力ファイルが上で述べたような順に並ぶことになるわけだ。
+@option{-a} オプションが指定されている場合に、出力ファイルの名前が種切れになってしまうと、
+@command{split} はエラーメッセージを出すが、作成した出力ファイルを消去することはない。
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 
@@ -3489,10 +3236,12 @@ split [@var{option}] [@var{input} [@var{prefix}]]
 @opindex -l
 @opindex --lines
 @var{input} から @var{lines} 行づつ各出力ファイルに書き込む。
+@option{--separator} オプションが指定されている場合は、@var{lines}
+はレコード数の指定になる。
 
-互換性を考慮して、@command{split} は @option{-@var{lines}} という古いオプションの書式も
\82µã\83\9dã\83¼ã\83\88ã\81\97ã\81¦ã\81\84ã\82\8bã\80\82æ\96°è¦\8fã\81«ã\82¹ã\82¯ã\83ªã\83\97ã\83\88ã\82\92æ\9b¸ã\81\8fã\81ªã\82\89ã\80\81@option{-l @var{lines}} ã\81®æ\96¹ã\82\92使ã\81\86
-べきである。
+互換性を考慮して、@command{split} は @option{-@var{lines}}
\81¨ã\81\84ã\81\86å\8f¤ã\81\84ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81®æ\9b¸å¼\8fã\82\82ã\82µã\83\9dã\83¼ã\83\88ã\81\97ã\81¦ã\81\84ã\82\8bã\80\82æ\96°è¦\8fã\81«ã\82¹ã\82¯ã\83ªã\83\97ã\83\88ã\82\92æ\9b¸ã\81\8fã\81ªã\82\89ã\80\81
+@option{-l @var{lines}} の方を使うべきである。
 
 @item -b @var{size}
 @itemx --bytes=@var{size}
@@ -3506,28 +3255,29 @@ split [@var{option}] [@var{input} [@var{prefix}]]
 @opindex -C
 @opindex --line-bytes
 各出力ファイルに、ファイルサイズが @var{size} バイトを超過しない範囲で、
-@var{input} の完全な行をできるだけ多く書き込む。1 行の長さが @var{size} バイト
-を越える行は、複数のファイルに分割される。@var{size} の書式は、@option{--bytes}
-オプションの場合と同じである。
+@var{input} の完全な行をできるだけ多く書き込む。
+一つの行やレコードの長さが @var{size} バイトを越える場合は、複数のファイルに分割される。
+@var{size} の書式は、@option{--bytes} オプションの場合と同じである。
+@option{--separator} オプションが指定されている場合は、
+できるだけ多くの行ではなく、できるだけ多くのレコードを書き込むことになる。
 
 @item --filter=@var{command}
 @opindex --filter
-このオプションを使用すると、各出力は、そのままファイルに書き出さ
-れるのではなく、パイプを通して一つづつ、指定されたシェルコマンド
-@var{command} に引き渡される。@var{command} 中では、環境変数 $FILE を使用する
-べきであり、この変数には、シェルコマンドを実行するごとに、異なる
-出力ファイル名が代入される。たとえば、1TiB の圧縮ファイルがあると
-しよう。伸長したら、サイズが大きすぎて、ディスクに納まり切らない。
-しかし、それを分割して、もっと扱いやすいサイズの、それぞれ圧縮した
-ファイルを作らねばならない。そうした課題を解決するには、次のような
-コマンドを実行すればよいだろう。
+このオプションを使用すると、各出力は、そのままファイルに書き出されるのではなく、
+パイプを通して一つづつ、指定されたシェルコマンド @var{command}
+に引き渡される。@var{command} 中では、環境変数 $FILE を使用するべきであり、
+この変数には、シェルコマンドを実行するごとに、異なる出力ファイル名が代入される。
+たとえば、1TiB の圧縮ファイルがあるとしよう。伸長したら、サイズが大きすぎて、
+ディスクに納まり切らない。しかし、それを分割して、もっと扱いやすいサイズの、
+それぞれ圧縮したファイルを作らねばならない。そうした課題を解決するには、
+次のようなコマンドを実行すればよいだろう。
 
 @example
 xz -dc BIG.xz | split -b200G --filter='xz > $FILE.xz' - big-
 @end example
 
-圧縮率が 10:1 だとすると、上のコマンドは 20GiB のファイルを 50 個
-ほど生成することになるだろう。ファイルの名前は、@file{big-aa.xz},
+圧縮率が 10:1 だとすると、上のコマンドは 20GiB のファイルを
+50 個ほど生成することになるだろう。ファイルの名前は、@file{big-aa.xz},
 @file{big-ab.xz}, @file{big-ac.xz} などになる。
 
 @item -n @var{chunks}
@@ -3535,37 +3285,35 @@ xz -dc BIG.xz | split -b200G --filter='xz > $FILE.xz' - big-
 @opindex -n
 @opindex --number
 
-@var{input} を @var{chunks} 個の出力ファイルに分割する。@var{chunks} の部分には以下の
-ものが指定できる。
+@var{input} を @var{chunks} 個の出力ファイルに分割する。
+@var{chunks} の位置には以下のものが指定できる。
 
 @example
 @var{n}      @var{input} の現在のサイズに基づいて @var{n} 個のファイルを生成する。
 @var{k}/@var{n}    @var{n} 個中の @var{k} 番目のみを標準出力へ出力する。
-l/@var{n}    @var{n} 個のファイルを生成する。行の途中で分割しない。
+l/@var{n}    @var{n} å\80\8bã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ç\94\9fæ\88\90ã\81\99ã\82\8bã\80\82è¡\8cã\82\84ã\83¬ã\82³ã\83¼ã\83\89ã\81®é\80\94中ã\81§å\88\86å\89²ã\81\97ã\81ªã\81\84ã\80\82
 l/@var{k}/@var{n}  同上。ただし、@var{n} 個中の @var{k} 番目のみを標準出力に出力する。
-r/@var{n}    @samp{l} に似ている。ただし、行をラウンド・ロビン方式で分配する
+r/@var{n}    @samp{l} に似ている。ただし、分配はラウンド・ロビン方式で行う
        (訳注: トランプの親がカードを 1 枚づつ子に配るように、
-               入力から 1 行づつ各出力ファイルに分配して行く。)
+               入力から 1 行 (1 レコード) づつ各出力ファイルに
+               分配して行く。)
 r/@var{k}/@var{n}  同上。ただし、@var{n} 個中の @var{k} 番目のみを標準出力に出力する。
 @end example
 
 @var{input} を  @var{n} 個の「部分 (chunk)」に分けたときに出た余りのバイトは、
-最後の「部分」に割り振られる。最初に行われる分割のための計算の後で
-追加されるバイトがあっても、それは捨て去られる (@samp{r} モードを使用
-している場合を除く)。
+最後の「部分」に割り振られる。最初に行われる分割のための計算の後で追加されるバイトがあっても、
+それは捨て去られる (@samp{r} モードを使用している場合を除く)。
 
 @var{input} の行数が @var{n} 行に足りなかったり、@var{input} が短縮された場合でも、
 @var{n} 個のファイルすべてが作成される。
 
-@samp{l} モードについて言うと、「部分」の大きさは、「@var{input} サイズ / @var{n}」
-前後になる。@var{input} は、まず @var{n} 個の同一サイズの区画 (partition) に
-分割され、余りがあれば、それは最後の区画に割り当てられる。ある行の
-先頭が、ある区画の内側にある場合、その行は行末まで、その区画に対応
-するファイルに書き込まれる。行は、たとえ後続する区画にまではみ出して
-いても分割されないので、書き出されるファイルは、区画のサイズより
-大きくなることもあれば、小さくなることもある。行が後続する区画を
-すっぽり覆ってしまうほど長い場合には、空っぽのファイルができること
-さえある。
+@samp{l} モードについて言うと、「部分」の大きさは、「@var{input} サイズ / @var{n}」前後になる。
+@var{input} は、まず @var{n} 個の同一サイズの区画 (partition) に分割され、
+余りがあれば、それは最後の区画に割り当てられる。
+ある行の先頭が、ある区画の内側にある場合、その行は行末まで、その区画に対応するファイルに書き込まれる。
+行やレコードは、たとえ後続する区画にまではみ出していても分割されないので、
+書き出されるファイルは、区画のサイズより大きくなることもあれば、小さくなることもある。
+行やレコードが後続する区画をすっぽり覆ってしまうほど長い場合には、空っぽのファイルができることさえある。
 
 @samp{r} モードでは、@var{input} のサイズは問題にならない。だから、入力は、
 たとえば、パイプからであっても構わない。
@@ -3574,47 +3322,74 @@ r/@var{k}/@var{n}  同上。ただし、@var{n} 個中の @var{k} 番目のみ
 @itemx --suffix-length=@var{length}
 @opindex -a
 @opindex --suffix-length
-使用する接尾辞の長さを @var{length} 文字にする。@var{length} に 0 を指定する
-と、@option{-a} オプションを (すでに指定していた場合でも) 全く指定しな
-かったのと、同じことになり、従って、デフォルトの動作が有効になる。
-すなわち、接尾辞は、2 文字から始まり、@option{-n} や @option{--numeric-suffixes
-=@var{from}} オプションが指定されていないかぎり、必要になるごとに、2 文字
-づつ自動的に増えて行く。
+使用する接尾辞の長さを @var{length} 文字にする。@var{length} に
+0 を指定すると、@option{-a} オプションを (すでに指定していた場合でも)
+全く指定しなかったのと同じことになり、従って、デフォルトの動作が有効になる。
+すなわち、接尾辞は、2 文字から始まり、@option{-n} や
+@option{--numeric-suffixes=@var{from}} オプションが指定されていないかぎり、
+必要になるごとに、2 文字づつ自動的に増えて行く。
 
 @item -d
 @itemx --numeric-suffixes[=@var{from}]
 @opindex -d
 @opindex --numeric-suffixes
-接尾辞にアルファベットの小文字ではなく、数字を使用する。数字の接尾
-辞では、 @var{from} が指定されていれば @var{from} から、指定されていなければ 0
-から数を数えて行く。注意していただきたいが、@var{from} の値を指定すると、
-上で述べた接尾辞の長さを自動的に増やして行くデフォルトの機能まで無効
-になる。そこで、ユーザとしては、99 を越える数字を接尾辞として使える
-ようにするため、@option{-a} オプションも併せて指定したくなるかもしれない。
+接尾辞にアルファベットの小文字ではなく、数字を使用する。
+数字の接尾辞は、 @var{from} が指定されていれば @var{from} から、
+指定されていなければ 0 から数を数えて行く。
+
+@var{from} を指定できるのは、長い形式のオプションを使ったときだけである。
+@var{from} を指定すると、@command{split} を一回だけ実行する場合に最初の接尾辞を決めたり、
+それぞれ別々にスプリットする入力に対して相互の接尾辞間をどれくらい離すかを決めたりすることができるが、
+上で述べた接尾辞の長さを自動的に増やしていく機能は無効になる。
+そこで、ユーザとしては、@samp{99} を越える数字を接尾辞として使えるようにするため、
+@option{-a} オプションも併せて指定したくなるかもしれない。
+なお、@option{--number} オプションが指定され、しかも、生成されるファイルの数より
+@var{from} が小さい場合は、一回かぎりの実行と見なされ、接尾辞に最小限必要な長さが、自動的に割り出される。
+
+(訳注: 上記の「なお」以下で言っているのは、@samp{split -d -n100 some.data}
+などとすると、x00 から x99 までのファイルが作られるが、@samp{split --numeric-suffixes=1 -n100
+some.data}
+なら、x001 から x100 まで、3 桁の接尾辞を持つファイルが作られるということらしい。
+しかし、coreutils 8.26 では、@samp{split -d -n200 some.data}
+や @samp{split --numeric-suffixes=10 -n100 some.data} は、
+"output file suffixes exhausted" というエラーになる。
+そして、@samp{split -d -n201 some.data} や @samp{split --numeric-suffixes=10
+-n101 some.data}
+なら、実行に成功するのである。よくわからない仕様だと思う。@option{--suffix-length}
+を使って、自分で接尾辞の長さを決めた方が、間違いがない。)
 
 @item --additional-suffix=@var{suffix}
 @opindex --additional-suffix
-出力ファイル名の末尾に @var{suffix} をさらに追加する。@var{suffix} 中に
-スラッシュが含まれていてはならない。
+出力ファイル名の末尾に @var{suffix} をさらに追加する。
+@var{suffix} 中にスラッシュが含まれていてはならない。
 
 @item -e
 @itemx --elide-empty-files
 @opindex -e
 @opindex --elide-empty-files
-サイズ 0 の出力ファイルができないようにする。そうしたものが生成
-されることがあるのは、@option{--number} を使ったときである。入力ファイル
-が (短縮されて) 指定された数の出力ファイルを作るには分量が
-足りなくなっている場合や、1 行が長すぎて、後続する「部分」を
-すっぽり飲み込んでしまっている場合などがそれに当たる。この
-オプションが指定されているときでも、出力ファイルの連続番号が、
+サイズ 0 の出力ファイルができないようにする。そうしたものが生成されることがあるのは、
+@option{--number} を使ったときである。入力ファイルが (短縮されて)
+指定された数の出力ファイルを作るには分量が足りなくなっている場合や、
+1 行が長すぎて、後続する「部分」をすっぽり飲み込んでしまっている場合などがそれに当たる。
+このオプションが指定されているときでも、出力ファイルの連続番号が、
 順番に増えていくことに変わりはない。
 
+@item -t @var{separator}
+@itemx --separator=@var{separator}
+@opindex -t
+@opindex --separator
+@cindex line separator character
+@cindex record separator character
+レコード・セパレータとしてデフォルトの改行文字 (ASCII LF) の代わりに、
+文字 @var{separator} を使用する。ASCII NUL をセパレータに指定するには、
+二文字からなる文字列 @samp{\0} を使用すればよい。@samp{split -t '\0'} のようにだ。
+
 @item -u
 @itemx --unbuffered
 @opindex -u
 @opindex --unbuffered
-@option{--number r/@dots{}} モードにおいて入力を即座に出力する。このモードは、
-作業にかなり時間がかかるのだ。
+@option{--number r/@dots{}} モードにおいて入力を即座に出力する。
+このモードは、作業にかなり時間がかかるのだ。
 
 @item --verbose
 @opindex --verbose
@@ -3624,11 +3399,10 @@ r/@var{k}/@var{n}  同上。ただし、@var{n} 個中の @var{k} 番目のみ
 
 @exitstatus
 
-@option{--number} (@option{-n}) の動作を理解していただくために、用例をいくつか
-挙げてみる。
+@option{--number} (@option{-n}) の動作を理解していただくために、
+用例をいくつか挙げてみる。
 
-デフォルトでは、1 行が 2 行以上に分割されることがあるのに、注目して
-いただきたい。
+デフォルトでは、1 行が 2 行以上に分割されることがあるのに、注目していただきたい。
 
 @example
 $ seq -w 6 10 > k; split -n3 k; head xa?
@@ -3676,8 +3450,8 @@ $ seq -w 6 10 > k; split -nr/3 k; head xa?
 08
 @end example
 
-K 番目の「部分」だけ取り出すこともできる。次の例は、33 の「部分」に
-分け、そのうちの  7 番目だけを取り出して、表示している。
+K 番目の「部分」だけ取り出すこともできる。次の例は、33 の「部分」に分け、
+そのうちの  7 番目だけを取り出して、表示している。
 
 @example
 $ seq 100 > k; split -nl/7/33 k
@@ -3694,9 +3468,9 @@ $ seq 100 > k; split -nl/7/33 k
 @cindex context splitting
 @cindex splitting a file into pieces by context
 
-@command{csplit} は、入力ファイル @var{input} を分割して 0 個以上の出力ファイルを
-生成する。@var{input} が @samp{-} である場合は、標準入力から読み込む。
-@sp 1
+@command{csplit} は、入力ファイル @var{input} を分割して 0 個以上の出力ファイルを生成する。
+@var{input} が @samp{-} である場合は、標準入力から読み込む。
+
 書式:
 
 @example
@@ -3704,14 +3478,14 @@ csplit [@var{option}]@dots{} @var{input} @var{pattern}@dots{}
 @end example
 
 出力ファイルの中身がどうなるかは、以下で詳しく述べるように、引数
-@var{pattern} によって決まってくる。引数 @var{pattern} が、入力ファイル中に存在
-しない行を指している場合は、エラーになる (たとえば、入力の残りの
-部分に、指定された正規表現にマッチする行がもう存在しない場合)。
+@var{pattern} によって決まってくる。引数 @var{pattern} が、
+入力ファイル中に存在しない行を指している場合は、エラーになる
+(たとえば、入力の残りの部分に、指定された正規表現にマッチする行がもう存在しない場合)。
 すべてのパターン・マッチが終わったとき、残っている入力があれば、
 最後の出力ファイルに書き出される。
 
-デフォルトでは、@command{csplit} は、出力ファイルを生成した後で、各出力
-ファイルに書き込んだバイト数を表示する。
+デフォルトでは、@command{csplit} は、出力ファイルを生成した後で、
+各出力ファイルに書き込んだバイト数を表示する。
 
 パターン引数 @var{pattern} には、以下のタイプがある。
 
@@ -3719,21 +3493,19 @@ csplit [@var{option}]@dots{} @var{input} @var{pattern}@dots{}
 
 @item @var{n}
 入力の最初から @var{n} 行目の直前までを含む (つまり、@var{n-1} 行目までの)
-出力ファイルを作成する (@var{n} は正の整数)。繰り返し回数の指定が後に
-続く場合は、繰り返しごとに、入力ファイルの次の @var{n} 行分を含む出力
-ファイルを作成していく。
+出力ファイルを作成する (@var{n} は正の整数)。繰り返し回数の指定が後に続く場合は、
+繰り返しごとに、入力ファイルの次の @var{n} 行分を含む出力ファイルを作成していく。
 
 @item /@var{regexp}/[@var{offset}]
-現在行から、入力ファイル中の次に @var{regexp} にマッチする行の直前までを
-内容とする (すなわち、マッチする行は含まない) 出力ファイルを作成
-する。整数の @var{offset} を指定してもよい。指定した場合は、マッチする行
-にプラス/マイナス @var{offset} した行の直前までの入力が (つまり、その行は
-含まない)、出力ファイルに書き込まれ、書き込まれた次の行から入力の
-後続部分が始まることになる。
+現在行から、入力ファイル中の次に @var{regexp} にマッチする行の直前までを内容とする
+(すなわち、マッチする行は含まない) 出力ファイルを作成する。
+整数の @var{offset} を指定してもよい。指定した場合は、マッチする行にプラス/マイナス
+@var{offset} した行の直前までの入力が (つまり、その行は含まない)、
+出力ファイルに書き込まれ、書き込まれた次の行から入力の後続部分が始まることになる。
 
 @item %@var{regexp}%[@var{offset}]
-上記のタイプと同様だが、出力ファイルを作成しない点が異なる。要するに、
-入力ファイルのその部分は捨てられることになるわけだ。
+上記のタイプと同様だが、出力ファイルを作成しない点が異なる。
+要するに、入力ファイルのその部分は捨てられることになるわけだ。
 
 @item @{@var{repeat-count}@}
 直前に行ったパターンの検索を、さらに @var{repeat-count} 回繰り返す。
@@ -3747,13 +3519,13 @@ csplit [@var{option}]@dots{} @var{input} @var{pattern}@dots{}
 
 出力ファイルの名前は、接頭辞 (prefix、デフォルトでは @samp{xx}) に接尾辞
 (suffix) を続けたものになる。デフォルトの接尾辞は、二桁の 10 進数を @samp{00}
-から @samp{99} まで順番に増やして行ったものである。いかなる場合でも、出力
-ファイルを、ファイルの名前によってソートした順番で結合すると、元の入力
-ファイルが生成されるようになっている。
+から @samp{99} まで順番に増やして行ったものである。いかなる場合でも、
+出力ファイルを、ファイルの名前によってソートした順番で結合すると、
+元の入力ファイルが生成されるようになっている。
 
 @command{csplit} のデフォルトでは、エラーになった場合や、ハングアップ、
-割り込み、中止、終了といったシグナルを受け取った場合には、それまでに
-作成した出力ファイルをすべて消去してから終了する。
+割り込み、中止、終了といったシグナルを受け取った場合には、
+それまでに作成した出力ファイルをすべて消去してから終了する。
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 
@@ -3766,24 +3538,23 @@ csplit [@var{option}]@dots{} @var{input} @var{pattern}@dots{}
 @cindex output file name prefix
 @var{prefix} を出力ファイル名の接頭辞として使用する。
 
-@item -b @var{suffix}
-@itemx --suffix=@var{suffix}
+@item -b @var{format}
+@itemx --suffix-format=@var{format}
 @opindex -b
-@opindex --suffix
+@opindex --suffix-format
 @cindex output file name suffix
-@var{suffix} を出力ファイル名の接尾辞として使用する。このオプションを
-指定する場合、接尾辞として指定する文字列には、@code{printf(3)} 方式の
-変換指定が必ず一つは (それも、一つだけ) 含まれていなければなら
-ない。変換指定には、形式指定フラグ、フィールド幅、精度指定と
-いった修飾子を付けてもよく、3 種の修飾子をすべて付けることも
-できる。フォーマット文字は、バイナリの符号なし整数である引数を、
-人間に読みやすい形式に変換するものでなければならない。フォーマット
-文字の @samp{d} と @samp{i} は、@samp{u} の別名であり、@samp{u}, @samp{o}, @samp{x},
-@samp{X} 変換が
-可能である。@var{suffix} の全体が (現在の出力ファイルが何番目かという
-情報とともに) @code{sprintf(3)} 関数に引き渡され、出力ファイルの一つ一つ
-に対して、ファイル名に使う接尾辞が順番に作られることになる。なお、
-このオプションを使用すると、@option{--digits} オプションは無視される。
+@var{format} を出力ファイル名の接尾辞として使用する。
+このオプションを指定する場合、接尾辞として指定する文字列には、@code{printf(3)}
+方式の変換指定が必ず一つは (それも、一つだけ) 含まれていなければならない。
+変換指定には、形式指定フラグ、フィールド幅、精度指定といった修飾子を付けてもよく、
+3 種の修飾子をすべて付けることもできる。
+フォーマット文字は、バイナリの符号なし整数である引数を、
+人間に読みやすい形式に変換するものでなければならない。フォーマット文字の
+@samp{d} と @samp{i} は、@samp{u} の別名であり、@samp{u}, @samp{o},
+@samp{x}, @samp{X} 変換が可能である。@var{format} の全体が
+(現在の出力ファイルが何番目かという情報とともに) @code{sprintf(3)}
+関数に引き渡され、出力ファイルの一つ一つに対して、ファイル名に使う接尾辞が順番に作られることになる。
+なお、このオプションを使用すると、@option{--digits} オプションは無視される。
 
 @item -n @var{digits}
 @itemx --digits=@var{digits}
@@ -3800,10 +3571,9 @@ csplit [@var{option}]@dots{} @var{input} @var{pattern}@dots{}
 
 @item --suppress-matched
 @opindex --suppress-matched
-指定した @var{pattern} にマッチする行を出力しない。言い換えれば、境界に
-なる行が、分割されたファイルの 2 番目以降の断片の先頭に現れない
-ようにする。(coreutils-8.22 の新機能。訳注: @var{pattern} が正規表現の
-場合には、境界になる行がファイル中にたとえ 1 箇所しかなくても、
+指定した @var{pattern} にマッチする行を出力しない。言い換えれば、
+境界になる行が、分割されたファイルの 2 番目以降の断片の先頭に現れないようにする。
+(訳注: @var{pattern} が正規表現の場合には、境界になる行がファイル中にたとえ 1 箇所しかなくても、
 その行の表示を抑制するには、@samp{csplit --suppress-matched @var{input}
 @var{pattern} '@{*@}'} などと、繰り返しの指定をする必要があるようだ。)
 
@@ -3811,12 +3581,11 @@ csplit [@var{option}]@dots{} @var{input} @var{pattern}@dots{}
 @itemx --elide-empty-files
 @opindex -z
 @opindex --elide-empty-files
-サイズ 0 の出力ファイルができないようにする (入力ファイルを各部分
-に区切る行が、どの部分においても最初の行になることを期待している
-場合に、このオプションを使わないと、一番目の出力ファイルがたいてい
-サイズ 0 になる)。このオプションが指定されているときでも、出力
-ファイルの連続番号が 0 から始まって、順番に増えていくことに変わり
-はない。
+サイズ 0 の出力ファイルができないようにする (入力ファイルを各部分に区切る行が、
+どの部分においても最初の行になることを期待している場合に、
+このオプションを使わないと、一番目の出力ファイルがたいていサイズ 0 になる)。
+このオプションが指定されているときでも、出力ファイルの連続番号が 0 から始まって、
+順番に増えていくことに変わりはない。
 
 @item -s
 @itemx -q
@@ -3832,8 +3601,7 @@ csplit [@var{option}]@dots{} @var{input} @var{pattern}@dots{}
 
 @exitstatus
 
-用例を挙げてみよう。まず、練習用に空のディレクトリを作って、そこに
-移動する。
+用例を挙げてみよう。まず、練習用に空のディレクトリを作って、そこに移動する。
 
 @example
 $ mkdir d && cd d
@@ -3848,8 +3616,8 @@ $ seq 14 | csplit - '/[05]$/' '@{*@}'
 15
 @end example
 
-ここで表示された各数字は、csplit が今作成した出力ファイルのサイズ
\81§ã\81\82ã\82\8bã\80\82ã\81\9dã\81®å\87ºå\8a\9bã\83\95ã\82¡ã\82¤ã\83«ã\81®å\90\8då\89\8dã\82\92ã\83ªã\82¹ã\83\88ã\81\99ã\82\8bã\80\82
+ここで表示された各数字は、csplit が今作成した出力ファイルのサイズである。
+その出力ファイルの名前をリストする。
 
 @example
 $ ls
@@ -3911,6 +3679,7 @@ $ csplit --suppress-matched @var{input.txt} '/^$/' '@{*@}'
 * wc invocation::            行数、単語数、バイト数を表示する。
 * sum invocation::           チェックサムとブロック数を表示する。
 * cksum invocation::         CRC チェックサムとバイト数を表示する。
+* b2sum invocation::         BLAKE2 ダイジェストの表示、または検査をする。
 * md5sum invocation::        MD5 ダイジェストの表示、または検査をする。
 * sha1sum invocation::       SHA-1 ダイジェストの表示、または検査をする。
 * sha2 utilities::           SHA-2 ダイジェストの表示、または検査をする。
@@ -3926,11 +3695,11 @@ $ csplit --suppress-matched @var{input.txt} '/^$/' '@{*@}'
 @cindex word count
 @cindex line count
 
-@command{wc} は、指定された各 @var{file} に含まれる、バイト数、文字数、ホワイト
-スペース (訳注: 空白、タブ、改行など) で区切られた単語数、改行数を算出
-する。@var{file} が指定されなかった場合や、@var{file} として @samp{-} が指定された
-場合は、標準入力を対象とする。
-@sp 1
+@command{wc} は、指定された各 @var{file} に含まれる、バイト数、文字数、ホワイトスペース
+(訳注: 空白、タブ、改行など) で区切られた単語数、改行数を算出する。
+@var{file} が指定されなかった場合や、@var{file} として @samp{-}
+が指定された場合は、標準入力を対象とする。
+
 書式:
 
 @example
@@ -3938,22 +3707,21 @@ wc [@var{option}]@dots{} [@var{file}]@dots{}
 @end example
 
 @cindex total counts
-@command{wc} は各ファイルにつき、一行の算出結果を出力する。引数として
-ファイルが指定されていれば、そのファイル名を数値の後ろに表示する。
-複数の @var{file} が指定されている場合は、最後の行で合計を表示し、ファイル
-名の部分に、@file{total} と書き込む。表示される数値の順番は、改行数、単語数
\96\87å­\97æ\95°ã\80\81ã\83\90ã\82¤ã\83\88æ\95°ã\80\81æ\9c\80é\95·è¡\8cã\81®é\95·ã\81\95ã\81«ã\81ªã\82\8bã\80\82å\90\84æ\95°å\80¤ã\81¯ã\80\81ã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\81«å\8f³è©°ã\82\81ã\81§
-表示され、フィールド間には、少なくとも一個の空白が置かれる。そうする
\81\93ã\81¨ã\81§ã\80\81è¤\87æ\95°ã\81®æ\95°å­\97ã\81¨ã\83\95ã\82¡ã\82¤ã\83«å\90\8dã\81\8cã\80\81ã\81\9fã\81\84ã\81¦ã\81\84ã\81®å ´å\90\88ã\81\8dã\81¡ã\82\93ã\81¨æ\95´å\88\97ã\81\99ã\82\8bã\82\88ã\81\86ã\81«
-なっているのだ。数値の入るフィールドの幅は、入力に応じて変化するので、
+@command{wc} は各ファイルにつき、一行の算出結果を出力する。
+引数としてファイルが指定されていれば、そのファイル名を数値の後ろに表示する。
+複数の @var{file} が指定されている場合は、最後の行で合計を表示し、
+ファイル名の部分に、@file{total} と書き込む。表示される数値の順番は
\94¹è¡\8cæ\95°ã\80\81å\8d\98èª\9eæ\95°ã\80\81æ\96\87å­\97æ\95°ã\80\81ã\83\90ã\82¤ã\83\88æ\95°ã\80\81æ\9c\80é\95·è¡\8cã\81®é\95·ã\81\95ã\81«ã\81ªã\82\8bã\80\82
+各数値は、フィールドに右詰めで表示され、フィールド間には、少なくとも一個の空白が置かれる。
\81\9dã\81\86ã\81\99ã\82\8bã\81\93ã\81¨ã\81§ã\80\81è¤\87æ\95°ã\81®æ\95°å­\97ã\81¨ã\83\95ã\82¡ã\82¤ã\83«å\90\8dã\81\8cã\80\81ã\81\9fã\81\84ã\81¦ã\81\84ã\81®å ´å\90\88ã\81\8dã\81¡ã\82\93ã\81¨æ\95´å\88\97ã\81\99ã\82\8bã\82\88ã\81\86ã\81«ã\81ªã\81£ã\81¦ã\81\84ã\82\8bã\81®ã\81 ã\80\82
+数値の入るフィールドの幅は、入力に応じて変化するので、
 一定のフィールド幅を当てにするべきではない。ただし、GNU の拡張として、
-表示される数値がただ 1 個だけの場合は、その数値の頭に空白を入れない
-ことになっている。
+表示される数値がただ 1 個だけの場合は、その数値の頭に空白を入れないことになっている。
 
-デフォルトでは、@command{wc} は 3 個の数値を表示する。すなわち、改行数、単語
-数、バイト数である。オプションによって、特定の数値のみを表示するように
-指定することもできる。どんなオプションも、それ以前に指定されたオプション
-を取り消すことはない。従って、
+デフォルトでは、@command{wc} は 3 個の数値を表示する。
+すなわち、改行数、単語数、バイト数である。
+オプションによって、特定の数値のみを表示するように指定することもできる。
\81©ã\82\93ã\81ªã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\82ã\80\81ã\81\9dã\82\8c以å\89\8dã\81«æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92å\8f\96ã\82\8aæ¶\88ã\81\99ã\81\93ã\81¨ã\81¯ã\81ªã\81\84ã\80\82å¾\93ã\81£ã\81¦ã\80\81
 
 @example
 wc --bytes --words
@@ -3962,11 +3730,11 @@ wc --bytes --words
 @noindent
 上記のコマンドは、バイト数と単語数の両方を表示することになる。
 
-@option{--max-line-length} を指定すると、@command{wc} はファイルごとの最長行の
-長さを表示する。さらに、複数のファイルが存在する場合は、(各最長行の
-合計ではなく) 最長行中の最長のものを表示する。ここで言う行の長さは、
-画面に表示される桁数のことである。表示桁数の計算は現在のロケールに
-従って行われ、タブ位置は 8 桁ごとに来るものとされる。
+@option{--max-line-length} を指定すると、@command{wc}
+はファイルごとの最長行の長さを表示する。さらに、複数のファイルが存在する場合は、
+(各最長行の合計ではなく) 最長行中の最長のものを表示する。ここで言う行の長さは、
+画面に表示される桁数のことである。表示桁数の計算は現在のロケールに従って行われ、
+タブ位置は 8 桁ごとに来るものとされる。
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 
@@ -4000,7 +3768,8 @@ wc --bytes --words
 @itemx --max-line-length
 @opindex -L
 @opindex --max-line-length
-最長行の長さのみを表示する。
+最長表示行の長さのみを表示する。タブ位置は 8 桁ごとにあるものとする。
+ワイド・キャラクタについては、表示される幅を考慮する。非表示文字の幅は 0 とする。
 
 @macro filesZeroFromOption{cmd,withTotalOption,subListOutput}
 @item --files0-from=@var{file}
@@ -4008,25 +3777,25 @@ wc --bytes --words
 @c This is commented out to avoid a texi2dvi failure.
 @c texi2dvi (GNU Texinfo 4.11) 1.104
 @c @cindex including files from @command{\cmd\}
-コマンドラインで名前を指定されたファイルの処理を行わない。その代わり
\81«ã\80\81ã\83\95ã\82¡ã\82¤ã\83« @var{file} ã\81«å\90\8då\89\8dã\81\8cæ\9b¸ã\81\8dè¾¼ã\81¾ã\82\8cã\81¦ã\81\84ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\81®å\87¦ç\90\86ã\82\92è¡\8cã\81\86ã\80\82
+コマンドラインで名前を指定されたファイルの処理を行わない。その代わりに、
+ファイル @var{file} に名前が書き込まれているファイルの処理を行う。
 なお、@var{file} 中に書かれている各ファイル名は、ゼロバイト (ASCII NUL)
-で終端されていなければならない。このオプションは、ファイル名のリスト
-が長すぎて、コマンドライン長の上限を超過してしまいそうなときに、
-\withTotalOption\便利である。そうした場合、@command{\cmd\} を @command{xargs} 経由で実行するのは、
-望ましくない。なぜなら、@command{xargs} はファイルのリストをいくつかの部分
-に分割して @command{\cmd\} に渡すので、@command{\cmd\} はリスト全体の\subListOutput\ではなく、
+で終端されていなければならない。このオプションは、ファイル名のリストが長すぎて、
+コマンドライン長の上限を超過してしまいそうなときに、
+\withTotalOption\便利である。そうした場合、@command{\cmd\} を
+@command{xargs} 経由で実行するのは、望ましくない。
+なぜなら、@command{xargs} はファイルのリストをいくつかの部分に分割して
+@command{\cmd\} に渡すので、@command{\cmd\} はリスト全体の\subListOutput\ではなく、
 部分リストごとの\subListOutput\を表示してしまうからである。
 ASCII NUL で終端されたファイル名のリストを得る方法の一つは、
-GNU @command{find} に @option{-print0} を付けて使うことである。@var{file} に @samp{-}
-を指定すれば、
-ASCII NUL で終端されたファイル名を標準入力から読み込むことが
-できる。
+GNU @command{find} に @option{-print0} を付けて使うことである。
+@var{file} に @samp{-} を指定すれば、
+ASCII NUL で終端されたファイル名を標準入力から読み込むことができる。
 @end macro
 @filesZeroFromOption{wc,,合計}
 
-たとえば、カレント・ディレクトリ以下にある、すべての @file{.c} ファイル
-や @file{.h} ファイルの内で、最長の行の長さを知るには、次のようにする。
+たとえば、カレント・ディレクトリ以下にある、すべての @file{.c} ファイル
+@file{.h} ファイルの内で、最長の行の長さを知るには、次のようにする。
 
 @example
 find . -name '*.[ch]' -print0 |
@@ -4048,7 +3817,7 @@ find . -name '*.[ch]' -print0 |
 @command{sum} は、指定された各 @var{file} の 16-bit チェックサムを計算する。
 @var{file} が指定されなかった場合や、@var{file} として @samp{-} が指定された場合は、
 標準入力を対象とする。
-@sp 1
+
 書式:
 
 @example
@@ -4057,12 +3826,12 @@ sum [@var{option}]@dots{} [@var{file}]@dots{}
 
 @command{sum} は各 @var{file} のチェックサムを表示し、その後にファイルのブロック数
 (整数に切り上げたもの) を続ける。複数の @var{file} が指定されていると、
-ファイル名も表示される (デフォルト)。(@option{--sysv} オプションが指定されて
-いる場合は、引数に一つでもファイルがあれば、そのファイル名が表示される。)
+ファイル名も表示される (デフォルト)。(@option{--sysv} オプションが指定されている場合は、
+引数に一つでもファイルがあれば、そのファイル名が表示される。)
 
-デフォルトでは、GNU の @command{sum} は、BSD の @command{sum} と互換性のある
\82¢ã\83«ã\82´ã\83ªã\82ºã\83 ã\82\92使ã\81£ã\81¦ã\80\81ã\83\81ã\82§ã\83\83ã\82¯ã\82µã\83 ã\82\92è¨\88ç®\97ã\81\97ã\80\811 ã\83\96ã\83­ã\83\83ã\82¯ 1024 ã\83\90ã\82¤ã\83\88ã\81®
-ブロック数でファイルサイズを表示する。
+デフォルトでは、GNU の @command{sum} は、BSD の @command{sum}
\81¨äº\92æ\8f\9bæ\80§ã\81®ã\81\82ã\82\8bã\82¢ã\83«ã\82´ã\83ªã\82ºã\83 ã\82\92使ã\81£ã\81¦ã\80\81ã\83\81ã\82§ã\83\83ã\82¯ã\82µã\83 ã\82\92è¨\88ç®\97ã\81\97ã\80\81
+1 ブロック 1024 バイトのブロック数でファイルサイズを表示する。
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 
@@ -4071,10 +3840,9 @@ sum [@var{option}]@dots{} [@var{file}]@dots{}
 @item -r
 @opindex -r
 @cindex BSD @command{sum}
-デフォルトの (BSD と互換性のある) アルゴリズムを使用する。この
-オプションが存在しているのは、System V の @command{sum} との互換性のため
-である。前方に @option{-s} オプションも指定されているとき以外、このオプ
-ションは効果を持たない。
+デフォルトの (BSD と互換性のある) アルゴリズムを使用する。
+このオプションが存在しているのは、System V の @command{sum} との互換性のためである。
+前方に @option{-s} オプションも指定されているとき以外、このオプションは効果を持たない。
 
 @item -s
 @itemx --sysv
@@ -4082,8 +3850,7 @@ sum [@var{option}]@dots{} [@var{file}]@dots{}
 @opindex --sysv
 @cindex System V @command{sum}
 System V の @command{sum} のデフォルトと互換性のあるアルゴリズムを使って、
-チェックサムを計算し、1 ブロック 512 バイトのブロック数でファイル
-サイズを表示する。
+チェックサムを計算し、1 ブロック 512 バイトのブロック数でファイルサイズを表示する。
 
 @end table
 
@@ -4100,34 +3867,61 @@ System V の @command{sum} のデフォルトと互換性のあるアルゴリ
 @cindex cyclic redundancy check
 @cindex CRC checksum
 
-@command{cksum} は、指定された各 @var{file} の CRC (cyclic redundancy check、巡回
-冗長検査) チェックサムを計算する。@var{file} が指定されなかった場合や、
-@var{file} として @samp{-} が指定された場合は、標準入力を対象とする。
-@sp 1
+@command{cksum} は、指定された各 @var{file} の
+CRC (cyclic redundancy check、巡回冗長検査) チェックサムを計算する。
+@var{file} が指定されなかった場合や、@var{file} として @samp{-} が指定された場合は、
+標準入力を対象とする。
+
 書式:
 
 @example
 cksum [@var{option}]@dots{} [@var{file}]@dots{}
 @end example
 
-@command{cksum} は、各ファイルの CRC チェックサムとバイト数を表示する。また、
-引数が指定されていない場合を除いて、ファイル名も表示する。
+@command{cksum} は、各ファイルの CRC チェックサムとバイト数を表示する。
+また、引数が指定されていない場合を除いて、ファイル名も表示する。
 
-@command{cksum} は通常、信頼性の低い方法 (たとえば、netnews) によって転送
\81\95ã\82\8cã\81\9fã\83\95ã\82¡ã\82¤ã\83«ã\81«æ\90\8då\82·ã\81\8cã\81ªã\81\84ã\81\93ã\81¨ã\82\92確èª\8dã\81\99ã\82\8bã\81\9fã\82\81ã\81«ä½¿ç\94¨ã\81\95ã\82\8cã\82\8bã\80\82å\8f\97ä¿¡ã\81\97ã\81\9f
-ファイルに対する @command{cksum} の出力を、転送元のファイルに対する @command{cksum}
-の出力 (たいてい、配布物中に入っている) と比較するわけである。
+@command{cksum} は通常、信頼性の低い方法 (たとえば、netnews)
\81«ã\82\88ã\81£ã\81¦è»¢é\80\81ã\81\95ã\82\8cã\81\9fã\83\95ã\82¡ã\82¤ã\83«ã\81«æ\90\8då\82·ã\81\8cã\81ªã\81\84ã\81\93ã\81¨ã\82\92確èª\8dã\81\99ã\82\8bã\81\9fã\82\81ã\81«ä½¿ç\94¨ã\81\95ã\82\8cã\82\8bã\80\82
+受信したファイルに対する @command{cksum} の出力を、転送元のファイルに対する
+@command{cksum} の出力 (たいてい、配布物中に入っている) と比較するわけである。
 
 CRC のアルゴリズムは、POSIX 規格によって規定されており、BSD や
-System V の @command{sum} のアルゴリズム (直前のセクションを参照) と互換性が
-ない。CRC アルゴリズムの方が信頼性が高い。
+System V の @command{sum} のアルゴリズム (直前のセクションを参照) と互換性がない。
+CRC アルゴリズムの方が信頼性が高い。
 
-オプションは、@option{--help} と @option{--version} だけである。@xref{Common
-options}.
+オプションは、@option{--help} と @option{--version} だけである。
+@xref{Common options}.
 
 @exitstatus
 
 
+@node b2sum invocation
+@section @command{b2sum}: BLAKE2 ダイジェストの表示、または検査をする
+
+@pindex b2sum
+@cindex BLAKE2
+@cindex 512-bit checksum
+@cindex checksum, 512-bit
+@cindex fingerprint, 512-bit
+@cindex message-digest, 512-bit
+
+@command{b2sum} は、指定された各 @var{file} の 512-bit チェックサムを計算する。
+@command{md5sum} コマンドと同じ使用法とオプションがサポートされている。
+@xref{md5sum invocation}.  なお、@command{b2sum} では、以下のオプションも使用できる。
+
+@table @samp
+@item -l
+@itemx --length
+@opindex -l
+@opindex --length
+@cindex BLAKE2 hash length
+ダイジェストのデフォルトの長さを変更 (短縮) する。
+長さは bit で指定する。従って 8 の倍数でなければならない。
+@option{--check} オプションが指定されていると、このオプションは無視される。
+チェックを行うときは、ダイジェストの長さは自動的に判断されるからである。
+@end table
+
 @node md5sum invocation
 @section @command{md5sum}: MD5 ダイジェストの表示、または検査をする
 
@@ -4142,35 +3936,37 @@ options}.
 チェックサムは、指紋 (@dfn{fingerprint}) とか、メッセージ・ダイジェスト
 (@dfn{message-digest}) とも呼ばれる (訳注: ハッシュ値と呼ばれることもある)。
 
-注意: MD5 ダイジェストは、ファイルの不測の損傷を検知することに
-関して、単純な CRC (@command{cksum} コマンドで使用できる) よりも信頼性が高い。
-二つのファイルがたまたま同一の MD5 値を持っている確率は、ほとんどゼロ
-だからである。だからと言って、悪意のある改竄に対して安全だと考えては
-ならない。ある特定の MD5 指紋を持つファイルを見つけ出すことは、現在の
-ところ事実上不可能だと考えられているが、デジタル証明書などのファイルが
-署名に MD5 ダイジェストを使用しているとき、そうしたファイルに手を
-加えて、正当に見えるようする方法なら、周知のことだからである。もっと
-安全なハッシュ値が必要なら、SHA-2 の使用を考慮した方がよい。
+注意: MD5 ダイジェストは、ファイルの不測の損傷を検知することに関して、
+単純な CRC (@command{cksum} コマンドで使用できる) よりも信頼性が高い。
+二つのファイルがたまたま同一の MD5 値を持っている確率は、ほとんどゼロだからである。
+だからと言って、悪意のある改竄に対して安全だと考えてはならない。
+ある特定の MD5 指紋を持つファイルを見つけ出すことは、現在のところ事実上不可能だと考えられているが、
+デジタル証明書などのファイルが署名に MD5 ダイジェストを使用しているとき、
+そうしたファイルに手を加えて、正当に見えるようする方法なら、周知のことだからである。
+もっと安全なハッシュ値が必要なら、SHA-2 の使用を考慮した方がよい。
 @xref{sha2 utilities}.
 
-指定された @var{file} が @samp{-} の場合や、ファイルが全く指定されなかった
-場合は、@command{md5sum} は標準入力のチェックサムを計算する。また、@command{md5sum} は、
-ファイルとチェックサムの間に矛盾がないかどうかを判定することもできる。
-@sp 1
+指定された @var{file} が @samp{-} の場合や、ファイルが全く指定されなかった場合は、
+@command{md5sum} は標準入力のチェックサムを計算する。また、@command{md5sum}
\81¯ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\81¨ã\83\81ã\82§ã\83\83ã\82¯ã\82µã\83 ã\81®é\96\93ã\81«ç\9f\9bç\9b¾ã\81\8cã\81ªã\81\84ã\81\8bã\81©ã\81\86ã\81\8bã\82\92å\88¤å®\9aã\81\99ã\82\8bã\81\93ã\81¨ã\82\82ã\81§ã\81\8dã\82\8bã\80\82
+
 書式:
 
 @example
 md5sum [@var{option}]@dots{} [@var{file}]@dots{}
 @end example
 
-各 @var{file} に対して @samp{md5sum} は、MD5 チェックサム、入力モードがバイ
-ナリかテキストかを示すフラグ、それにファイル名を出力する。@var{file} に
-バックスラッシュや改行文字が含まれている場合は、出力する行の先頭に
-バックスラッシュを付け、さらに、ファイル名中の問題のある各文字を
-バックスラッシュでエスケープする。そうすることで、わがままなファイル
-名があっても、出力に誤解の余地がないようにしているわけだ。@var{file} が
-指定されていなかったり、@samp{-} という形で指定されている場合は、標準入力
-から読み込む。
+各 @var{file} に対して @samp{md5sum} は、デフォルトでは
+MD5 チェックサム、一個の空白、入力モードがバイナリかテキストかを示すフラグ、
+それにファイル名を出力する。バイナリモードの指標は @samp{*} であり、
+テキストモードの指標は @samp{ } (空白) である。
+モードの区別に意味のあるシステムでは、バイナリモードがデフォルトだが、
+そうでないシステムではテキストモードがデフォルトである。
+@var{file} にバックスラッシュや改行文字が含まれている場合は、出力する行の先頭にバックスラッシュを付け、
+さらに、ファイル名中の問題のある各文字をバックスラッシュでエスケープする。
+そうすることで、わがままなファイル名があっても、出力に誤解の余地がないようにしているのだ。
+@var{file} が指定されていなかったり、@samp{-} という形で指定されている場合は、
+標準入力から読み込む。
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 
@@ -4181,106 +3977,112 @@ md5sum [@var{option}]@dots{} [@var{file}]@dots{}
 @opindex -b
 @opindex --binary
 @cindex binary input files
-各入力ファイルをバイナリとして扱う。すなわち、入力ファイルをバイナリ
-モードで読み込み、出力に @samp{*} というフラグを付ける。このオプションは
-@option{--text} の反対である。バイナリファイルとテキストファイルを区別しな
-い GNU のようなシステムでは、このオプションは入力モードがバイナリ
-であるとのフラグを付けるだけであり、MD5 チェックサムの値には影響を
-及ぼさない。このオプションは、バイナリファイルとテキストファイルを
-区別する MS-DOS のようなシステムでは、デフォルトである。だだし、
-読み込みを標準入力から行い、その標準入力が端末であるときは除く。
+各入力ファイルをバイナリとして扱う。すなわち、入力ファイルをバイナリモードで読み込み、
+出力に @samp{*} というフラグを付ける。このオプションは
+@option{--text} の反対である。バイナリファイルとテキストファイルを区別しない GNU
+のようなシステムでは、このオプションは入力モードがバイナリであるとのフラグを付けるだけであり、
+MD5 チェックサムの値には影響を及ぼさない。
+このオプションは、バイナリファイルとテキストファイルを区別する MS-DOS のようなシステムでは、
+デフォルトである。だだし、読み込みを標準入力から行い、その標準入力が端末であるときは除く。
 
 @item -c
 @itemx --check
-各 @var{file} から (@var{file} が指定されなかった場合は、標準入力から)、ファ
-イル名とチェックサム情報を読み込み (@var{file} をチェックサム計算の対象と
-なるデータとして読み込むわけはない)、そのチェックサム情報が、名前を
-挙げられているファイルの内容に対応しているかどうかを報告する。この
-モードの @command{md5sum} に対する入力は、たいていの場合、事前に @samp{md5sum}
-を実行してチェックサムを作成したときの出力である。入力の有効な行は
-それぞれ、MD5 チェックサム、バイナリかテキストかのフラグ、ファイル
-名の順になっている。バイナリモードには @samp{*} の指標が付き、テキスト
-モードには、@samp{ } (空白) の指標が付く。そうした各行に対して、@command{md5sum}
-は、そこに名前を挙げられたファイルを読み込み、その MD5 チェックサム
-を計算する。そして、算出したメッセージダイジェストが、そのファイル名
-と同じ行にあるチェックサムと一致しない場合は、そのファイルがテストに
-失敗したことを報告するのである。両者が一致した場合は、テストにパス
-したことになる。デフォルトでは、有効な各行に対して標準出力にメッ
-セージを 1 行づつ書き出し、指名されたファイルがテストにパスしたか
-どうかを明かにする。また、すべてのチェックが完了したとき、テストに
-失敗したものが一つでもあれば、警告メッセージを標準エラーに出力する。
+各 @var{file} から (@var{file} が指定されなかった場合は、標準入力から)、
+ファイル名とチェックサム情報を読み込み
+(@var{file} をチェックサム計算の対象となるデータとして読み込むわけはない)、
+そのチェックサム情報が、それに対して名前を挙げられているファイルの内容に対応しているかどうかを報告する。
+このモードの @command{md5sum} に対する入力は、たいていの場合、事前に @samp{md5sum}
+を実行してチェックサムを生成したときの出力である。
+入力ファイルの書式は、三種類のものがサポートされている。それは、上記のデフォルトの出力書式、
+@option{--tag} オプションを付けたときの出力書式、
+それに BSD の逆順表示モード (reversed mode) の書式であり、最後のものは、デフォルトの書式に似ているが、
+バイナリとテキストモードを区別する文字を使用しないものである。
+@sp 1
+そうした入力ファイルの各行に対して、@command{md5sum} は、そこに名前を記載されたファイルを読み込み、
+その MD5 チェックサムを計算する。そして、算出したメッセージダイジェストが、
+そのファイル名と同じ行にあるチェックサムと一致しなかった場合は、
+そのファイルをテストに失敗したものとするのである。
+両者が一致した場合は、テストにパスしたことになる。
+デフォルトでは、有効な各行に対して標準出力にメッセージを 1 行づつ書き出し、
+指名されているファイルがテストにパスしたかどうかを報告する。
+また、すべてのチェックが完了したとき、テストに失敗したものが一つでもあれば、
+警告メッセージを標準エラーに出力する。
 この出力を抑制したければ、@option{--status} オプションを使用すればよい。
-リストされたファイルの中に、オープンできなかったり、読み込めなかっ
-たりするものがあった場合や、有効な行に書いてあるチェックサムが対応
-するファイルの実際の値と一致しなかった場合、それに、有効な行が全く
-存在しなかった場合は、@command{md5sum} は 0 以外のステータスで終了する。
+リストされたファイルの中に、オープンできなかったり、読み込めなかったりするものがあった場合や、
+有効な行に書いてあるチェックサムが対応するファイルの実際の値と一致しなかった場合、
+それに、有効な行が全く存在しなかった場合は、@command{md5sum} は 0 以外のステータスで終了する。
 それ以外の場合は正常終了することになる。
 
+@item --ignore-missing
+@opindex --ignore-missing
+@cindex verifying MD5 checksums
+このオプションが役に立つのは、チェックサムの照合をするときだけである。
+このオプションを指定すると、チェックサムを照合する際にファイルが存在しなくても、
+実行に失敗したり、ステータス情報を出したりしなくなる。
+ダウンロードしたファイルにチェックサムの長大なリストが付いているとき、
+一部のファイルの照合をするのに便利である。
+
 @item --quiet
 @opindex --quiet
 @cindex verifying MD5 checksums
-このオプションが役に立つのは、チェックサムを照合するときだけである。
-このオプションを指定すると、チェックサムを照合する際、検査に成功した
-ファイルごとに 'OK' (訳注: 日本語では、「成功」または「完了」) の
-メッセージを出さなくなる。ただし、ファイルが照合に失敗した場合は、
-デフォルトと同じ 1 ファイル 1 行の形式で結果を報告する。チェック
-サムに何らかの不一致があった場合は、失敗を総括した警告メッセージも
-標準出力に表示する。
+このオプションが役に立つのは、チェックサムの照合をするときだけである。
+このオプションを指定すると、チェックサムを照合する際、
+検査に成功したファイルごとに 'OK' (訳注: 日本語では、「成功」または「完了」)
+のメッセージを出さなくなる。ただし、ファイルが照合に失敗した場合は、
+デフォルトと同じ 1 ファイル 1 行の形式で結果を報告する。
+チェックサムに何らかの不一致があった場合は、失敗を総括した警告メッセージも標準出力に表示する。
 
 @item --status
 @opindex --status
 @cindex verifying MD5 checksums
\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81\8cå½¹ã\81«ç«\8bã\81¤ã\81®ã\81¯ã\80\81ã\83\81ã\82§ã\83\83ã\82¯ã\82µã\83 ã\82\92ç\85§å\90\88するときだけである。
\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81\8cå½¹ã\81«ç«\8bã\81¤ã\81®ã\81¯ã\80\81ã\83\81ã\82§ã\83\83ã\82¯ã\82µã\83 ã\81®ç\85§å\90\88ã\82\92するときだけである。
 このオプションを指定すると、チェックサムを照合する際、デフォルトの
-1 ファイルに付き 1 行の判定メッセージを出さなくなる。また、照合の
-失敗があっても、それを総括した警告メッセージを出力することがない。
-とは言え、ファイルのオープンや読み込みに失敗した場合は、やはり
\81\9dã\82\8cã\81\9eã\82\8cã\81®è¨ºæ\96­çµ\90æ\9e\9cã\82\92æ¨\99æº\96ã\82¨ã\83©ã\83¼ã\81«è¡¨ç¤ºã\81\99ã\82\8bã\80\82ã\83ªã\82¹ã\83\88ã\81\95ã\82\8cã\81\9fã\81\99ã\81¹ã\81¦ã\81®
-ファイルを読み込むことができ、しかも、すべてのファイルについて、
-対応する MD5 チェックサムと矛盾がなければ、正常終了する。それ以外
-の場合は、失敗があったことを示すステータスコードで終了する。
+1 ファイルに付き 1 行の判定メッセージを出さなくなる。
+また、照合の失敗があっても、それを総括した警告メッセージを出力することもない。
+とは言え、ファイルのオープンや読み込みに失敗した場合は、
\82\84ã\81¯ã\82\8aã\81\9dã\82\8cã\81\9eã\82\8cã\81®è¨ºæ\96­çµ\90æ\9e\9cã\82\92æ¨\99æº\96ã\82¨ã\83©ã\83¼ã\81«è¡¨ç¤ºã\81\99ã\82\8bã\80\82
\83ªã\82¹ã\83\88ã\81\95ã\82\8cã\81\9fã\81\99ã\81¹ã\81¦ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82\92読ã\81¿è¾¼ã\82\80ã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\80\81ã\81\97ã\81\8bã\82\82ã\80\81ã\81\99ã\81¹ã\81¦ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81«ã\81¤ã\81\84ã\81¦ã\80\81
+対応する MD5 チェックサムと矛盾がなければ、正常終了する。
\81\9dã\82\8c以å¤\96ã\81®å ´å\90\88ã\81¯ã\80\81失æ\95\97ã\81\8cã\81\82ã\81£ã\81\9fã\81\93ã\81¨ã\82\92示ã\81\99ã\82¹ã\83\86ã\83¼ã\82¿ã\82¹ã\82³ã\83¼ã\83\89ã\81§çµ\82äº\86ã\81\99ã\82\8bã\80\82
 
 @item --tag
 @opindex --tag
 @cindex BSD output
-BSD スタイルのチェックサムを出力する。つまり、使用したチェックサム
\81®ã\82¢ã\83«ã\82´ã\83ªã\82ºã\83 ã\82\82表示ã\81\99ã\82\8bã\81¨ã\81\84ã\81\86ã\81\93ã\81¨ã\81 ã\80\82GNU ã\81®æ\8b¡å¼µã\81¨ã\81\97ã\81¦ã\80\81å\95\8fé¡\8cã\82\92èµ·ã\81\93
-しかねない文字を含むファイル名は、上述したようにエスケープされ、
-さらに、行の先頭に エスケープの指標に使われたのと同じ @samp{\} 文字が
-付けられる。@option{--tag} オプションはバイナリ・モードを意味し、@option{--text}
-オプションと一緒に使うことは認められていない。そんなことをサポート
\81\97ã\81¦ã\82\82ã\80\81å\87ºå\8a\9bã\81®æ\9b¸å¼\8fã\82\92ã\82\80ã\82\84ã\81¿ã\81«ç¹\81é\9b\91ã\81«ã\81\99ã\82\8bã\81 ã\81\91ã\81§ã\80\81å\88©ç\9b\8aã\81¯ã\81»ã\81¨ã\82\93ã\81©ã\81ªã\81\84
-からである。
+BSD スタイルのチェックサムを出力する。
\81¤ã\81¾ã\82\8aã\80\81使ç\94¨ã\81\97ã\81\9fã\83\81ã\82§ã\83\83ã\82¯ã\82µã\83 ã\81®ã\82¢ã\83«ã\82´ã\83ªã\82ºã\83 ã\82\82表示ã\81\99ã\82\8bã\81¨ã\81\84ã\81\86ã\81\93ã\81¨ã\81 ã\80\82
+GNU の拡張として、問題を起こしかねない文字を含むファイル名は、上述したようにエスケープされ、
+さらに、行の先頭に エスケープの指標に使われたのと同じ
+@samp{\} 文字が付けられる。@option{--tag} オプションはバイナリ・モードを意味し、
+@option{--text} オプションと一緒に使うことは認められていない。
\81\9dã\82\93ã\81ªã\81\93ã\81¨ã\82\92ã\82µã\83\9dã\83¼ã\83\88ã\81\97ã\81¦ã\82\82ã\80\81å\87ºå\8a\9bã\81®æ\9b¸å¼\8fã\82\92ã\82\80ã\82\84ã\81¿ã\81«ç¹\81é\9b\91ã\81«ã\81\99ã\82\8bã\81 ã\81\91ã\81§ã\80\81
+利益はほとんどないからである。
 
 @item -t
 @itemx --text
 @opindex -t
 @opindex --text
 @cindex text input files
-各入力ファイルをテキストとして扱う。すなわち、入力ファイルをテキスト
-モードで読み込み、出力に @samp{ } というフラグを付ける。このオプションは
-@option{--binary} の反対である。バイナリファイルとテクストファイルを区別
-しない GNU のようなシステムでは、このオプションはデフォルトである。
-ほかのシステムでも、読み込みを標準入力から行い、その標準入力が端末で
-あるときは、デフォルトになる。ただし、@option{--tag} が使用されているとき
-に、このモードがデフォルトになることはない。
+各入力ファイルをテキストとして扱う。すなわち、入力ファイルをテキストモードで読み込み、
+出力に @samp{ } というフラグを付ける。このオプションは
+@option{--binary} の反対である。バイナリファイルとテクストファイルを区別しない GNU
+のようなシステムでは、このオプションがデフォルトである。
+ほかのシステムでも、読み込みを標準入力から行い、その標準入力が端末であるときは、デフォルトになる。
+ただし、@option{--tag} が使用されているときに、このモードがデフォルトになることはない。
 
 @item -w
 @itemx --warn
 @opindex -w
 @opindex --warn
 @cindex verifying MD5 checksums
-チェックサムを照合する際、MD5 チェックサムを記載した行の書式に
-正しくないものがあると、その旨警告を発する。このオプションが
-役に立つのは、チェックされる入力中の、数行を除いたすべての行が、
-有効なときだけである。
+チェックサムを照合する際、MD5 チェックサムを記載した行の書式に正しくないものがあると、
+その旨警告を発する。このオプションが役に立つのは、
+チェックされる入力中の、数行を除いたすべての行が、有効なときだけである。
 
 @item --strict
 @opindex --strict
 @cindex verifying MD5 checksums
-チェックサムを照合する際、無効な入力行が 1 行でもあれば、そうした
-行のすべてについて警告を発したのち、0 以外の終了ステータスで終了
-する。
+チェックサムを照合する際、無効な入力行が 1 行でもあれば、
+そうした行のすべてについて警告を発したのち、0 以外の終了ステータスで終了する。
 
 @end table
 
@@ -4302,11 +4104,11 @@ BSD スタイルのチェックサムを出力する。つまり、使用した
 @xref{md5sum invocation}.
 
 注意: SHA-1 ダイジェストは MD5 より安全であり、コリジョン
-(collision、衝突。別のファイルが同一の指紋を持つこと) が起きたという
-話を聞いたことはない。しかしながら、大量の --- と言っても非現実的な
\81»ã\81©ã\81§ã\81¯ã\81ªã\81\84 --- ã\83ªã\82½ã\83¼ã\82¹ã\81\8cã\81\82ã\82\8cã\81°ã\80\81ã\82³ã\83ªã\82¸ã\83§ã\83³ã\82\92ä½\9cã\82\8aå\87ºã\81\9bã\82\8bã\81\93ã\81¨ã\81\8cã\82\8fã\81\8bã\81£ã\81¦
-いる。この理由から、SHA-1 は、もっと安全な SHA-2 ハッシュ・アルゴリズム
-に徐々に移行すべきだと、一般に考えられている。 @xref{sha2 utilities}.
+(collision、衝突。別のファイルが同一の指紋を持つこと) が起きたという話を聞いたことはない。
+しかしながら、大量の --- と言っても非現実的なほどではない --- リソースがあれば、
\82³ã\83ªã\82¸ã\83§ã\83³ã\82\92ä½\9cã\82\8aå\87ºã\81\9bã\82\8bã\81\93ã\81¨ã\81\8cã\82\8fã\81\8bã\81£ã\81¦ã\81\84ã\82\8bã\80\82ã\81\93ã\81®ç\90\86ç\94±ã\81\8bã\82\89ã\80\81
+SHA-1 は、もっと安全な SHA-2 ハッシュ・アルゴリズムに徐々に移行すべきだと、一般に考えられている。
+@xref{sha2 utilities}.
 
 
 @node sha2 utilities
@@ -4335,13 +4137,11 @@ BSD スタイルのチェックサムを出力する。つまり、使用した
 @cindex message-digest, 512-bit
 
 コマンド @command{sha224sum}, @command{sha256sum}, @command{sha384sum},
-@command{sha512sum} は、一まとめ
-にして SHA-2 ハッシュと呼ばれる様々な長さのチェックサムを計算する
-(それぞれ、224, 256, 384, 512 bits である)。こうしたコマンドの使用法
-とオプションは、@command{md5sum} と全く同じである。@xref{md5sum invocation}.
-
-注意: SHA384 と SHA512 のダイジェストは、SHA224 や SHA256 に比べて、
-計算にかなり時間がかかる。32 ビットのコンピュータではなおさらである。
+@command{sha512sum}
+は、一まとめにして SHA-2 ハッシュと呼ばれる様々な長さのチェックサムを計算する
+(それぞれ、224, 256, 384, 512 bits である)。
+こうしたコマンドの使用法とオプションは、@command{md5sum} や @command{sha1sum}
+と全く同じである。 @xref{md5sum invocation}.
 
 
 @node Operating on sorted files
@@ -4369,17 +4169,53 @@ BSD スタイルのチェックサムを出力する。つまり、使用した
 @cindex sorting files
 
 @command{sort} は、指定されたファイルから読み込んだすべての行に対して、ソート
-(sort、一定の基準に従った並べ替え)、マージ (merge、統合)、比較を行う。
-ファイルが一つも指定されなかった場合や、@var{file} として @samp{-} が指定された
-場合は、標準入力から読み込む。デフォルトでは、@command{sort} は結果を標準出力
-に書き出す。
-@sp 1
+(sort、一定の基準に従った並べ替え)、マージ (merge、データの統合)、比較
+(compare) を行う。ファイルが一つも指定されなかった場合や、@var{file} として
+@samp{-} が指定された場合は、標準入力から読み込む。デフォルトでは、@command{sort}
\81¯çµ\90æ\9e\9cã\82\92æ¨\99æº\96å\87ºå\8a\9bã\81«æ\9b¸ã\81\8då\87ºã\81\99ã\80\82
+
 書式:
 
 @example
 sort [@var{option}]@dots{} [@var{file}]@dots{}
 @end example
 
+@cindex sort stability
+@cindex sort's last-resort comparison
+多くのオプションが、@command{sort} が行を比較する方法に影響を及ぼす。
+そこで、結果が期待どおりでないときは、@option{--debug}
+オプションを使って、どうしてそうなったかを調べてみていただきたい。
+二つの行の比較は、次のように行われる。@command{sort} は、対になる各フィールドを
+(@option{--key} オプションを参照)、
+コマンドラインで指定された順番で、そのフィールドに結びついた順序関係のオプションに従いつつ比較し、
+相違が見つかるか、比較するフィールドがなくなるまでそれを続ける。
+キーとなるフィールドが指定されていない場合は、デフォルトのキーである行全体が比較に使用される。
+最後に、すべてのキーが同じだったときは、最後の手段として、@option{--reverse} (@option{-r})
+以外の順序関係のどんなオプションも指定されていないかのように、行全体を比較する。
+@option{--stable} オプションを指定すると、この最後の手段の比較
+(@dfn{last-resort comparison}) を行わないようになり、
+その結果、すべてのキー・フィールドが等価である行は、互いに対する元の順序がそのまま維持される。
+@option{--unique} (@option{-u}) オプションも、最後の手段の比較を行わないようにする。
+@vindex LC_ALL
+@vindex LC_COLLATE
+
+別の指定がなされていないかぎり、すべての比較は、@env{LC_COLLATE}
+のロケールによって指定されている文字の照合順序で行われる。@footnote{POSIX
+以外のロケールを使用すると (たとえば、@env{LC_ALL} を @samp{en_US}
+に設定すると)、@command{sort} の出力が、見慣れない順序でソートされたものになるかもしれない。
+その場合は、環境変数 @env{LC_ALL} を @samp{C} にすればよい。
+注意すべきは、@env{LC_COLLATE} だけを設定したのでは、二つの問題が生じてしまうということだ。
+一つは、@env{LC_ALL} も設定されている場合、@env{LC_COLLATE}
+は無効だということ。二つ目は、@env{LC_CTYPE} が
+(@env{LC_CTYPE} が設定されていないときは、@env{LANG} が)
+@env{LC_COLLATE} と矛盾する値に設定されている場合、動作が未定義だということである。
+たとえば、@env{LC_CTYPE} が @code{ja_JP.PCK} であるのに、
+@env{LC_COLLATE} が @code{en_US.UTF-8} の場合、@command{sort} の動作は未定義なのである。}
+行末の改行は、比較に当たっては、行の一部として扱われない。
+入力ファイルの最後のバイトが改行でなければ、GNU の @command{sort} は黙って改行を追加する。
+GNU の @command{sort} では (GNU のすべてのユーティリティについて規定されているとおり)、
+入力行の長さに上限がない。すなわち、各行に含まれるバイト数に制限がない。
+
 @command{sort} には三つの動作モードがある。ソート (これがデフォルト)、
 マージ、それに、すでにソートされているかどうかのチェックである。
 動作モードの変更には、以下のオプションを使用する。
@@ -4393,10 +4229,10 @@ sort [@var{option}]@dots{} [@var{file}]@dots{}
 @opindex --check
 @cindex checking for sortedness
 指定されたファイルがすでにソートされているかどうかをチェックする。
-ファイル全体がソート済みでない場合は、診断メッセージを出し、順番
-から外れている最初の箇所を示してから、ステータス 1 で終了する。
-ファイルがソート済みの場合は、正常終了する。入力ファイルは、1 個
-しか指定できない。
+ファイル全体がソート済みでない場合は、診断メッセージを出し、
+順番から外れている最初の箇所を示してから、ステータス 1 で終了する。
+ファイルがソート済みの場合は、正常終了する。
+入力ファイルは、1 個しか指定できない。
 
 @item -C
 @itemx --check=quiet
@@ -4405,58 +4241,22 @@ sort [@var{option}]@dots{} [@var{file}]@dots{}
 @opindex --check
 @cindex checking for sortedness
 指定されたファイルがすでにソート済みだったら、正常終了する。
-さもなければ、ステータス 1 で終了。入力ファイルは、1 個しか指定
-できない。このオプションは @option{-c} と同様だが、診断メッセージを
-出さない点が異なる。
+さもなければ、ステータス 1 で終了。入力ファイルは、1 個しか指定できない。
+このオプションは @option{-c} と同様だが、診断メッセージを出さない点が異なる。
 
 @item -m
 @itemx --merge
 @opindex -m
 @opindex --merge
 @cindex merging sorted files
-指定された複数のファイルを、一つのグループとしてソートすることで
-統合を行う。各入力ファイルは、必ずそれぞれがソート済みでなければ
\81ªã\82\89ã\81ªã\81\84ã\80\82ã\83\9eã\83¼ã\82¸ã\83¢ã\83¼ã\83\89ã\81®ä»£ã\82\8fã\82\8aã\81«ã\82½ã\83¼ã\83\88ã\83¢ã\83¼ã\83\89ã\82\92使ã\81\88ã\81°ã\80\81ã\81\9dã\81\86ã\81\97ã\81\9fæ\9d¡ä»¶
\81ªã\81\97ã\81§ã\80\81ã\82½ã\83¼ã\83\88ã\81¨ã\83\9eã\83¼ã\82¸ã\82\92è¡\8cã\81\86ã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\80\82ã\83\9eã\83¼ã\82¸ã\83¢ã\83¼ã\83\89ã\81\8cã\81\82ã\82\8bã\81®ã\81¯ã\80\81
-それが使える場合は、その方が高速だからである。
+指定された複数のファイルを一つのグループとしてソートすることでデータの統合を行う。
+各入力ファイルは、必ずそれぞれがソート済みでなければならない。
\83\9eã\83¼ã\82¸ã\83¢ã\83¼ã\83\89ã\81®ä»£ã\82\8fã\82\8aã\81«ã\82½ã\83¼ã\83\88ã\83¢ã\83¼ã\83\89ã\82\92使ã\81\88ã\81°ã\80\81
\81\9dã\81\86ã\81\97ã\81\9fæ\9d¡ä»¶ã\81ªã\81\97ã\81§ã\80\81ã\82½ã\83¼ã\83\88ã\81¨ã\83\9eã\83¼ã\82¸ã\82\92è¡\8cã\81\86ã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\80\82
\83\9eã\83¼ã\82¸ã\83¢ã\83¼ã\83\89ã\81\8cã\81\82ã\82\8bã\81®ã\81¯ã\80\81ã\81\9dã\82\8cã\81\8c使ã\81\88ã\82\8bå ´å\90\88ã\81¯ã\80\81ã\81\9dã\81®æ\96¹ã\81\8cé«\98é\80\9fã\81 ã\81\8bã\82\89ã\81§ã\81\82ã\82\8bã\80\82
 
 @end table
 
-@cindex sort stability
-@cindex sort's last-resort comparison
-二つの行の比較は、次のように行われる。@command{sort} は、対になる各フィールド
-を、コマンドラインで指定された順番で、そのフィールドに結びついた順序関係
-のオプションに従いつつ比較し、相違が見つかるか、比較するフィールドが
-なくなるまでそれを続ける。キーとなるフィールドが指定されていない場合は、
-デフォルトのキーである行全体が比較に使用される。最後に、すべてのキーが
-同じだったときは、最後の手段として、@option{--reverse} (@option{-r}) 以外の順序関係の
-どんなオプションも指定されていないかのように、行全体を比較する。
-@option{--stable} オプションを指定すると、この最後の手段の比較
-(@dfn{last-resort comparison}) を行わないようになり、その結果、すべてのキー・フィールドが
-等価である行は、互いに対する元の順序がそのまま維持される。
-@option{--unique} (@option{-u}) オプションも、最後の手段の比較を無効にする。
-
-@vindex LC_ALL
-@vindex LC_COLLATE
-別の指定がなされていないかぎり、すべての比較は、@env{LC_COLLATE} の
-ロケールによって指定されている、文字の照合順序で行われる。
-@footnote{POSIX 以外のロケールを使用すると (たとえば、@env{LC_ALL} を @samp{en_US}
-に設定すると)、@command{sort} の出力が、見慣れない順序でソートされたものに
-なるかもしれない。その場合は、環境変数 @env{LC_ALL} を @samp{C} にすればよい。
-注意すべきは、@env{LC_COLLATE} だけを設定したのでは、二つの問題が生じて
-しまうということだ。一つは、@env{LC_ALL} も設定されている場合、@env{LC_COLLATE}
-は無効だということ。二つ目は、@env{LC_CTYPE} が (@env{LC_CTYPE} が設定されて
-いないときは、@env{LANG} が) @env{LC_COLLATE} と矛盾する値に設定されている場合、
-動作が未定義だということである。たとえば、@env{LC_CTYPE} が @code{ja_JP.PCK} で
-あるのに、@env{LC_COLLATE} が @code{en_US.UTF-8} の場合、@command{sort} の動作は未定義
-なのである。}
-
-GNU の @command{sort} では (GNU のすべてのユーティリティについて規定されて
-いるとおり)、入力行の長さに上限がない。言い換えれば、各行に含まれる
-バイト数に制限がない。また、入力ファイルの最後のバイトが改行でなければ、
-GNU の @command{sort} は黙って改行を追加する。なお、行末の改行は、比較に当たって
-は、行の一部として扱われない。
-
 @cindex exit status of @command{sort}
 終了ステータス:
 
@@ -4467,21 +4267,19 @@ GNU の @command{sort} は黙って改行を追加する。なお、行末の改
 @end display
 
 @vindex TMPDIR
-環境変数 @env{TMPDIR} が設定されていれば、@command{sort} はその値をテンポラリ・
-ファイルを置くディレクトリとして @file{/tmp} の代わりに使用する。
-@option{--temporary-directory} (@option{-T}) オプションは、環境変数よりさらに優先さ
-れる。
-
-以下に挙げるオプションは、出力する行の順序に影響を与える。こうした
-オプションは、グローバルなオプションとして指定することもできるし、キー
-となる特定のフィールドに対してのみ働くように指定することもできる。キー
-となるフィールドが全く指定されていない場合は、グローバルなオプションが
-行全体の比較に使用される。キー・フィールドの指定がある場合は、グローバル
-なオプションは、キー・フィールドのうち、それ自身のオプションが特に指定
-されていないフィールドに継承される。POSIX 以前の @command{sort} のバージョンを
-使用している場合、グローバルなオプションが効果を持つのは、それより後で
-指定されるキー・フィールドに対してだけなので、移植を考慮したシェルスク
-リプトでは、グローバル・オプションを最初に指定した方がよい。
+環境変数 @env{TMPDIR} が設定されていれば、@command{sort}
+はその値をテンポラリ・ファイルを置くディレクトリとして @file{/tmp} の代わりに使用する。
+@option{--temporary-directory} (@option{-T}) オプションは、環境変数よりさらに優先される。
+
+以下に挙げるオプションは、出力する行の順序に影響を与える。
+こうしたオプションは、グローバルなオプションとして指定することもできるし、
+キーとなる特定のフィールドに対してのみ働くように指定することもできる。
+キーとなるフィールドが全く指定されていない場合は、グローバルなオプションが行全体の比較に使用される。
+キー・フィールドの指定がある場合は、グローバルなオプションは、
+キー・フィールドのうち、それ自身のオプションが特に指定されていないフィールドに継承される。
+POSIX 以前の @command{sort} のバージョンを使用している場合、グローバルなオプションが効果を持つのは、
+それより後で指定されるキー・フィールドに対してだけなので、
+移植を考慮したシェルスクリプトでは、グローバル・オプションを最初に指定した方がよい。
 
 @table @samp
 
@@ -4492,11 +4290,11 @@ GNU の @command{sort} は黙って改行を追加する。なお、行末の改
 @cindex blanks, ignoring leading
 @vindex LC_CTYPE
 各行中でソートに使うキーを捜すときに、文字の前にある空白を無視する。
-デフォルトの空白は、スペースまたはタブだが、@env{LC_CTYPE} のロケールに
\82\88ã\81£ã\81¦ã\81¯é\81\95ã\81\86ã\81\8bã\82\82ã\81\97ã\82\8cã\81ªã\81\84ã\80\82ã\81ªã\81\8aã\80\81次ã\81®ã\81\93ã\81¨ã\81«ç\95\99æ\84\8fã\81\97ã\81¦ã\81»ã\81\97ã\81\84ã\80\82空ç\99½ã\81¯ã\80\81
-使用しているロケールの照合ルールによっては無視されることがあるが、
-このオプションを指定しておかないと、@option{-k} オプションで指定される
-キー中の文字の位置に関して、空白が意味を持つことになる。
+デフォルトの空白は、スペースまたはタブだが、@env{LC_CTYPE} のロケールによっては違うかもしれない。
\81ªã\81\8aã\80\81次ã\81®ã\81\93ã\81¨ã\81«ç\95\99æ\84\8fã\81\97ã\81¦ã\81»ã\81\97ã\81\84ã\80\82
+空白は、使用しているロケールの照合ルールによっては無視されることがあるが、
+このオプションを指定しておかないと、@option{-k} オプションで指定されるキー中の文字の位置に関して、
+空白が意味を持つことになる。
 
 @item -d
 @itemx --dictionary-order
@@ -4506,10 +4304,10 @@ GNU の @command{sort} は黙って改行を追加する。なお、行末の改
 @cindex phone directory order
 @cindex telephone directory order
 @vindex LC_CTYPE
-電話帳 (@dfn{phone directory}) 順にソートする。ソートする際、表示可能
-文字、数字、空白以外のすべての文字を無視する。デフォルトの表示可能
-文字と数字は ASCII のそれであり、空白はスペースまたはタブだが、後者
-は @env{LC_CTYPE} のロケールによっては違うかもしれない。
+電話帳 (@dfn{phone directory}) 順にソートする。
+すなわち、ソートする際にアルファベット、数字、空白以外のすべての文字を無視する。
+デフォルトのアルファベットと数字は ASCII のそれであり、空白はスペースまたはタブだが、
+後者は @env{LC_CTYPE} のロケールによっては違うかもしれない。
 
 @item -f
 @itemx --ignore-case
@@ -4518,18 +4316,17 @@ GNU の @command{sort} は黙って改行を追加する。なお、行末の改
 @cindex ignoring case
 @cindex case folding
 @vindex LC_CTYPE
-アルファベットの小文字を、一回すべて対応する大文字に直してから、
-比較する。その結果、たとえば、@samp{b} と @samp{B} は等価なものとしてソート
\81\95ã\82\8cã\82\8bã\80\82ã\81©ã\81®æ\96\87å­\97ã\81\8cã\81©ã\81®ã\82¿ã\82¤ã\83\97ã\81«å±\9eã\81\99ã\82\8bã\81\8b (訳注: ã\81\9fã\81¨ã\81\88ã\81°ã\80\81大æ\96\87å­\97ã\81\8b
-小文字か) を決めているのは、@env{LC_CTYPE} のロケールである。@option{--unique}
+アルファベットの小文字を、一回すべて対応する大文字に直してから、比較する。
+その結果、たとえば、@samp{b} と @samp{B} は等価なものとしてソートされる。
\81©ã\81®æ\96\87å­\97ã\81\8cã\81©ã\81®ã\82¿ã\82¤ã\83\97ã\81«å±\9eã\81\99ã\82\8bã\81\8b (訳注: ã\81\9fã\81¨ã\81\88ã\81°ã\80\81大æ\96\87å­\97ã\81\8bå°\8fæ\96\87å­\97ã\81\8b)
+を決めているのは、@env{LC_CTYPE} のロケールである。@option{--unique}
 オプションと一緒に使用したとき、小文字を使っている等価な行があると、
-その小文字の行は捨てられることになる。(大文字を使っている等価な行の
-方を捨てる方法は、現在のところ存在しない。(@option{--reverse} オプションが
-あっても、それが効果を発揮するのは、小文字の行が捨てられた後の最終
-結果に対してだけなのだ。)) (訳注: 実際の動作はこの説明と少し違う。
-最近の @command{sort} では、@option{--unique} と併せて使用した場合、小文字を
-使っている行が捨てられるのではなく、等価な行のうち、最初に現れた
-行が残り、それ以外のすべてが捨てられるようである。)
+その小文字の行は捨てられることになる。(大文字を使っている等価な行の方を捨てる方法は、
+現在のところ存在しない。(@option{--reverse} オプションがあっても、
+それが効果を発揮するのは、小文字の行が捨てられた後の最終結果に対してだけなのだ。))
+(訳注: 実際の動作はこの説明と少し違う。最近の @command{sort} では、
+@option{--unique} と併せて使用した場合、小文字を使っている行が捨てられるのではなく、
+等価な行のうち、最初に現れた行が残り、それ以外のすべてが捨てられるようである。)
 
 @item -g
 @itemx --general-numeric-sort
@@ -4540,7 +4337,8 @@ GNU の @command{sort} は黙って改行を追加する。なお、行末の改
 @cindex general numeric sort
 @vindex LC_NUMERIC
 各行の先頭部分を倍精度浮動小数点数 (long double-precision floating
-point number) に変換して、数値としてソートする。
+point number) に変換して、数値としてソートする
+(訳注: 実際には、各行の先頭と言うより、比較される各フィールドの先頭部分を対象にする)。
 @xref{Floating point}.  オーバーフロー、アンダーフロー、変換エラーが起きても、
 通知しない。行の並ぶ順番は以下のようになる。
 
@@ -4548,8 +4346,8 @@ point number) に変換して、数値としてソートする。
 @item
 数字で始まっていない行 (すべて同じ数値と見なされる)。
 @item
-NaN (IEEE の浮動小数点演算で使う ``Not a Number'' を表す値) を
-一貫した、ただし、マシンに依存する順番で並べる。
+NaN (IEEE の浮動小数点演算で使う ``Not a Number'' を表す値)
+一貫した、ただし、マシンに依存する順番で並べる。
 @item
 マイナスの無限大。
 @item
@@ -4559,8 +4357,8 @@ NaN (IEEE の浮動小数点演算で使う ``Not a Number'' を表す値) を
 @end itemize
 
 このオプションを使うのは、他に方法がないときのみにすること。
-処理速度が @option{--numeric-sort} (@option{-n}) よりずっと遅いし、浮動小数点数に
-変換するとき、情報を失う恐れがある
+処理速度が @option{--numeric-sort} (@option{-n}) よりずっと遅いし、
+浮動小数点数に変換するとき、情報を失う恐れがあるからだ
 
 @item -h
 @itemx --human-numeric-sort
@@ -4570,24 +4368,23 @@ NaN (IEEE の浮動小数点演算で使う ``Not a Number'' を表す値) を
 @opindex --sort
 @cindex human numeric sort
 @vindex LC_NUMERIC
-数値としてソートする。その際、ソートを、まず数が正か負かによって
-行い (負の数、ゼロ、正の数の順)、次に SI 接尾辞 によって行い
+数値としてソートする。その際、ソートを、まず数が正か負かによって行い
+(負の数、ゼロ、正の数の順)、次に SI 接尾辞 によって行い
 (接尾辞なし、@samp{k} や @samp{K}、そして @samp{MGTPEZY} の順  @pxref{Block size})、
-最後に数値によって行う。たとえば、@samp{1023M} は @samp{1G} の
-前に来る。SI 接尾辞として @samp{M}(メガ) は @samp{G} (ギガ) の前になるから
-だ。つまり、このオプションでソートする対象は、接尾辞の意味が 1000
-の累乗か、1024 の累乗かを問わず、一貫したやり方で、数値の規模に
-もっともふさわしい接尾辞を付けられている数値である。従って、この
-オプションは、@command{df}, @command{du}, @command{ls} などのコマンドに
-@option{--human-readable} や
-@option{--si} オプションを付けて実行したときの、一回分の出力をソート
-するのに用いられる。数値の書式は、@option{--numeric-sort} の場合と同じ
-であり (訳注: すなわち、数値の前に付けた @samp{+} 符号を理解しない)、
-SI 接尾辞は、数値の後ろに直接続いていなければならない。なお、
-@command{numfmt} コマンドを使用することも考慮していただきたい。@command{numfmt}
-を使用すれば、数値をソートした後で、人間に読みやすい形に整形し直す
-ことができるので、たいていの場合 @command{sort} の対象に、より精密な数値を
-使うことが可能になるからだ。
+最後に数値によって行う。たとえば、@samp{1023M} は @samp{1G} の前に来る。
+SI 接尾辞として @samp{M}(メガ) は @samp{G} (ギガ) の前になるからだ。
+つまり、このオプションでソートする対象は、接尾辞の意味が 1000
+の累乗か、1024 の累乗かを問わず、一貫したやり方で、
+数値の規模にもっともふさわしい接尾辞を付けられている数値である。
+従って、このオプションは、@command{df}, @command{du}, @command{ls}
+などのコマンドに @option{--human-readable} や @option{--si}
+オプションを付けて実行したときの、一回分の出力をソートするのに用いられる。
+数値の書式は、@option{--numeric-sort} の場合と同じであり
+(訳注: すなわち、数値の前に付けた @samp{+} 符号を理解しない)、
+SI 接尾辞は、数値の後ろに直接続いていなければならない。
+なお、@command{numfmt} コマンドを使用することも考慮していただきたい。@command{numfmt}
+を使用すれば、数値をソートした後で、人間に読みやすい形に整形し直すことができるので、
+たいていの場合 @command{sort} の対象に、より精密な数値を使うことが可能になるからだ。
 
 @item -i
 @itemx --ignore-nonprinting
@@ -4596,10 +4393,10 @@ SI 接尾辞は、数値の後ろに直接続いていなければならない
 @cindex nonprinting characters, ignoring
 @cindex unprintable characters, ignoring
 @vindex LC_CTYPE
-表示できない文字を無視する。どの文字がどのタイプに属するかを決めて
-いるのは、 @env{LC_CTYPE} のロケールである。より強力なオプションである
-@option{--dictionary-order} (@option{-d}) が一緒に指定されていると、このオプ
-ションは効果を持たない。
+表示できない文字を無視する。どの文字がどのタイプに属するかを決めているのは、
+@env{LC_CTYPE} のロケールである。より強力なオプションである
+@option{--dictionary-order} (@option{-d}) が一緒に指定されていると、
\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯å\8a¹æ\9e\9cã\82\92æ\8c\81ã\81\9fã\81ªã\81\84ã\80\82
 
 @item -M
 @itemx --month-sort
@@ -4609,13 +4406,13 @@ SI 接尾辞は、数値の後ろに直接続いていなければならない
 @opindex --sort
 @cindex months, sorting by
 @vindex LC_TIME
-比較する部分の先頭が、0 個以上の空白に続いて、月名の短縮形になって
\81\84ã\82\8bã\81¨ã\81\8dã\80\81ã\81\99ã\81¹ã\81¦ã\81®æ\96\87å­\97ã\82\92大æ\96\87å­\97ã\81«ç\9b´ã\81\97ã\81¦ @samp{JAN} < @samp{FEB} < @dots{} < @samp{DEC}
+比較する部分の先頭が、0 個以上の空白に続いて、月名の短縮形になっているとき、
+すべての文字を大文字に直して @samp{JAN} < @samp{FEB} < @dots{} < @samp{DEC}
 の順序で比較する。月名として無効な名前は、有効な月名より前に置かれる。
 月名のつづりを決めているのは、@env{LC_TIME} カテゴリのロケールである
 (訳注: だから、英語の月名によってソートするには、ロケールを英語か
-C にしておく必要がある)。デフォルトの空白は、スペースまたはタブ
-だが、@env{LC_CTYPE} のロケールによっては違うかもしれない。
+C にしておく必要がある)。デフォルトの空白は、スペースまたはタブだが、
+@env{LC_CTYPE} のロケールによっては違うかもしれない。
 
 @item -n
 @itemx --numeric-sort
@@ -4625,14 +4422,13 @@ C にしておく必要がある)。デフォルトの空白は、スペース
 @opindex --sort
 @cindex numeric sort
 @vindex LC_NUMERIC
-数値としてソートする。数値は行頭から始まり (訳注: 比較する位置が
-指定されていれば、実は行頭でなくてもよい)、任意個の空白、必要なら
-@samp{-} 符号、それに、0 個以上の数字から構成される。数値は、区切り
-記号で 3 桁づつ区切られていてもよく、小数点記号と 0 個以上の数字
-が続いていてもよい。数字がない場合は、@samp{0} と見なされる。小数点記号
-や桁区切りの記号を規定しているのは、@env{LC_NUMERIC} のロケールである。
-デフォルトの空白は、スペースまたはタブだが、@env{LC_CTYPE} のロケール
-によっては違うかもしれない。
+数値としてソートする。数値は行頭から始まり
+(訳注: 比較する位置が指定されていれば、実は行頭でなくてもよい)、
+任意個の空白、必要なら @samp{-} 符号、それに、0 個以上の数字から構成される。
+数値は、区切り記号で 3 桁づつ区切られていてもよく、小数点記号と 0 個以上の数字が続いていてもよい。
+数字がない場合は、@samp{0} と見なされる。小数点記号や桁区切りの記号を規定しているのは、
+@env{LC_NUMERIC} のロケールである。デフォルトの空白は、スペースまたはタブだが、
+@env{LC_CTYPE} のロケールによっては違うかもしれない。
 
 比較は厳密であり、丸めによるエラーはない。
 
@@ -4645,18 +4441,18 @@ C にしておく必要がある)。デフォルトの空白は、スペース
 @opindex -V
 @opindex --version-sort
 @cindex version number sort
-バージョン名とバージョン番号によってソートする。標準用法のソートと
-動作が似ているが、10 進数の数字が連続する各部分をインデックス番号や
-バージョン番号と見なし、(文字列としてではなく) 数値として取り扱う
-点が違う。(@xref{Details about version sort}.)
+バージョン名とバージョン番号によってソートする。標準用法のソートと動作が似ているが、
+10 進数の数字が連続する各部分をインデックス番号やバージョン番号と見なし、
+(文字列としてではなく) 数値として取り扱う点が違う。
+(@xref{Details about version sort}.)
 
 @item -r
 @itemx --reverse
 @opindex -r
 @opindex --reverse
 @cindex reverse sorting
-比較の結果を逆順にする。その結果、出力ではより大きなキーの値を
-持つ行が、後ではなく、先に表示される。
+比較の結果を逆順にする。その結果、出力ではより大きなキーの値を持つ行が、
+後ではなく、先に表示される。
 
 @item -R
 @itemx --random-sort
@@ -4665,15 +4461,15 @@ C にしておく必要がある)。デフォルトの空白は、スペース
 @opindex --random-sort
 @opindex --sort
 @cindex random sort
-ソートを行うのに、入力中のキーをハッシュしてから、そのハッシュ値
\82\92ã\82½ã\83¼ã\83\88ã\81\99ã\82\8bã\81¨ã\81\84ã\81\86æ\96¹æ³\95ã\82\92ç\94¨ã\81\84ã\82\8bã\80\82ã\83\8fã\83\83ã\82·ã\83¥é\96¢æ\95°ã\81¯ã\83©ã\83³ã\83\80ã\83 ã\81«é\81¸æ\8a\9eã\81\99ã\82\8bã\80\82
+ソートを行うのに、入力中のキーをハッシュしてから、そのハッシュ値をソートするという方法を用いる。
+ハッシュ関数はランダムに選択する。
 その際、衝突 (collision) が絶対起きないように関数を選択するので、
-値の違うキーは必ず違うハッシュ値を持つようになる。これは、入力の
\83©ã\83³ã\83\80ã\83 ã\81ªä¸¦ã\81³æ\9b¿ã\81\88ã\81«ä¼¼ã\81¦ã\81\84ã\82\8bã\81\8c (@pxref{shuf invocation})ã\80\81å\90\8cã\81\98å\80¤ã\82\92
-持つキーは一緒に並べるという点が、異なっている。
+値の違うキーは必ず違うハッシュ値を持つようになる。
\81\93ã\82\8cã\81¯ã\80\81å\85¥å\8a\9bã\81®ã\83©ã\83³ã\83\80ã\83 ã\81ªä¸¦ã\81³æ\9b¿ã\81\88ã\81«ä¼¼ã\81¦ã\81\84ã\82\8bã\81\8c (@pxref{shuf invocation})ã\80\81
+同じ値を持つキーは一緒に並べるという点が、異なっている。
 
-ランダムソートを行うフィールドが複数指定されている場合は、ランダムに
-選択された一つの同じハッシュ関数が、すべてのフィールドで使用される。
+ランダムソートを行うフィールドが複数指定されている場合は、
+ランダムに選択された一つの同じハッシュ関数が、すべてのフィールドで使用される。
 フィールドごとに別のランダムなハッシュ関数を使うようにするには、
 @command{sort} を複数回呼び出せばよい。
 
@@ -4688,16 +4484,17 @@ C にしておく必要がある)。デフォルトの空白は、スペース
 @item --compress-program=@var{prog}
 テンポラリ・ファイルを @var{prog} というプログラムで圧縮する。
 
-@var{prog} プログラムは、引数が一つも存在しない場合に、標準入力を圧縮
-して標準出力に書き出し、@option{-d} オプションの指定があれば、標準入力を
-展開して標準出力に書き出すものでなければならない。
+@var{prog} プログラムは、
+引数が一つも存在しない場合に、標準入力を圧縮して標準出力に書き出し、
+@option{-d} オプションの指定があれば、
+標準入力を展開して標準出力に書き出すものでなければならない。
 
-@var{prog} が 0 以外のステータスで終了した場合は、エラーメッセージを
-出して、@command{sort} の実行を中止する。
+@var{prog} が 0 以外のステータスで終了した場合は、
+エラーメッセージを出して、@command{sort} の実行を中止する。
 
-@var{prog} の指定中でホワイトスペース (訳注: 空白、タブ、改行など) や
\83\90ã\83\83ã\82¯ã\82¹ã\83©ã\83\83ã\82·ã\83¥æ\96\87å­\97ã\82\92使ã\81£ã\81¦ã\81¯ã\81ªã\82\89ã\81ªã\81\84ã\80\82ã\81\9dã\81\86ã\81\97ã\81\9fæ\96\87å­\97ã\81¯ã\80\81å°\86æ\9d¥ã\81®
-使用のために、予約されている。
+@var{prog} の指定中でホワイトスペース (訳注: 空白、タブ、改行など)
\82\84ã\83\90ã\83\83ã\82¯ã\82¹ã\83©ã\83\83ã\82·ã\83¥æ\96\87å­\97ã\82\92使ã\81£ã\81¦ã\81¯ã\81ªã\82\89ã\81ªã\81\84ã\80\82
+そうした文字は、将来の使用のために、予約されている。
 
 @filesZeroFromOption{sort,,ソートした結果}
 
@@ -4706,32 +4503,39 @@ C にしておく必要がある)。デフォルトの空白は、スペース
 @opindex -k
 @opindex --key
 @cindex sort field
-行中の @var{pos1} から @var{pos2} までの部分 (両者を含む) を、ソートの対象
-となる場所として指定する。@var{pos2} が省略されている場合は、@var{pos1} から
-行末までがソートの対象になる。
-
-各 @var{pos} は、@samp{@var{f}[.@var{c}][@var{opts}]} という形式を取る。@var{f}
-は、比較に使用する
-フィールドは何番目かということであり、@var{c} は、そのフィールドの始め
-から数えて何番目の文字かということである。フィールドや文字の位置は、
-1 から数える。なお、@var{pos2} の文字の位置として 0 を指定すると、その
-フィールドの最後の文字を指すことになる。@samp{.@var{c}} が、@var{pos1} で省略されて
-いる場合は、デフォルトの 1 (フィールドの最初の文字) を指定したこと
-になり、@var{pos2} で省略されている場合は、デフォルトの 0 (フィールドの
-最後の文字) を指定したことになる。@var{opts} は順序関連のオプションで
-あり、これを指定することで、各キーを異なったルールでソートすること
-が可能になる。詳細については後述しているので、参照していただきたい。
+行中の @var{pos1} から @var{pos2} までの部分 (両者を含む)
+を、ソートの対象となる場所として指定する。@var{pos2} が省略されている場合は、
+@var{pos1} から行末までがソートの対象になる。
+
+最も単純な形の場合、@var{pos} で指定するのは、何番目のフィールドかということである (1 から数える)。
+フィールドは 1 個以上の空白文字によって区切られ、
+デフォルトでは、比較するとき、そうした空白文字は各フィールドの先頭に含まれることになる。
+空白文字の扱い方を調整する方法については、@option{-b} や @option{-t}
+オプションの説明をご覧いただきたい。
+
+より一般的に言うと、各 @var{pos} は、@samp{@var{f}[.@var{c}][@var{opts}]} という形式を取る。
+@var{f} は、比較に使用するフィールドは何番目かということであり、
+@var{c} は、そのフィールドの始めから数えて何番目の文字かということである。
+フィールドや文字の位置は、1 から数える。
+なお、@var{pos2} の文字の位置として 0 を指定すると、
+そのフィールドの最後の文字を指すことになる。@samp{.@var{c}} が、@var{pos1}
+で省略されている場合は、デフォルトの 1 (フィールドの最初の文字)
+を指定したことになり、@var{pos2} で省略されている場合は、デフォルトの 0
+(フィールドの最後の文字) を指定したことになる。
+@var{opts} は順序関連のオプションであり、
+これを指定することで、各キーを異なったルールでソートすることが可能になる。
+詳細については後述しているので、参照していただきたい。
 なお、キーは複数のフィールドにまたがることができる。
 
 たとえば、二番目のフィールドでソートするには、@option{--key=2,2} (@option{-k 2,2})
-を使用する。後述部分で、キーについてさらに説明し、用例も
-もっとたくさん挙げているので、ご覧になっていただきたい。また、
-@option{--debug} オプションの説明もご覧になるとよい。@option{--debug} オプション
-を使うと、行中のどの部分がソートに使用されているかが明らかになる。
+を使用する。後述部分で、キーについてさらに説明し、
+用例ももっとたくさん挙げているので、ご覧になっていただきたい。
+また、@option{--debug} オプションの説明もご覧になるとよい。@option{--debug}
\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92使ã\81\86ã\81¨ã\80\81è¡\8c中ã\81®ã\81©ã\81®é\83¨å\88\86ã\81\8cã\82½ã\83¼ã\83\88ã\81«ä½¿ç\94¨ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\81\8bã\81\8cæ\98\8eã\82\89ã\81\8bã\81«ã\81ªã\82\8bã\80\82
 
 @item --debug
-各行のソートに使われている部分を強調表示する。また、使用法に問題が
\81\82ã\82\8bときは、標準エラーに警告メッセージを出す。
+各行のソートに使われている部分を強調表示する。
\81¾ã\81\9fã\80\81使ç\94¨æ³\95ã\81«å\95\8fé¡\8cã\81\8cã\81\82ã\82\8aã\81\9dã\81\86ã\81ªときは、標準エラーに警告メッセージを出す。
 
 @item --batch-size=@var{nmerge}
 @opindex --batch-size
@@ -4739,26 +4543,25 @@ C にしておく必要がある)。デフォルトの空白は、スペース
 一度にマージする入力ファイルの数を多くても @var{nmerge} 個までとする。
 
 @var{nmerge} 個を越える入力ファイルをマージしなければならない場合、@command{sort}
-は @var{nmerge} 個のファイルからなるグループを作ってマージし、その結果を
\83\86ã\83³ã\83\9dã\83©ã\83ªã\83»ã\83\95ã\82¡ã\82¤ã\83«ã\81«ä¿\9då­\98ã\81\99ã\82\8bã\80\82ã\81\9dã\81\97ã\81¦ã\80\81ä»\8a度ã\81¯ã\81\9dã\82\8cã\82\92å\85¥å\8a\9bã\81¨ã\81\97ã\81¦ä½¿ç\94¨
-して、後に続くマージを行うのである。
+は @var{nmerge} 個のファイルからなるグループを作ってマージし、
\81\9dã\81®çµ\90æ\9e\9cã\82\92ã\83\86ã\83³ã\83\9dã\83©ã\83ªã\83»ã\83\95ã\82¡ã\82¤ã\83«ã\81«ä¿\9då­\98ã\81\99ã\82\8bã\80\82
\81\9dã\81\97ã\81¦ã\80\81ä»\8a度ã\81¯ã\81\9dã\82\8cã\82\92å\85¥å\8a\9bã\81¨ã\81\97ã\81¦ä½¿ç\94¨ã\81\97ã\81¦ã\80\81å¾\8cã\81«ç¶\9aã\81\8fã\83\9eã\83¼ã\82¸ã\82\92è¡\8cã\81\86ã\81®ã\81§ã\81\82ã\82\8bã\80\82
 
-@var{nmerge} の値が大きいと、実行速度が向上し、ハードディスクの一時的な
-使用が減るかもしれないが、その分、メモリの使用量と I/O が増加する。
-逆に、@var{nmerge} の値が小さいと、メモリに対する要求と I/O は減少する
-かもしれないが、その分、ハードディスクの一時的な使用が増え、実行速度
-が低下することになる。
+@var{nmerge} の値が大きいと、実行速度が向上し、ハードディスクの一時的な使用が減るかもしれないが、
+その分、メモリの使用量と I/O が増加する。
+逆に、@var{nmerge} の値が小さいと、メモリに対する要求と I/O は減少するかもしれないが、
+その分、ハードディスクの一時的な使用が増え、実行速度が低下することになる。
 
 @var{nmerge} の値は、2 以上でなければならない。デフォルトの値は 16 だが、
 これは実装次第なので、将来は変わるかもしれない。
 
-@var{nmerge} の値は、オープンできるファイル・ディスクリプタの上限によって
-制限されているかもしれない。@samp{ulimit -n} や @samp{getconf OPEN_MAX}
+@var{nmerge} の値は、オープンできるファイル・ディスクリプタの上限によって制限されているかもしれない。
+@samp{ulimit -n} や @samp{getconf OPEN_MAX}
 コマンドを使えば、使用しているシステムの上限を知ることができる。
-ただし、そうした上限がさらに小さくなっていることもあり、使用中の
-プログラムがすでにファイルをいくつかオープンしている場合や、オープン
\81§ã\81\8dã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\81®æ\95°ã\81«ã\81¤ã\81\84ã\81¦ã\82ªã\83\9aã\83¬ã\83¼ã\83\86ã\82£ã\83³ã\82°ã\83»ã\82·ã\82¹ã\83\86ã\83 ã\81«ä»\96ã\81®å\88¶é\99\90ã\81\8cã\81\82ã\82\8b
-場合が、それに当たる。@var{nmerge} がリソースの上限を越えているときは、
+ただし、そうした上限がさらに小さくなっていることもあり、
+使用中のプログラムがすでにファイルをいくつかオープンしている場合や、
\82ªã\83¼ã\83\97ã\83³ã\81§ã\81\8dã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\81®æ\95°ã\81«ã\81¤ã\81\84ã\81¦ã\82ªã\83\9aã\83¬ã\83¼ã\83\86ã\82£ã\83³ã\82°ã\83»ã\82·ã\82¹ã\83\86ã\83 ã\81«ä»\96ã\81®å\88¶é\99\90ã\81\8cã\81\82ã\82\8bå ´å\90\88ã\81\8cã\80\81
+それに当たる。@var{nmerge} がリソースの上限を越えているときは、
 @command{sort} は警告メッセージを出さずに、より小さい値を使用する。
 
 @item -o @var{output-file}
@@ -4766,19 +4569,22 @@ C にしておく必要がある)。デフォルトの空白は、スペース
 @opindex -o
 @opindex --output
 @cindex overwriting of input, allowed
-出力を標準出力ではなく、@var{output-file} に書き出す。通常、@command{sort} は、
-入力をすべて読み込んでから、@var{output-file} をオープンする。従って、
-@code{sort -o F F} や "@code{cat F | sort -o F} といったコマンドを使って、
-ファイルを直接書き変えるやり方で、ソートをしても問題がない。
-これに対して、@option{--merge} (@option{-m}) オプションを指定した場合は、
-@command{sort} は、入力をすべて読み込む前に、出力ファイルをオープンするかも
-しれない。そのため、@code{cat F | sort -m -o F - G} といったコマンドは
-安全ではない。@command{cat} が @file{F} の読み込みを済ます前に、
-@command{sort} が @file{F} への書き込みを始めてしまうかもしれないからだ。
+出力を標準出力ではなく、@var{output-file} に書き出す。通常、@command{sort}
+は、入力をすべて読み込んでから、@var{output-file} をオープンする。
+従って、@code{sort -o F F} や @code{cat F | sort -o F}
+といったコマンドを使って、ファイルを直接書き変えるやり方でソートをすることが可能だ。
+とは言え、他の用途に使用されていないファイルに出力する方が、おおむね安全である。
+ファイルを直接書き変えるやり方でソートしている最中に、システムがクラッシュしたり、
+@command{sort} が入出力エラーなど、深刻なエラーに遭遇したりすると、データが失われてしまいかねないからだ。
+また、@option{--merge} (@option{-m}) オプションを指定した場合は、@command{sort}
+は、入力をすべて読み込む前に、出力ファイルをオープンするかもしれないので、
+@code{cat F | sort -m -o F - G} といったコマンドは安全ではない。
+@command{cat} が @file{F} の読み込みを済ます前に、@command{sort}
+が @file{F} への書き込みを始めてしまうかもしれないからだ。
 
 @vindex POSIXLY_CORRECT
-比較的新しいシステムでも、環境変数 @env{POSIXLY_CORRECT} を設定して
\81\84ã\82\8bå ´å\90\88ã\81¯ã\80\81ã\81\9fã\81¨ã\81\88ã\81° @samp{sort F -o F} ã\81®ã\82\88ã\81\86ã\81«ã\80\81å\85¥å\8a\9bã\83\95ã\82¡ã\82¤ã\83«ã\81®å¾\8cã\81«
+比較的新しいシステムでも、環境変数 @env{POSIXLY_CORRECT} を設定している場合は、
+たとえば @samp{sort F -o F} のように、入力ファイルの後に
 @option{-o} オプションを置くことはできない。移植を考慮したスクリプトでは、
 @option{-o @var{output-file}} を入力ファイルの前で指定するべきである。
 
@@ -4786,8 +4592,8 @@ C にしておく必要がある)。デフォルトの空白は、スペース
 @opindex --random-source
 @cindex random source for sorting
 @var{file} をランダムデータのソースとして使用する。そのランダムデータは、
-@option{-R} オプションでどのランダムハッシュ関数を使うかを決めるのに使用
-される。 @xref{Random sources}.
+@option{-R} オプションでどのランダムハッシュ関数を使うかを決めるのに使用される。
+@xref{Random sources}.
 
 @item -s
 @itemx --stable
@@ -4797,14 +4603,14 @@ C にしておく必要がある)。デフォルトの空白は、スペース
 @cindex sort's last-resort comparison
 
 最後の手段の比較 (last-resort comparison) を行うのを止めて、@command{sort}
-を入力順尊重 (stable) にする。このオプションは、フィールド指定オプ
-ションや、@option{--reverse} (@option{-r}) 以外のグローバルな順序関係のオプション
-が指定されていなければ、効果を持たない。(訳注: いわゆる stable sort
-(普通、安定ソート、固定ソートと訳される) である。たとえば、@option{-b}
\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92使ã\81£ã\81¦ã\80\81å\85\88è¡\8cã\81\99ã\82\8b空ç\99½ã\82\92ç\84¡è¦\96ã\81\97ã\81¦æ¯\94è¼\83ã\81\97ã\81\9få ´å\90\88ã\81«ã\80\81ç­\89価ã\81¨ã\81ªã\82\8b
-行があったとしよう。通常では、それでも、最後の手段の比較によって、
-先行する空白の有無も考慮に入れた行全体の比較が行われ、等価な行に
-順序を付けることになるが、@option{--stable} オプションが指定されていると、
+を入力順尊重 (stable) にする。このオプションは、フィールド指定オプションや、
+@option{--reverse} (@option{-r}) 以外のグローバルな順序関係のオプションが指定されていなければ、効果を持たない。
+
+(訳注: いわゆる stable sort (普通、安定ソート、固定ソートと訳される) である。
\81\9fã\81¨ã\81\88ã\81°ã\80\81@option{-b} ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92使ã\81£ã\81¦ã\80\81å\85\88è¡\8cã\81\99ã\82\8b空ç\99½ã\82\92ç\84¡è¦\96ã\81\97ã\81¦æ¯\94è¼\83ã\81\97ã\81\9få ´å\90\88ã\81«ã\80\81ç­\89価ã\81¨ã\81ªã\82\8bè¡\8cã\81\8cã\81\82ã\81£ã\81\9fã\81¨ã\81\97ã\82\88ã\81\86ã\80\82
+通常では、それでも、最後の手段の比較によって、
+先行する空白の有無も考慮に入れた行全体の比較が行われ、
+等価な行に順序を付けることになるが、@option{--stable} オプションが指定されていると、
 それをしないので、等価な行は入力されたときの順序で出力される)。
 
 @item -S @var{size}
@@ -4816,39 +4622,39 @@ C にしておく必要がある)。デフォルトの空白は、スペース
 デフォルトでは、@var{size} は 1024 バイトを 1 単位とする数値である。@samp{%}
 を後ろに付けると、@var{size} は、物理メモリの何パーセントの意味になる。
 後置するのが @samp{K} ならば、@var{size} は 1024 倍され (デフォルトと同じ)、
-@samp{M} なら 1,048,576 倍、@samp{G} なら 1,073,741,824 倍される。@samp{T}, @samp{P},
-@samp{E}, @samp{Z}, @samp{Y} の後置も、同じ理屈である。@samp{b} を後置すると、@var{size} は
-バイト数と見なされ、掛け算は行われない。
+@samp{M} なら 1,048,576 倍、@samp{G} なら 1,073,741,824 倍される。
+@samp{T}, @samp{P}, @samp{E}, @samp{Z}, @samp{Y} の後置も、同じ理屈である。
+@samp{b} を後置すると、@var{size} はバイト数と見なされ、掛け算は行われない。
 
-このオプションを指定すると、@command{sort} は作業を始めるとき、デフォルト
\82\88ã\82\8aã\82\82大ã\81\8dã\81\8bã\81£ã\81\9fã\82\8aã\80\81å°\8fã\81\95ã\81\8bã\81£ã\81\9fã\82\8aã\81\99ã\82\8bã\82½ã\83¼ã\83\88ç\94¨ã\81®ã\83\90ã\83\83ã\83\95ã\82¡ã\82\92使ç\94¨ã\81\99ã\82\8b
\81\93ã\81¨ã\81«ã\81ªã\82\8aã\80\81ã\81\9dã\81®ã\81\9fã\82\81ã\81«å\8b\95ä½\9cé\80\9f度ã\81\8cå\90\91ä¸\8aã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81\82ã\82\8bã\80\82ã\81¨ã\81¯è¨\80ã\81\88ã\80\81ã\81\93ã\81®
\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯èµ·å\8b\95ç\9b´å¾\8cã\81®ã\83\90ã\83\83ã\83\95ã\82¡ã\82µã\82¤ã\82ºã\81«ã\81\97ã\81\8bå½±é\9f¿ã\82\92æ\8c\81ã\81\9fã\81ªã\81\84ã\80\82@command{sort} ã\81\8c
-@var{size} を越える入力行に出会うと、バッファのサイズは @var{size} 以上に拡大
-されるからである。
+このオプションを指定すると、@command{sort} は作業を始めるとき、
\83\87ã\83\95ã\82©ã\83«ã\83\88ã\82\88ã\82\8aã\82\82大ã\81\8dã\81\8bã\81£ã\81\9fã\82\8aã\80\81å°\8fã\81\95ã\81\8bã\81£ã\81\9fã\82\8aã\81\99ã\82\8bã\82½ã\83¼ã\83\88ç\94¨ã\81®ã\83\90ã\83\83ã\83\95ã\82¡ã\82\92使ç\94¨ã\81\99ã\82\8bã\81\93ã\81¨ã\81«ã\81ªã\82\8aã\80\81
\81\9dã\81®ã\81\9fã\82\81ã\81«å\8b\95ä½\9cé\80\9f度ã\81\8cå\90\91ä¸\8aã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81\82ã\82\8bã\80\82
\81¨ã\81¯è¨\80ã\81\88ã\80\81ã\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯èµ·å\8b\95ç\9b´å¾\8cã\81®ã\83\90ã\83\83ã\83\95ã\82¡ã\82µã\82¤ã\82ºã\81«ã\81\97ã\81\8bå½±é\9f¿ã\82\92æ\8c\81ã\81\9fã\81ªã\81\84ã\80\82
+@command{sort} が @var{size} を越える入力行に出会うと、バッファのサイズは
+@var{size} 以上に拡大されるからである。
 
 @item -t @var{separator}
 @itemx --field-separator=@var{separator}
 @opindex -t
 @opindex --field-separator
 @cindex field separator character
-各行でソートに使うキーを探すとき、文字 @var{separator} をフィールド・
\82»ã\83\91ã\83¬ã\83¼ã\82¿ã\81¨ã\81\97ã\81¦ä½¿ç\94¨ã\81\99ã\82\8bã\80\82ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81§ã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\82\92å\8cºå\88\86ã\81\99ã\82\8bã\81®ã\81¯ã\80\81
-非空白文字と空白文字の間の空文字列である。デフォルトの空白は、
\82¹ã\83\9aã\83¼ã\82¹ã\81¨ã\82¿ã\83\96ã\81 ã\81\8cã\80\81@env{LC_CTYPE} ã\81®ã\83­ã\82±ã\83¼ã\83«ã\81«ã\82\88ã\81£ã\81¦ã\81¯ã\80\81é\81\95ã\81\86ã\81\8bã\82\82
-しれない。
+各行でソートに使うキーを探すとき、文字 @var{separator}
\82\92ã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\83»ã\82»ã\83\91ã\83¬ã\83¼ã\82¿ã\81¨ã\81\97ã\81¦ä½¿ç\94¨ã\81\99ã\82\8bã\80\82
+デフォルトでフィールドを区分するのは、非空白文字と空白文字の間の空文字列である。
\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81®ç©ºç\99½ã\81¯ã\80\81ã\82¹ã\83\9aã\83¼ã\82¹ã\81¨ã\82¿ã\83\96ã\81 ã\81\8cã\80\81@env{LC_CTYPE} ã\81®ã\83­ã\82±ã\83¼ã\83«ã\81«ã\82\88ã\81£ã\81¦ã\81¯ã\80\81
+違うかもしれない。
 
 たとえば、入力行が @w{@samp{ foo bar}} だったとしよう。@command{sort} はこれを
-@w{@samp{ foo}} と @w{@samp{ bar}} のフィールドに分割する。フィールド・セパレータは
-前後どちらのフィールドにも属さないことになっている。そこで、
-@samp{sort @w{-t " "}} を使用した場合は、同じ入力行が、空っぽのフィールド、
+@w{@samp{ foo}} と @w{@samp{ bar}} のフィールドに分割する。
+フィールド・セパレータは前後どちらのフィールドにも属さないことになっている。
+そこで、@samp{sort @w{-t " "}} を使用した場合は、同じ入力行が、空っぽのフィールド、
 @samp{foo}、それに @samp{bar} という 3 個のフィールドを持つことになる。
 とは言え、キー・フィールドが、@option{-k 2} のように、行末まで続く場合や、
-@option{-k 2,3} のように、範囲からなる場合は、範囲の両端の間に存在する
-フィールド・セパレータは、キー・フィールド中にそのまま保持される。
+@option{-k 2,3} のように、範囲からなる場合は、
+範囲の両端の間に存在するフィールド・セパレータは、キー・フィールド中にそのまま保持される。
 
-ASCII NUL をフィールド・セパレータに指定するには、二文字からなる
-文字列 @samp{\0} を使用すればよい。@samp{sort -t '\0'} のようにだ。
+ASCII NUL をフィールド・セパレータに指定するには、二文字からなる文字列
+@samp{\0} を使用すればよい。@samp{sort -t '\0'} のようにだ。
 
 @item -T @var{tempdir}
 @itemx --temporary-directory=@var{tempdir}
@@ -4857,12 +4663,11 @@ ASCII NUL をフィールド・セパレータに指定するには、二文字
 @cindex temporary directory
 @vindex TMPDIR
 テンポラリファイルの置き場所にディレクトリ @var{tempdir} を使用する。
-この指定は、環境変数 @env{TMPDIR} に優先する。このオプションを二回
-以上指定すると、テンポラリファイルの置き場所として、指定された
-すべてのディレクトリが使用されることになる。大規模なソートや
-マージを行って、I/O が足枷になる場合、このオプションを使って、
-別のディスク上にあり、別のコントローラを使用している複数の
-ディレクトリを指定すると、実行速度が向上することがよくある。
+この指定は、環境変数 @env{TMPDIR} に優先する。このオプションを二回以上指定すると、
+テンポラリファイルの置き場所として、指定されたすべてのディレクトリが使用されることになる。
+大規模なソートやマージを行って、I/O が足枷になる場合、このオプションを使って、
+別のディスク上にあり、別のコントローラを使用している複数のディレクトリを指定すると、
+実行速度が向上することがよくある。
 
 @item --parallel=@var{n}
 @opindex --parallel
@@ -4870,8 +4675,8 @@ ASCII NUL をフィールド・セパレータに指定するには、二文字
 平行して実行するソートの数を  @var{n} に設定する。デフォルトでは、
 @var{n} は、利用できるプロセッサーの数になっている。ただし、上限は
 8 であり、これは、それ以上にしても、速度の向上が頭打ちになるからだ。
-@var{n} 個のスレッドを使用すると、メモリの使用量が log @var{n} 倍になること
-にも注意していただきたい。参照 @ref{nproc invocation}.
+@var{n} 個のスレッドを使用すると、メモリの使用量が log @var{n} 倍になることにも注意していただきたい。
+参照 @ref{nproc invocation}.
 
 @item -u
 @itemx --unique
@@ -4881,91 +4686,78 @@ ASCII NUL をフィールド・セパレータに指定するには、二文字
 
 通常は、等価と評価される複数の行の内、最初のもののみを出力する。
 @option{--check} (@option{-c} または @option{-C}) オプションが指定されている場合は、
-等価と評価される行が、2 行連続していないかをチェックする (訳注:
-等価な行の連続があると、終了ステータスが 1 になる)。
+等価と評価される行が、2 行連続していないかをチェックする
+(訳注: 等価な行の連続があると、終了ステータスが 1 になる)。
 
-また、このオプションを指定すると、デフォルトでは実行する、最後の
-手段の比較を行わなくなる。
+また、このオプションを指定すると、デフォルトでは実行する、最後の手段の比較を行わなくなる。
 
-コマンド @code{sort -u} と @code{sort | uniq} は等価である。しかし、その
-等価性は、@command{sort} に何か他のオプションが付いたときにまでは及ばない。
-たとえば、@code{sort -n -u} は、唯一性のチェックをするとき、行頭にある
-数字の並びの値しか調べないが、@code{sort -n | uniq} の方は、行全体を検査
-するのである。@xref{uniq invocation}.
+コマンド @code{sort -u} と @code{sort | uniq} は等価である。
+しかし、その等価性は、@command{sort} に何か他のオプションが付いたときにまでは及ばない。
+たとえば、@code{sort -n -u} は、唯一性のチェックをするとき、行頭にある数字の並びの値しか調べないが、
+@code{sort -n | uniq} の方は、行全体を検査するのである。@xref{uniq invocation}.
 
-@macro zeroTerminatedOption
-@item -z
-@itemx --zero-terminated
-@opindex -z
-@opindex --zero-terminated
-@cindex process zero-terminated items
-項目の区切りに、改行 (ASCII LF) ではなく、ゼロバイトを使用する。
-すなわち、入力を ASCII NUL で分離された項目として扱い、出力する
-各項目の末尾に ASCII NUL を付加する。このオプションは、@samp{perl -0},
-@samp{find -print0}, @samp{xargs -0} などと組み合わせて使用すると、便利な
-ことがある。そうしたコマンドも、わがままなファイル名を (空白など
-の特殊文字を含んでいる場合でも) きちんと確実に処理するために、
-同様なことをしているのである。
+@optZeroTerminated
+@macro newlineFieldSeparator
+@option{-z} オプションを使用した場合、改行文字はフィールド・セパレータ扱いになる。
 @end macro
-@zeroTerminatedOption
 
 @end table
 
-@command{sort} の従来の (すなわち BSD と System V の) 実装では、いくつかの
-オプションの解釈が互いに異なっていた。とりわけ、@option{-b}, @option{-f}, @option{-n} に
-ついてそうだった。GNU の sort は、POSIX 規格の動作に従っており、これは、
-たいていの場合 (常にではない!)、System V の動作と同じである。POSIX
-によると、@option{-n} はもはや @option{-b} を自動的に設定しない。そこで、動作の
-一貫性のために、@option{-M} も同様に変更した。この変更によって、フィールドを
-指定するとき、文字の位置がどこを指すかが、微妙なケースでは変わってくる
-かもしれない。これに対する唯一の対処法は、明示的に @option{-b} オプションを
-指定することである。
-
-@option{-k} によってソート・フィールドを指定するとき、その位置指定の後ろに
-オプション文字 @samp{MbdfghinRrV} のうち任意のものを付けることができる。その
-場合、そのフィールドは、グローバルな順序関係のオプションを一切引き継が
-ないことになる。@option{-b} オプションは、フィールド限定のオプションとしては、
-フィールド指定の開始位置と終端位置の片方、あるいは両方に付けることが
-できるが、グローバル・オプションから継承した場合は、両方に付いている
-ことになる。入力行が、行頭やフィールド間に複数の空白を含んでいる可能性
-があって、しかも @option{-t} を使っていない場合は、@option{-k} を使用するとき、@option{-b}
-と組み合わせるか、先行する空白を暗黙のうちに無視するオプション (すなわち
-@samp{Mghn}) と組み合わせるのが普通だ。そうしないと、フィールドにある先行する
-空白の数の違いのせいで、結果がわけのわからないものになりかねないからで
-ある。
-
-ソートフィールド指定の開始位置が、行末より後ろや、終端側のフィールド
-より後ろに来てしまうと、そのフィールドは空になる。@option{-b} オプションを
-指定した場合、フィールド指定の @samp{.@var{c}} の部分は、そのフィールドの最初の
-非空白文字から数えることになる。
+@command{sort} の従来の (すなわち BSD と System V の) 実装では、
+いくつかのオプションの解釈が互いに異なっていた。
+とりわけ、@option{-b}, @option{-f}, @option{-n} についてそうだった。
+GNU の sort は、POSIX 規格の動作に従っており、
+これは、たいていの場合 (常にではない!)、System V の動作と同じである。POSIX
+によると、@option{-n} はもはや @option{-b} を自動的に設定しない。
+そこで、動作の一貫性のために、@option{-M} も同様に変更した。
+この変更によって、フィールドを指定するとき、文字の位置がどこを指すかが、
+微妙なケースでは変わってくるかもしれない。
+これに対する唯一の対処法は、明示的に @option{-b} オプションを指定することである。
+
+@option{-k} によってソート・フィールドを指定するとき、
+その位置指定の後ろにオプション文字 @samp{MbdfghinRrV} のうち任意のものを付けることができる。
+その場合、そのフィールドは、グローバルな順序関係のオプションを一切引き継がないことになる。
+@option{-b} オプションは、フィールド限定のオプションとしては、
+フィールド指定の開始位置と終端位置の片方、あるいは両方に付けることができるが、
+グローバル・オプションから継承した場合は、両方に付いていることになる。
+入力行が、行頭やフィールド間に複数の空白を含んでいる可能性があって、
+しかも @option{-t} を使っていない場合は、@option{-k} を使用するとき、@option{-b}
+と組み合わせるか、先行する空白を暗黙のうちに無視するオプション (すなわち @samp{Mghn})
+と組み合わせるのが普通だ。そうしないと、フィールドにある先行する空白の数の違いのせいで、
+結果がわけのわからないものになりかねないからである。
+
+ソートフィールド指定の開始位置が、行末より後ろや、終端側のフィールドより後ろに来てしまうと、
+そのフィールドは空になる。@option{-b} オプションを指定した場合、
+フィールド指定の @samp{.@var{c}} の部分は、そのフィールドの最初の非空白文字から数えることになる。
 
 @vindex _POSIX2_VERSION
 @vindex POSIXLY_CORRECT
-古いシステムの @command{sort} では、ソート・キーの指定に、@samp{+@var{pos1} [-@var{pos2}]}
-という 0 から数える旧式の書式が使用できる。@samp{sort +@var{a}.@var{x} -@var{b}.@var{y}} という
-旧式の表現は、もし @var{y} が @samp{0} であるか、指定されていない場合は、
-@samp{sort -k @var{a+1}.@var{x+1},@var{b}} と同じである。それ以外の場合は、
-@samp{sort -k @var{a+1}.@var{x+1},@var{b+1}.@var{y}}
-と同じだ。
-@sp 1
-(訳注: 旧式の書式と新しい書式の違いは、フィールドやフィールド中の
-文字の位置を 0 から数えるか、1 から数えるかだけではない。終端指定の
-位置が旧式の書式ではキー・フィールドに含まれないのに対し (つまり、
-その直前までなのに対し)、新しい書式では含まれるという違いもある。
-そこで、上のようになる。)
-
-この旧式の動作は、環境変数 @env{_POSIX2_VERSION} を使って
-(@pxref{Standards conformance}) 有効にしたり、無効にしたりすることができる。
-また、@env{POSIXLY_CORRECT} が設定されていないときに、@samp{-@var{pos2}} が存在する旧式
-の書式を使っても、有効になる。
-
-標準的なホストで使用することを意図したスクリプトでは、旧式の書式は
-使わずに、@option{-k} の方を使用するべきである。たとえば、@samp{sort +2} は使わない
-方がよい。@samp{sort ./+2} と解釈されるか、@samp{sort -k 3} と解釈されるか、わから
-ないからである。そのスクリプトが、旧式の書式にしか対応していないホスト
-でも動作しなければならないのなら、スクリプト中で
-@w{@samp{if sort -k 1 </dev/null >/dev/null 2>&1; then @dots{}}} といったテストを
-行って、どちらの書式を使うべきかを判断すればよい。
+POSIX 1003.1-2001 に準拠していないシステムの @command{sort}
+では、ソート・キーの指定に、@samp{+@var{pos1} [-@var{pos2}]}
+という 0 から数える旧来の書式が使用できる。
+@samp{sort +@var{a}.@var{x} -@var{b}.@var{y}} という旧来のコマンドは、
+もし @var{y} が @samp{0} であるか、指定されていない場合は、
+@samp{sort -k @var{a+1}.@var{x+1},@var{b}} と同じである。
+それ以外の場合は、@samp{sort -k @var{a+1}.@var{x+1},@var{b+1}.@var{y}} と同じだ。
+
+(訳注: 旧来の書式と新しい書式の違いは、フィールドやフィールド中の文字の位置を
+0 から数えるか、1 から数えるかだけではない。
+終端指定の位置が、旧来の書式ではキー・フィールドに含まれないのに対し
+(つまり、その直前までなのに対し)、新しい書式では含まれるという違いもある。
+そこで、上のようになる。なお、旧来の書式であれ、新しい書式であれ、
+デフォルトのフィールド・セパレータは、
+「非空白文字と空白文字の間の空文字列」であることに注意していただきたい。)
+
+この旧来の動作は、環境変数 @env{_POSIX2_VERSION} を使えば、コントロールすることができる
+(@pxref{Standards conformance})。また、@env{POSIXLY_CORRECT}
+が設定されていないときに、@samp{-@var{pos2}} が存在する旧来の書式を使っても、有効になる。
+
+標準的なホストで使用することを意図したスクリプトでは、旧来の書式は使わずに、
+@option{-k} の方を使用するべきである。たとえば、@samp{sort +2} は使わない方がよい。
+@samp{sort ./+2} と解釈されるか、@samp{sort -k 3} と解釈されるか、わからないからである。
+そのスクリプトが、旧来の書式にしか対応していないホストでも動作しなければならないのなら、
+スクリプト中で @samp{if sort -k 1 </dev/null >/dev/null 2>&1; then @dots{}}
+といったテストを行って、どちらの書式を使うべきかを判断すればよい。
 
 用例をいくつか挙げて、オプションの様々な組み合わせを説明する。
 
@@ -4986,10 +4778,10 @@ sort --parallel=4 -S 10M
 @end example
 
 @item
-1 番目と 2 番目のフィールドを無視し、さらに 3 番目のフィールドの
-先頭の空白も無視して、アルファベット順に並べる。ここで使っている
\82­ã\83¼ã\81¯ä¸\80ã\81¤ã\81§ã\81\82ã\82\8aã\80\81ã\81\9dã\82\8cã\81¯ 3 ç\95ªç\9b®ã\81®ã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\81®æ\9c\80å\88\9dã\81®é\9d\9e空ç\99½æ\96\87å­\97ã\81«
§\8bã\81¾ã\81£ã\81¦ã\80\81å\90\84è¡\8cã\81®æ\9c«å°¾ã\81¾ã\81§ç¶\9aã\81\8fã\81\99ã\81¹ã\81¦ã\81®æ\96\87å­\97ã\81\8bã\82\89ã\81ªã\81£ã\81¦ã\81\84ã\82\8bã\80\82
+1 番目と 2 番目のフィールドを無視し、さらに 3 番目のフィールドの先頭の空白も無視して、
+アルファベット順に並べる。ここで使っているキーは一つであり、
\81\9dã\82\8cã\81¯ 3 ç\95ªç\9b®ã\81®ã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\81®æ\9c\80å\88\9dã\81®é\9d\9e空ç\99½æ\96\87å­\97ã\81«å§\8bã\81¾ã\81£ã\81¦ã\80\81
+各行の末尾まで続くすべての文字からなっている。
 
 @example
 sort -k 3b
@@ -4997,32 +4789,32 @@ sort -k 3b
 
 @item
 2 番目のフィールドを数値としてソートし、同点の決着を付けるために、
-5 番目のフィールドの 3 番目と 4 番目の文字をアルファベット順で
\82½ã\83¼ã\83\88ã\81\99ã\82\8bã\80\82ã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\81®å\8cºå\88\87ã\82\8aã\81«ã\81¯ @samp{:} ã\82\92使ç\94¨ã\81\99ã\82\8bã\80\82
+5 番目のフィールドの 3 番目と 4 番目の文字をアルファベット順でソートする。
+フィールドの区切りには @samp{:} を使用する。
 
 @example
 sort -t : -k 2,2n -k 5.3,5.4
 @end example
 
 ここで注意していただきたいが、もし @option{-k 2,2n} の代わりに @option{-k 2n}
-と書いたなら、@command{sort} は、2 番目のフィールドに始まり、行末まで
-続くすべての文字を、主キー (primary key) として、それも「数値」の
-キーとして使用したことだろう。@command{sort} を実行するたいていの場合に
-ついて言えることだが、複数のフィールドにまたがるキーを数値として
-使用しても、期待する結果は得られないものである。
-
-もう一つ注意していただきたい。上の例では、@samp{n} 修飾子を最初のキーの
\83\95ã\82£ã\83¼ã\83«ã\83\89çµ\82端æ\8c\87å®\9aã\81«ä»\98ã\81\91ã\81¦ã\81\84ã\82\8bã\80\82ã\81\93ã\82\8cã\81¯ã\80\81@option{-k 2n,2} ã\81¨ã\81\8b @option{-k 2n,2n}
+と書いたなら、@command{sort} は、2 番目のフィールドに始まり、行末まで続くすべての文字を、
+主キー (primary key) として、それも「数値」のキーとして使用したことだろう。
+@command{sort} を実行するたいていの場合について言えることだが、
+複数のフィールドにまたがるキーを数値として使用しても、期待する結果は得られないものである。
+
+もう一つ注意していただきたい。
+上の例では、@samp{n} 修飾子を最初のキーのフィールド終端指定に付けている。
+これは、@option{-k 2n,2} とか @option{-k 2n,2n}
 とか指定しても、同じことだったろう。@samp{b} を除くすべての修飾子は、
 キー指定のフィールド開始側に付けるか、フィールド終端側に付けるか、
-あるいは、その両方に付けるかにかかわりなく、付けられた「キー・
-フィールド全体」に適用されるのである。
+あるいは、その両方に付けるかにかかわりなく、
+付けられた「キー・フィールド全体」に適用されるのである。
 
 @item
 パスワードファイルを 5 番目のフィールドでソートする。このとき、
-先頭の空白は無視する。5 番目のフィールドが同じ値になる行について
-は、3 番目のフィールドのユーザ ID 番号でソートする。フィールドの
-区切りは、@samp{:} という文字である。
+先頭の空白は無視する。5 番目のフィールドが同じ値になる行については、
+3 番目のフィールドのユーザ ID 番号でソートする。
+フィールドの区切りは、@samp{:} という文字である。
 
 @example
 sort -t : -k 5b,5 -k 3,3n /etc/passwd
@@ -5030,32 +4822,32 @@ sort -t : -n -k 5b,5 -k 3,3 /etc/passwd
 sort -t : -b -k 5,5 -k 3,3n /etc/passwd
 @end example
 
-この三つのコマンドは同じ働きをする。1 番目のコマンドは、最初の
-キーの開始位置では先行する空白を無視し、二番目のキーを数値として
-ソートするように指定している。他の二つのコマンドは、グローバル・
\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯ä¿®é£¾å­\90ã\81\8cã\81ªã\81\84ã\82½ã\83¼ã\83\88ã\83»ã\82­ã\83¼ã\81«ã\82\88ã\81£ã\81¦ç¶\99æ\89¿ã\81\95ã\82\8cã\82\8bã\81¨ã\81\84ã\81\86
-特性を利用している。この場合、継承がうまく働くのは、@option{-k 5b,5b} と
+この三つのコマンドは同じ働きをする。
+1 番目のコマンドは、最初のキーの開始位置では先行する空白を無視し、
+二番目のキーを数値としてソートするように指定している。他の二つのコマンドは、
\82°ã\83­ã\83¼ã\83\90ã\83«ã\83»ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯ä¿®é£¾å­\90ã\81\8cã\81ªã\81\84ã\82½ã\83¼ã\83\88ã\83»ã\82­ã\83¼ã\81«ã\82\88ã\81£ã\81¦ç¶\99æ\89¿ã\81\95ã\82\8cã\82\8bã\81¨ã\81\84ã\81\86ç\89¹æ\80§ã\82\92å\88©ç\94¨ã\81\97ã\81¦ã\81\84ã\82\8bã\80\82
+この場合、継承がうまく働くのは、@option{-k 5b,5b} と
 @option{-k 5b,5} が同じことだからだ (訳注: 「@option{-b} オプションは @dots{}
 グローバル・オプションから継承した場合は、(開始位置と終端位置の)
 両方に付いていることになる」ので、3 番目のコマンドは、@option{-k 5b,5b}
-と指定するのと事実上等しい)。両者が同じになるのは、@samp{.@var{c}} という
-文字位置を欠いたフィールド終端の指定では、先頭の空白をスキップしても
-しなくても、終端位置は変わらないからである。
+と指定するのと事実上等しい)。両者が同じになるのは、@samp{.@var{c}}
+という文字位置を欠いたフィールド終端の指定では、
+先頭の空白をスキップしてもしなくても、終端位置は変わらないからである。
 
 @item
-一群のログファイルをソートする。主キーとして IPv4 アドレスを
-使用し、副キーとしてタイムスタンプを使用する。二つの行の
-主キーと副キーが全く同じ場合は、入力されたときと同じ順番で、
-その行を出力する。ログファイルは、次のような行からなっている。
+一群のログファイルをソートする。主キーとして IPv4 アドレスを使用し、
+副キーとしてタイムスタンプを使用する。二つの行の主キーと副キーが全く同じ場合は、
+入力されたときと同じ順番で、その行を出力する。ログファイルは、次のような行からなっている。
 
 @example
 4.150.156.3 - - [01/Apr/2004:06:31:51 +0000] message 1
 211.24.3.231 - - [24/Apr/2004:20:17:39 +0000] message 2
 @end example
 
-フィールドは、ただ 1 個の空白で区切られている。IPv4 アドレスの
-ソートは辞書順で行う。たとえば、212.61.52.2 は 212.129.233.201 の
-前に来る。61 は 129 よりも小さいからだ。
+フィールドは、ただ 1 個の空白で区切られている。
+IPv4 アドレスのソートは辞書順 (lexicographically) で行う。
+たとえば、212.61.52.2 は 212.129.233.201 の前に来る。
+61 は 129 よりも小さいからだ。
 
 @example
 sort -s -t ' ' -k 4.9n -k 4.5M -k 4.2n -k 4.14,4.21 file*.log |
@@ -5063,21 +4855,19 @@ sort -s -t '.' -k 1,1n -k 2,2n -k 3,3n -k 4,4n
 @end example
 
 この例の場合は、@command{sort} を一回起動するだけでは、ことがすまない。
-日付が空白 1 個のすぐ後に置かれているだけなのに対して、IPv4 の
-構成要素は @samp{.} で区切られているからである。そこで、作業を分割し、
+日付が空白 1 個のすぐ後に置かれているだけなのに対して、
+IPv4 の構成要素は @samp{.} で区切られているからである。そこで、作業を分割し、
 @command{sort} を 2 回起動している。1 回目はタイムスタンプでソートし、
-2 回目は IPv4 アドレスでソートするわけだ。タイムスタンプは、年、月、
-日のフィールドの順番でソートし、最後に、時・分・秒のフィールドで
-ソートしているが、それは @option{-k} オプションを使って、各フィールドを
-分離することで実現している。時・分・秒を除いて、各キー・フィールド
-の終端を指定する必要はない。@samp{n} や @samp{M} 修飾子は、フィールドの先頭
-にある数値や月名の短縮形に基づいてソートを行うが、そうしたものは、
-フィールドの境界を越えられないからである。IPv4 アドレスのソートは、
+2 回目は IPv4 アドレスでソートするわけだ。タイムスタンプは、
+年、月、日のフィールドの順番でソートし、最後に、時・分・秒のフィールドでソートしているが、
+それは @option{-k} オプションを使って、各フィールドを分離することで実現している。
+時・分・秒を除いて、各キー・フィールドの終端を指定する必要はない。
+@samp{n} や @samp{M} 修飾子は、フィールドの先頭にある数値や月名の短縮形に基づいてソートを行うが、
+そうしたものは、フィールドの境界を越えられないからである。IPv4 アドレスのソートは、
 辞書順で行っている。なお、二回目のソートで @samp{-s} を使っているのは、
-主キーで一ヶ所にまとめられる行が、副キーによってソートされている
-ようにするためである。それに対して、一回目のソートで  @samp{-s} を使って
-いるのは、二つのソートの組み合わせ全体を入力順尊重 (stable) にする
-ためだ。
+主キーで一ヶ所にまとめられる行が、副キーによってソートされているようにするためである。
+それに対して、一回目のソートで  @samp{-s} を使っているのは、
+二つのソートの組み合わせ全体を入力順尊重 (stable) にするためだ。
 
 @item
 アルファベットの大文字小文字の違いを無視してソートし、その順番で
@@ -5088,8 +4878,8 @@ find src -type f -print0 | sort -z -f | xargs -0 etags --append
 @end smallexample
 
 この例では、@option{-print0}, @option{-z}, @option{-0} といったオプションを使っている。
-そのため、空白などの特殊文字を含んでいるファイル名が、ソート操作に
-よって分断されることがない。
+そのため、空白などの特殊文字を含んでいるファイル名が、
\82½ã\83¼ã\83\88æ\93\8dä½\9cã\81«ã\82\88ã\81£ã\81¦å\88\86æ\96­ã\81\95ã\82\8cã\82\8bã\81\93ã\81¨ã\81\8cã\81ªã\81\84ã\80\82
 
 @c This example is a bit contrived and needs more explanation.
 @c @item
@@ -5106,22 +4896,20 @@ find src -type f -print0 | sort -z -f | xargs -0 etags --append
 
 @item
 慣用句 DSU (Decorate Sort Undecorate) の手法 (訳注: 指標を付けて、
-ソートして、指標を取る) を採用して、短いものから長いものへと、
-行を並べる。
+ソートして、指標を取る) を採用して、短いものから長いものへと、行を並べる。
 
 @example
 awk '@{print length, $0@}' /etc/passwd | sort -n | cut -f2- -d' '
 @end example
 
 一般に、あるデータが @command{sort} コマンドでは直接ソートできないとか、
-効率が悪いというとき、そうしたデータをソートするのに、この手法が
-役に立つ。
+効率が悪いというとき、そうしたデータをソートするのに、この手法が役に立つ。
 
 @item
-ディレクトリをランダムな順番でで並べる。ただし、各ディレクトリ内の
\83\95ã\82¡ã\82¤ã\83«ã\81«ã\81¤ã\81\84ã\81¦ã\81¯ã\80\81ã\81\9dã\81®é \86ç\95ªã\82\92維æ\8c\81ã\81\99ã\82\8bã\80\82ä¸\80ä¾\8bã\82\92æ\8c\99ã\81\92ã\82\8bã\81¨ã\80\81ã\81\93ã\81®æ\96¹æ³\95ã\81§
-演奏リストを作成すれば、アルバムはシャッフルするけれど、各アルバム
-内の曲は通常のソート順で演奏するといったことが可能になる。
+ディレクトリをランダムな順番でで並べる。ただし、各ディレクトリ内のファイルについては、
\81\9dã\81®é \86ç\95ªã\82\92維æ\8c\81ã\81\99ã\82\8bã\80\82ä¸\80ä¾\8bã\82\92æ\8c\99ã\81\92ã\82\8bã\81¨ã\80\81ã\81\93ã\81®æ\96¹æ³\95ã\81§æ¼\94å¥\8fã\83ªã\82¹ã\83\88ã\82\92ä½\9cæ\88\90ã\81\99ã\82\8cã\81°ã\80\81
+アルバムはシャッフルするけれど、
\90\84ã\82¢ã\83«ã\83\90ã\83 å\86\85ã\81®æ\9b²ã\81¯é\80\9a常ã\81®ã\82½ã\83¼ã\83\88é \86ã\81§æ¼\94å¥\8fã\81\99ã\82\8bã\81¨ã\81\84ã\81£ã\81\9fã\81\93ã\81¨ã\81\8cå\8f¯è\83½ã\81«ã\81ªã\82\8bã\80\82
 
 @example
 ls */* | sort -t / -k 1,1R -k 2,2
@@ -5138,7 +4926,7 @@ ls */* | sort -t / -k 1,1R -k 2,2
 
 @command{shuf} は、入力された行をランダムに並べ替えてから出力することによって、
 入力のシャッフルを行う。どの並び替えが出力されるかは、確率的に等しい。
-@sp 1
+
 書式:
 
 @example
@@ -5147,9 +4935,8 @@ shuf -e [@var{option}]@dots{} [@var{arg}]@dots{}
 shuf -i @var{lo}-@var{hi} [@var{option}]@dots{}
 @end example
 
-@command{shuf} には三つの動作モードがあり、それぞれ、入力行をどこから取得
-するかが違っている。デフォルトでは、標準入力から行を読み込む。以下の
-オプションは、動作モードを変更する。
+@command{shuf} には三つの動作モードがあり、それぞれ、入力行をどこから取得するかが違っている。
+デフォルトでは、標準入力から行を読み込む。以下のオプションは、動作モードを変更する。
 
 @table @samp
 
@@ -5165,23 +4952,21 @@ shuf -i @var{lo}-@var{hi} [@var{option}]@dots{}
 @opindex -i
 @opindex --input-range
 @cindex input range to shuffle
-@var{lo} から @var{hi} の範囲の符号なしの 10 進整数を 1 行に 1 個含むファイル
-から入力があったかのように動作する。
+@var{lo} から @var{hi} の範囲の符号なしの 10 進整数を
+1 行に 1 個含むファイルから入力があったかのように動作する。
 
 @end table
 
-@command{shuf} の他のオプションは、どの動作モードでも、その動作に影響を
-与える。
+@command{shuf} の他のオプションは、どの動作モードでも、その動作に影響を与える。
 
 @table @samp
 
-@item -n @var{lines}
+@item -n @var{count}
 @itemx --head-count=@var{count}
 @opindex -n
 @opindex --head-count
 @cindex head of output
-最大でも @var{count} 行までしか出力しない。デフォルトでは、入力された
-すべての行を出力する。
+最大でも @var{count} 行までしか出力しない。デフォルトでは、入力されたすべての行を出力する。
 
 @item -o @var{output-file}
 @itemx --output=@var{output-file}
@@ -5196,23 +4981,22 @@ shuf -i @var{lo}-@var{hi} [@var{option}]@dots{}
 @item --random-source=@var{file}
 @opindex --random-source
 @cindex random source for shuffling
-ランダムデータのソースとして  @var{file} を使用する。そのランダムデータは
-どんな並べ替えになるかを決めるのに使用される。@xref{Random sources}.
+ランダムデータのソースとして  @var{file} を使用する。
+そのランダムデータはどんな並べ替えになるかを決めるのに使用される。
+@xref{Random sources}.
 
 @item -r
 @itemx --repeat
 @opindex -r
 @opindex --repeat
 @cindex repeat output values
-値の反復出力を行う。別の言い方をすると、置き換えるものについて
-そのつど選択を行う。このオプションを使用した場合、出力は入力を
-並び替えたものになるのではない。そうではなく、各出力行がすべての
-入力からランダムに選ばれるのである。このオプションは、たいてい
-@option{--head-count} と組み合わせて使用する。@option{--head-count} を指定
-しないと、@command{shuf} はいつまでも出力を続けることになる。
-(coreutils-8.22 の新機能)
+値の反復出力を行う。別の言い方をすると、置き換えるものについてそのつど選択を行う。
+このオプションを使用した場合、出力は入力を並び替えたものになるのではない。
+そうではなく、各出力行がすべての入力からランダムに選ばれるのである。
+このオプションは、たいてい @option{--head-count} と組み合わせて使用する。
+@option{--head-count} を指定しないと、@command{shuf} はいつまでも出力を続けることになる。
 
-@zeroTerminatedOption
+@optZeroTerminated
 
 @end table
 
@@ -5265,14 +5049,15 @@ hearts
 @end example
 
 @noindent
-上記のどの例でも、入力行は 4 行である。従って、入力は 24 とおりに並べ
-替えることが可能であり、@command{shuf} が生成するのは、そのどれか一つである。
-一般的に言うと、入力行が @var{n} 行なら、@var{n}! とおりに (@var{n} の階乗、すなわち、
-@w{@var{n} * (@var{n} - 1) * @dots{} * 1} とおりに) 並べ替えて、出力することができる。
+上記のどの例でも、入力行は 4 行である。
+従って、入力は 24 とおりに並べ替えることが可能であり、@command{shuf}
+が生成するのは、そのどれか一つである。
+一般的に言うと、入力行が @var{n} 行なら、@var{n}! とおりに
+(@var{n} の階乗、すなわち、@w{@var{n} * (@var{n} - 1) * @dots{} * 1} とおりに)
+並べ替えて、出力することができる。
 
 @noindent
-それぞれが 0 から 9 までの範囲にある数値を 50 回ランダムに出力する
-には、次のようにする。
+それぞれが 0 から 9 までの範囲にある数値を 50 回ランダムに出力するには、次のようにする。
 
 @example
 shuf -r -n 50 -i 0-9
@@ -5295,27 +5080,26 @@ shuf -r -n 100 -e Head Tail
 @cindex uniquify files
 
 @command{uniq} は、指定された @var{input} ファイルにある行を、重複を省いて書き出す。
-ファイルが指定されていない場合や、@var{input} として @samp{-} が指定されている
-場合は、標準入力を対象とする。
-@sp 1
+ファイルが指定されていない場合や、@var{input} として
+@samp{-} が指定されている場合は、標準入力を対象とする。
+
 書式:
 
 @example
 uniq [@var{option}]@dots{} [@var{input} [@var{output}]]
 @end example
 
-デフォルトでは、@command{uniq} は入力された行を表示するとき、隣接する同一行
-があれば、出力に重複する行が現れないように、最初の行だけを残して、残りの
-行を捨ててしまう。また、オプションによっては、重複しない行を捨てることや、
+デフォルトでは、@command{uniq} は入力された行を表示するとき、
+隣接する同一行があれば、出力に重複する行が現れないように、最初の行だけを残して、
+残りの行を捨ててしまう。また、オプションによっては、重複しない行を捨てることや、
 すべての隣接する同一行を捨てることもできる。
 
 入力はソートされている必要はないが、重複する入力行が検出されるのは、
-それが隣接しているときだけである。もし、隣接していない重複行も捨てたい
-のなら、@code{sort -u} を使うとよいだろう。 @xref{sort invocation}.
+それが隣接しているときだけである。もし、隣接していない重複行も捨てたいのなら、
+@code{sort -u} を使うとよいだろう。 @xref{sort invocation}.
 
 @vindex LC_COLLATE
-比較には @env{LC_COLLATE} ロケール・カテゴリが指定しているルールを使用
-する。
+比較には @env{LC_COLLATE} ロケール・カテゴリが指定しているルールを使用する。
 
 @var{output} ファイルが指定されていない場合、@command{uniq} は標準出力に書き出す。
 
@@ -5328,31 +5112,29 @@ uniq [@var{option}]@dots{} [@var{input} [@var{output}]]
 @opindex -f
 @opindex --skip-fields
 重複の検査を行う前に、各行のフィールドを @var{n} 個スキップする。その行に
-@var{n} 個より少ないフィールドしかない場合は、比較に null 文字列を使用
-する。フィールドとは、少なくとも 1 個以上のスペースやタブで間を区切
-られた、スペースやタブを含まない文字の連続である。
+@var{n} 個より少ないフィールドしかない場合は、比較に空の文字列を使用する。
+フィールドとは、少なくとも 1 個以上のスペースやタブで間を区切られた、スペースやタブを含まない文字の連続である。
 
-互換性のために、@command{uniq} は @option{-@var{n}} という古いオプションの書式をサポート
-している。新しいスクリプトでは、@option{-f @var{n}} の方を使うべきである。
+互換性のために、@command{uniq} は @option{-@var{n}} という旧来のオプション書式をサポートしている。
+新しいスクリプトでは、@option{-f @var{n}} の方を使うべきである。
 
 @item -s @var{n}
 @itemx --skip-chars=@var{n}
 @opindex -s
 @opindex --skip-chars
-重複の検査を行う前に、@var{n} 文字スキップする。その行に @var{n} 個より少ない
-文字しかない場合は、比較に null 文字列を使用する。フィールドを
\82¹ã\82­ã\83\83ã\83\97ã\81\99ã\82\8bã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¨ã\80\81æ\96\87å­\97ã\82\92ã\82¹ã\82­ã\83\83ã\83\97ã\81\99ã\82\8bã\82ªã\83\97ã\82·ã\83§ã\83³ã\81®ä¸¡æ\96¹ã\82\92
-使っている場合は、フィールドのスキップが先に行われる。
+重複の検査を行う前に、@var{n} 文字スキップする。
+その行に @var{n} 個より少ない文字しかない場合は、比較に空の文字列を使用する。
\83\95ã\82£ã\83¼ã\83«ã\83\89ã\82\92ã\82¹ã\82­ã\83\83ã\83\97ã\81\99ã\82\8bã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¨ã\80\81æ\96\87å­\97ã\82\92ã\82¹ã\82­ã\83\83ã\83\97ã\81\99ã\82\8bã\82ªã\83\97ã\82·ã\83§ã\83³ã\81®ä¸¡æ\96¹ã\82\92使ã\81£ã\81¦ã\81\84ã\82\8bå ´å\90\88ã\81¯ã\80\81
+フィールドのスキップが先に行われる。
 
 @vindex _POSIX2_VERSION
-古めのシステムでは、@command{uniq} が @option{+@var{n}} という古いオプションの書式を
-サポートしている。環境変数 @env{_POSIX2_VERSION} を使えば、この旧式の
-動作を有効したり、無効にしたりできる (@pxref{Standards conformance})。
-とは言え、移植を考慮したスクリプトでは、
-この環境変数に動作が依存するコマンドの使用は、避けた方がよい。
-たとえば、@samp{uniq +10} ではなく、@samp{uniq ./+10} や @samp{uniq -s 10} を使う
-べきである。前者では、@samp{+10} が、オプションかファイル名か、まぎらわ
-しいからだ。
+POSIX 1003.1-2001 に準拠していないシステムでは、@command{uniq} が
+@option{+@var{n}} という旧来のオプションの書式をサポートしている。
+この旧来の書式は、環境変数 @env{_POSIX2_VERSION} を使えば、コントロールできるが (@pxref{Standards
+conformance})、
+移植を考慮したスクリプトでは、この環境変数に動作が依存するコマンドの使用は、避けた方がよい。
+たとえば、@samp{uniq +10} ではなく、@samp{uniq ./+10} や @samp{uniq -s 10}
+を使うべきである。前者では、@samp{+10} が、オプションかファイル名か、まぎらわしいからだ。
 
 @item -c
 @itemx --count
@@ -5372,21 +5154,19 @@ uniq [@var{option}]@dots{} [@var{input} [@var{output}]]
 @opindex --repeated
 @cindex repeated lines, outputting
 重複していない行を除去する。このオプションを単独で使った場合、@command{uniq}
-は、連続する同一行のうち、最初の 1 行だけを表示し、それ以外の何も
-表示しない。
+は、連続する同一行のうち、最初の 1 行だけを表示し、それ以外の何も表示しない。
 
 @item -D
 @itemx --all-repeated[=@var{delimit-method}]
 @opindex -D
 @opindex --all-repeated
 @cindex all repeated lines, outputting
-入力行のうち、連続する同一行の二行目以降を除去せず、重複していない
-行だけを除去する。このオプションが役に立つのは、主として、大文字
-小文字を無視するとか、選択したフィールドのみを比較するとかいった、
-他のオプションと組み合わせて使うときである。@var{delimit-method} は
-省略可能であり、指定した場合は、重複行のグループ間の区切り方を
-指示することになる。@var{delimit-method} は、以下の一つでなければ
-ならない。
+入力行のうち、連続する同一行の二行目以降を除去せず、重複していない行だけを除去する。
+このオプションが役に立つのは、主として、大文字小文字を無視するとか、
+選択したフィールドのみを比較するとかいった、他のオプションと組み合わせて使うときである。
+長い書式のオプションで使用できる @var{delimit-method} は、
+省略可能であり、指定した場合は、重複行のグループ間の区切り方を指示することになる。
+@var{delimit-method} は、以下の一つでなければならない。
 
 @table @samp
 
@@ -5397,26 +5177,22 @@ uniq [@var{option}]@dots{} [@var{input} [@var{output}]]
 @item prepend
 重複行の各グループの前に改行を出力する。
 @macro nulOutputNote
-@option{--zero-terminated}
-(@option{-z}) を指定している場合は、区切りの印として
-改行の代わりに、
-ゼロバイト (ASCII NUL) を使用する。
+@option{--zero-terminated} (@option{-z}) を指定している場合は、
+区切りの印として改行の代わりに、ゼロバイト (ASCII NUL) を使用する。
 @end macro
 @nulOutputNote
 
 @item separate
 重複行のグループ間を 1 個の改行で分離する。これは、@samp{prepend}
-を使うのとほぼ同じだが、最初のグループの前に区切りの印を挿入
-しないのが異なっている。それ故、ユーザが出力を直接見る場合に、
-より適しているかもしれない。@nulOutputNote
+を使うのとほぼ同じだが、最初のグループの前に区切りの印を挿入しないのが異なっている。
+それ故、ユーザが出力を直接見る場合に、より適しているかもしれない。@nulOutputNote
 @end table
 
 @macro ambiguousGroupNote
 注意していただきたいが、グループ同士を改行で分離しているとき、
-入力ストリームに連続する 2 行以上の空行があると、出力がまぎらわ
-しいものになる。これを避けるには、入力を @samp{tr -s '\\n'} でフィルタ
-リングして、連続する改行をそれぞれの場所で 1 個の改行に置き換え
-ればよい。
+入力ストリームに複数の空行があると、出力がまぎらわしいものになる。
+これを避けるには、入力を @samp{tr -s '\\n'} でフィルタリングして、
+複数の空行をなくせばよい。
 @end macro
 @ambiguousGroupNote
 
@@ -5428,16 +5204,15 @@ uniq [@var{option}]@dots{} [@var{input} [@var{output}]]
 @cindex all lines, grouping
 すべての行を出力し、他と区別される各グループの間に区切りを入れる。
 @nulOutputNote @var{delimit-method}
-は省略可能であり、指定した場合は、グループ間の区切り方を指示する
-ことになる。@var{delimit-method} は、以下の一つでなければならない。
-(coreutils-8.22 の新機能)
+は省略可能であり、指定した場合は、グループ間の区切り方を指示することになる。
+@var{delimit-method} は、以下の一つでなければならない。
 
 @table @samp
 
 @item separate
-他と区別されるグループを 1 個の区切りの印で分離する。これが、
-何も指定されていないときの、デフォルトの区切り方であり、出力を
-ユーザに直接見せる場合に適している。
+他と区別されるグループを 1 個の区切りの印で分離する。
+これが、何も指定されていないときの、デフォルトの区切り方であり、
+出力をユーザに直接見せる場合に適している。
 
 @item prepend
 他と区別される各グループの前に区切りの印を出力する。
@@ -5458,19 +5233,19 @@ uniq [@var{option}]@dots{} [@var{input} [@var{output}]]
 @opindex -u
 @opindex --unique
 @cindex unique lines, outputting
-連続する同一行は、1 行目も除去する。このオプションを単独で使うと、
-@command{uniq} はユニークな (訳注: この場合、同一行が直後に続かないという
-意味) 行だけを表示し、それ以外の何も表示しない。
+重複する入力行のグループを表示するときは (訳注: すなわち、@option{--all-repeated}
+(@option{-D}) オプションを使用しているときは)、グループの最後の行を表示しない。
+このオプションを単独で使用する場合は、ユニークな
+(訳注: この場合は、同一行が連続していないという意味) 行だけを表示し、それ以外の何も表示しない。
 
 @item -w @var{n}
 @itemx --check-chars=@var{n}
 @opindex -w
 @opindex --check-chars
-各行で (フィールドや文字をスキップする指定があれば、スキップした
-後で) 文字を何個まで比較するかを指定する。デフォルトでは、行の残り
-全部が比較の対象になる。
+各行で (フィールドや文字をスキップする指定があれば、スキップした後で)
+文字を何個まで比較するかを指定する。デフォルトでは、行の残り全部が比較の対象になる。
 
-@zeroTerminatedOption
+@optZeroTerminated @newlineFieldSeparator
 
 @end table
 
@@ -5484,9 +5259,9 @@ uniq [@var{option}]@dots{} [@var{input} [@var{output}]]
 @cindex line-by-line comparison
 @cindex comparing sorted files
 
-@command{comm} は、二つの入力ファイルの共通する行と独自な行を、標準出力に区別
-して書き出す。@samp{-} というファイル名は、標準入力を意味している。
-@sp 1
+@command{comm} は、二つの入力ファイルの共通する行と独自な行を、標準出力に区別して書き出す。
+@samp{-} というファイル名は、標準入力を意味している。
+
 書式:
 
 @example
@@ -5494,11 +5269,10 @@ comm [@var{option}]@dots{} @var{file1} @var{file2}
 @end example
 
 @vindex LC_COLLATE
-入力ファイルは、@command{comm} に渡す前に、@env{LC_COLLATE} のロケールによって
-規定された照合順序でソートされていなければならない。入力ファイルが
-改行以外の文字で終わっている場合は、自動的に改行が追加される。
-@command{sort} コマンドをオプションなしで実行すると、@command{comm} の入力にふさわしい
-ファイルが必ず得られる。
+入力ファイルは、@command{comm} に渡す前に、@env{LC_COLLATE}
+のロケールによって規定された照合順序でソートされていなければならない。
+入力ファイルが改行以外の文字で終わっている場合は、自動的に改行が追加される。
+@command{sort} コマンドをオプションなしで実行すると、@command{comm} の入力にふさわしいファイルが必ず得られる。
 
 @cindex differing lines
 @cindex common lines
@@ -5506,45 +5280,38 @@ comm [@var{option}]@dots{} @var{file1} @var{file2}
 @c string, append "by default" to the above sentence.
 オプションを付けずに実行すると、@command{comm} は 3 列の出力を生成する。
 1 列目は @var{file1} にのみある行であり、2 列目は @var{file2} にのみある行、そして
-3 列目は両方のファイルに共通する行である。各列は、1 個のタブ文字で
-区切られる。
+3 列目は両方のファイルに共通する行である。各列は、1 個のタブ文字で区切られる。
 
 @opindex -1
 @opindex -2
 @opindex -3
-@option{-1}, @option{-2}, @option{-3} というオプションは、対応する列 (と区切り記号) を
-表示ã\81\97ã\81ªã\81\84ã\82\88ã\81\86ã\81«ã\81\99ã\82\8bã\80\82ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81«ã\81¤ã\81\84ã\81¦ã\81¯ã\80\81ã\80\8cå\85±é\80\9aã\82ªã\83\97ã\82·ã\83§ã\83³ã\80\8dã\81®ç« ã\82\82
-参照すること。@ref{Common options}.
+@option{-1}, @option{-2}, @option{-3} というオプションは、対応する列
+\81¨å\8cºå\88\87ã\82\8aè¨\98å\8f·) ã\82\92表示ã\81\97ã\81ªã\81\84ã\82\88ã\81\86ã\81«ã\81\99ã\82\8bã\80\82
+オプションについては、「共通オプション」の章も参照すること。 @ref{Common options}.
 
 比較のための他のユーティリティとは違って、@command{comm} の終了ステータスは、
-比較結果の如何によらない。@command{comm} は、正常終了すると 0 の終了コードを
-返す。エラーがあれば、0 以外のステータスで終了する。
+比較結果の如何によらない。@command{comm} は、正常終了すると 0 の終了コードを返す。
+エラーがあれば、0 以外のステータスで終了する。
 
 @macro checkOrderOption{cmd}
-@option{--check-order} を指定した場合、入力がソートされていないと、エラー
-メッセージを出して、実行を中断する。@option{--nocheck-order} オプションを指定
-した場合は、入力がソートされていなくても、エラーメッセージを出すことは
-ない。どちらのオプションも指定されていない場合に、入力がソートされて
-いないとの診断を下すのは、
+@option{--check-order} を指定した場合、入力がソートされていないと、
+エラーメッセージを出して、実行を中断する。@option{--nocheck-order}
+オプションを指定した場合は、入力がソートされていなくても、エラーメッセージを出すことはない。
+どちらのオプションも指定されていない場合に、入力がソートされていないとの診断を下すのは、
 @ifset JOIN_COMMAND
-片方の入力ファイルにもう一方と対にならない
-行が見つかったときだけであり、それも入力ファイルのどちらも空ではなく、
-中身を持っているときだけである。
+片方の入力ファイルにもう一方と対にならない行が見つかったときだけであり、
+それも入力ファイルのどちらも空ではなく、中身を持っているときだけである。
 @end ifset
 @ifclear JOIN_COMMAND
-片方の入力ファイルにもう一方と対にならない
-行が見つかったときだけである。
+片方の入力ファイルにもう一方と対にならない行が見つかったときだけである。
 @end ifclear
-入力ファイルがソートされていないと診断
-すると、@command{\cmd\}
-は 0 以外のステータスで終了する (従って、そうした出力は
-使用するべき
-ではない)。
-
-入力ファイルがきちんとソートされていず、しかも、対にならない行を
-含む場合に、@option{--nocheck-order} を指定して、そうしたファイルを @command{\cmd\} で
-無理矢理処理しても、何か特定の結果をもたらすことは保証できない。おそらく
-出力は、期待に添わないものになるだろう。
+入力ファイルがソートされていないと診断すると、@command{\cmd\}
+は 0 以外のステータスで終了する (従って、そうした出力は使用するべきではない)。
+
+入力ファイルがきちんとソートされていず、しかも、対にならない行を含む場合に、
+@option{--nocheck-order} を指定して、そうしたファイルを @command{\cmd\}
+で無理矢理処理しても、何か特定の結果をもたらすことは保証できない。
+おそらく出力は、期待に添わないものになるだろう。
 @end macro
 @checkOrderOption{comm}
 
@@ -5566,6 +5333,38 @@ comm [@var{option}]@dots{} @var{file1} @var{file2}
 
 区切り記号の @var{str} は、空であってはならない。
 
+@item --total
+最後の行に要約を出力する。
+
+通常の出力と同じように、1 列目は @var{file1} にのみある行の合計数、
+2 列目は @var{file2} にのみある行の合計数、3 列目は両方のファイルに共通する行の合計数である。
+さらに 4 列目に @samp{total} という文字が追加される。
+
+次の例では、@command{comm} は通常の出力を省略して (@option{-123})、
+要約のみを表示している。
+
+@example
+$ printf '%s\n' a b c d e     > file1
+$ printf '%s\n'   b c d e f g > file2
+$ comm --total -123 file1 file2
+1       2       4       total
+@end example
+
+このオプションは GNU の拡張である (coreutils 8.26 から)。
+移植を考慮したスクリプトで合計数を出したければ、@command{wc}
+を使用するべきである。たとえば、上記の例なら、次のようにする。
+
+@example
+$ comm -23 file1 file2 | wc -l    # file1 にのみある行の行数
+1
+$ comm -13 file1 file2 | wc -l    # file2 にのみある行の行数
+2
+$ comm -12 file1 file2 | wc -l    # 両方のファイルに共通する行の行数
+4
+@end example
+
+@optZeroTerminated
+
 @end table
 
 @node ptx invocation
@@ -5573,16 +5372,16 @@ comm [@var{option}]@dots{} @var{file1} @var{file2}
 
 @pindex ptx
 
-@command{ptx} の基本的な働きは、テキストファイルを読み込んで、パミューテド・
-インデックスを作成することである。パミューテド・インデックスというのは、
+@command{ptx} の基本的な働きは、テキストファイルを読み込んで、
\83\91ã\83\9fã\83¥ã\83¼ã\83\86ã\83\89ã\83»ã\82¤ã\83³ã\83\87ã\83\83ã\82¯ã\82¹ã\82\92ä½\9cæ\88\90ã\81\99ã\82\8bã\81\93ã\81¨ã\81§ã\81\82ã\82\8bã\80\82ã\83\91ã\83\9fã\83¥ã\83¼ã\83\86ã\83\89ã\83»ã\82¤ã\83³ã\83\87ã\83\83ã\82¯ã\82¹ã\81¨ã\81\84ã\81\86ã\81®ã\81¯ã\80\81
 各キーワードに前後の文脈を付けて索引項目にするインデックスのことだ。
-@sp 1
+
 (訳注: パミューテド・インデックスは、KWIC (Key Word In Context)
-インデックスとも言われる。簡単に言えば、本文にあるとおり、キーワードに
-前後の文脈を付けて項目として立てる索引のことである。たとえば、"The cow
-jumped over the moon." という文があるとしよう。今、キーワードを
-角カッコ ([]) で示すとすると、@command{ptx} による一番素朴なパミューテド・
\82¤ã\83³ã\83\87ã\83\83ã\82¯ã\82¹ã\81®ä½\9cæ\88\90ã\81§ã\81¯ã\80\81ã\81\93ã\81®æ\96\87ã\81\8bã\82\89ã\80\81
+インデックスとも言われる。簡単に言えば、本文にあるとおり、
+キーワードに前後の文脈を付けて項目として立てる索引のことである。たとえば、"The cow
+jumped over the moon." という文があるとしよう。今、キーワードを角カッコ ([])
+で示すとすると、@command{ptx} による一番素朴なパミューテド・インデックスの作成では、
+この文から、
 
 @example
 [The] cow jumped over the moon.
@@ -5594,16 +5393,32 @@ The cow jumped over the [moon].
 @end example
 
 @noindent
-という、キーワードの位置だけが違う 6 個の索引項目が作られ、キーワード
-によってソートされて、出力されるのである。「パミューテド (permuted)」
-というのは、文中でキーワードが順番に移動するのを、円順列 (cyclic
-permutation) に見立てているかららしい。「順列索引」と訳されることも
-ある。パミューテド・インデックスの代表的な例としては、英語などの聖書の
-巻末に付属している文脈付きの語句索引、「コンコーダンス」を挙げることが
-できる。実際、この文書でもコンコーダンスをパミューテド・インデックスの
-同義語として使用している。なお、この @command{ptx} プログラムは、日本語に
-対応していない。)
-@sp 1
+という、キーワードの位置だけが違う 6 個の索引項目が作られ、
+キーワードによってソートされて、出力される。
+「パミューテド (permuted)」というのは、文中でキーワードが順番に移動するのを、
+円順列 (cyclic permutation) に見立てているかららしい。
+「順列索引」と訳されることもある。
+
+上記の文に対して何のオプションも付けずに @command{ptx}
+を実行したときの実際の出力は、次のようになる。出力された行の中央の
+(すなわち、少し長めの空白の後ろの) 単語がキーワードである。
+大文字小文字を区別してアルファベット順に並んでいるのが、おわかりになるだろう。
+
+@example
+$ echo "The cow jumped over the moon." | ptx
+                                 The cow jumped over the moon.
+                           The   cow jumped over the moon.
+                       The cow   jumped over the moon.
+       The cow jumped over the   moon.
+                The cow jumped   over the moon.
+           The cow jumped over   the moon.
+@end example
+
+パミューテド・インデックスの代表的な例としては、
+英語などの聖書の巻末に付属している文脈付きの語句索引、「コンコーダンス」を挙げることができる。
+実際、この文書でもコンコーダンスをパミューテド・インデックスの同義語として使用している。
+なお、この @command{ptx} プログラムは、日本語に対応していない。)
+
 @command{ptx} 実行の書式は次のうちのどちらかである。
 
 @example
@@ -5613,42 +5428,39 @@ ptx -G [@var{option} @dots{}] [@var{input} [@var{output}]]
 
 @option{-G} (または、それと等価な @option{--traditional}) オプションを指定すると、
 GNU によるすべての拡張が無効になり、従来のモードで動作するようになる。
-従って、いくつかの制限が課されるようになり、プログラムのオプションの
-デフォルトの値がいくつか変更される。@option{-G} が指定されていない場合は、GNU
-による拡張が常に有効になる。@command{ptx} に対する GNU の拡張については、
-この文書では折に触れて説明している。拡張の詳細なリストについては、
-「GNU による @command{ptx} の拡張」の節を御覧になっていただきたい。
+従って、いくつかの制限が課されるようになり、プログラムのオプションのデフォルトの値がいくつか変更される。
+@option{-G} が指定されていない場合は、GNU による拡張が常に有効になる。
+@command{ptx} に対する GNU の拡張については、この文書では折に触れて説明している。
+拡張の詳細なリストについては、「GNU による @command{ptx} の拡張」の節を御覧になっていただきたい。
 @xref{Compatibility in ptx}.
 
 個々のオプションについては、以下に続く節で説明する。
 
 GNU による拡張が有効になっていれば、オプションの後ろに 0 個以上の
-@var{file} を指定することができる。@var{file} を一つも指定しない場合は、標準入力が
-読み込まれる。@var{file} を 1 個以上指定した場合、それは入力ファイルの名前で
-あり、入力ファイルはすべて順番に、あたかもすべてのファイルが結合されて
-いるかのように読み込まれる。とは言え、各ファイル同士は文脈的に完全に
-分離しており、参照箇所情報の自動作成を指定している場合に、参照箇所の
-ファイル名や行番号が指し示すのは、個々の入力テキストファイルのそれで
-ある。どの場合でも、@command{ptx} は、パミューテド・インデックスを標準出力に
-出力する。
-
-GNU による拡張が有効になっていない場合、すなわち、プログラムが従来
-モードで動作する場合は、オプションのほかに 0 から 2 個のパラメータを
-指定できる。パラメータがない場合、プログラムは標準入力を読み込んで、
-標準出力にパミューテド・インデックスを出力する。パラメータが 1 個だけ
-の場合、それが示しているのは、標準入力の代わりに読み込まれるテキスト
-ファイル (訳注: 上記書式の @var{input}) の名前である。パラメータが二つある
-場合、それぞれが示しているのは、読み込み対象の @var{input} ファイルと出力先
-の @var{output} ファイルの名前だ。この場合、二番目のパラメータによって指定
-されたファイルの元の内容が破壊されることに、くれぐれも気をつけていた
-だきたい。この動作は、System V の @command{ptx} との互換性を維持するために
-必要になっているものだが、通常 GNU の規格では、オプションによって
-指定されるのではない出力パラメータを、使用しないように勧めている。
-
-オプションの値や入力テキストファイルとして指定するいかなるファイルに
-対しても、ファイル名の代わりに 1 個のダッシュ @kbd{-} を使用することが
-できる。その場合は、標準入力が使われることになる。もっとも、この習慣を
-プログラム 1 回の起動につき 1 回以上使うのは、たぶん理屈に合わない。
+@var{file} を指定することができる。@var{file} を一つも指定しない場合は、標準入力が読み込まれる。
+@var{file} を 1 個以上指定した場合、それは入力ファイルの名前であり、
+入力ファイルはすべて順番に、あたかもすべてのファイルが結合されているかのように読み込まれる。
+とは言え、各ファイル同士は文脈的に完全に分離しており、
+参照箇所情報の自動作成を指定している場合に、参照箇所のファイル名や行番号が指し示すのは、
+個々の入力テキストファイルのそれである。
+どの場合でも、@command{ptx} は、パミューテド・インデックスを標準出力に出力する。
+
+GNU による拡張が有効になっていない場合、すなわち、プログラムが従来モードで動作する場合は、
+オプションのほかに 0 から 2 個のパラメータを指定できる。パラメータがない場合、
+プログラムは標準入力を読み込んで、標準出力にパミューテド・インデックスを出力する。
+パラメータが 1 個だけの場合、それが示しているのは、標準入力の代わりに読み込まれるテキストファイル
+(訳注: 上記書式の @var{input}) の名前である。
+パラメータが二つある場合、それぞれが示しているのは、読み込み対象の @var{input}
+ファイルと出力先の @var{output} ファイルの名前だ。
+この場合、二番目のパラメータによって指定されたファイルの元の内容が破壊されることに、
+くれぐれも気をつけていただきたい。この動作は、System V の @command{ptx}
+との互換性を維持するために必要になっているものだが、
+通常 GNU の規格では、オプションによって指定されるのではない出力パラメータを、使用しないように勧めている。
+
+オプションの値や入力テキストファイルとして指定するいかなるファイルに対しても、
+ファイル名の代わりに 1 個のダッシュ @samp{-} を使用することができる。
+その場合は、標準入力が使われることになる。もっとも、この習慣をプログラム
+1 回の起動につき 1 回以上使うのは、たぶん理屈に合わない。
 
 @menu
 * General options in ptx::   プログラム全体の動作に関係するオプション。
@@ -5666,16 +5478,14 @@ GNU による拡張が有効になっていない場合、すなわち、プロ
 
 @item -G
 @itemx --traditional
-すでに述べたように、このオプションは @command{ptx} に対する GNU による
-拡張のすべてを無効にして、動作を従来モードに切り替える。
+すでに述べたように、このオプションは @command{ptx} に対する
+GNU による拡張のすべてを無効にして、動作を従来モードに切り替える。
 
 @item --help
-簡単なヘルプメッセージを標準出力に表示し、それ以上の処理をせずに
-終了する。
+簡単なヘルプメッセージを標準出力に表示し、それ以上の処理をせずに終了する。
 
 @item --version
-プログラムのバージョンを標準出力に表示し、それ以上の処理をせずに
-終了する。
+プログラムのバージョンを標準出力に表示し、それ以上の処理をせずに終了する。
 
 @end table
 
@@ -5686,23 +5496,24 @@ GNU による拡張が有効になっていない場合、すなわち、プロ
 @subsection @command{ptx} が使用する文字セット
 
 @c FIXME:  People don't necessarily know what an IBM-PC was these days.
-現在の設定では、@command{ptx} プログラムは、入力ファイルが符号化に 8-bit の
-ISO 8859-1 コード (Latin-1 文字セットとも言われる) を使用しているものと
-見なすようになっている。ただし、MS-DOS 用にコンパイルされている場合は
-別で、その場合は、IBM-PC の文字セットが使用される (GNU の @command{ptx} が
-MS-DOS マシンで使えるかどうか、今ではわからないけれど)。7-bit ASCII
-と比べると、ISO 8859-1 の文字セットは、アルファベットの部分が異なって
-いる。そのため、正規表現におけるマッチングの振る舞いが変わってくる。
-キーワードに対するデフォルトの正規表現が (訳注: つまり、GNU の拡張が
-有効なときの @samp{\w+} が)、英語で使用しない文字や、ウムラウトやアクセント
-のような発音区別符の付いた文字を受け入れることになるわけである。
-とは言え、キーワードのソート方法は今だに大雑把であり、使用している
-文字セットの順序にきわめて盲目的に従っている。
+現在の設定では、@command{ptx} プログラムは、入力ファイルが符号化に
+8-bit の ISO 8859-1 コード (Latin-1 文字セットとも言われる)
+を使用しているものと見なすようになっている。
+ただし、MS-DOS 用にコンパイルされている場合は別で、
+その場合は、IBM-PC の文字セットが使用される (GNU の @command{ptx} が
+MS-DOS マシンで使えるかどうか、今ではわからないけれど)。
+7-bit ASCII と比べると、ISO 8859-1 の文字セットは、アルファベットの部分が異なっている。
+そのため、正規表現におけるマッチングの振る舞いが変わってくる。
+キーワードに対するデフォルトの正規表現が (訳注: つまり、GNU の拡張が有効なときの
+@samp{\w+} が)、英語で使用しない文字や、ウムラウトやアクセントのような発音区別符の付いた文字を受け入れることになるわけである。
+とは言え、キーワードのソート方法は今だに大雑把であり、使用している文字セットの順序にきわめて盲目的に従っている。
 
 @table @samp
 
 @item -f
 @itemx --ignore-case
+@opindex -f
+@opindex --ignore-case
 ソートするとき、小文字を大文字と同じものとして扱う。
 
 @end table
@@ -5715,145 +5526,150 @@ MS-DOS マシンで使えるかどうか、今ではわからないけれど)。
 
 @item -b @var{file}
 @itemx --break-file=@var{file}
-
-このオプションを使えば、単語を構成するのはどんな文字かを、@option{-W} とは
-別のやり方で定義することができる。このオプションでファイルを指名し、
-そこに、単語の構成要素になることができない文字のリストを入れておく
-のである。このファイルは、@dfn{Break file} と呼ばれる。Break file に
-含まれていないいかなる文字も、単語の構成要素になるわけだ。@option{-b}
-と @option{-W} の両方のオプションが指定されている場合は、@option{-W} の方が優先
-され、@option{-b} は無視される。
-
-GNU の拡張が有効になっているとき、改行を単語区切り文字 (break
-character) にしない唯一の方法は、単語区切り文字をすべて Break file
-に書き込み、そこに改行を全く含めないことである。Break file 末尾の
-改行も除かなければならない。GNU の拡張が無効な場合、スペース、
-タブ、改行は、それが Break file に含まれていなくても、常に単語
-区切り文字と見なされる。
+@opindex -b
+@opindex --break-file
+
+このオプションを使えば、単語を構成するのはどんな文字かを、@option{-W}
+とは別のやり方で定義することができる。このオプションでファイルを指名し、
+そこに、単語の構成要素になることができない文字のリストを入れておくのである。
+このファイルは、@dfn{Break file} と呼ばれる。Break file
+に含まれていないいかなる文字も、単語の構成要素になるわけだ。@option{-b}
+と @option{-W} の両方のオプションが指定されている場合は、@option{-W}
+の方が優先され、@option{-b} は無視される。
+
+GNU の拡張が有効になっているとき、改行を単語区切り文字 (break character)
+にしない唯一の方法は、単語区切り文字をすべて Break file に書き込み、
+そこに改行を全く含めないことである。Break file 末尾の改行も除かなければならない。
+GNU の拡張が無効な場合、スペース、タブ、改行は、それが Break file
+に含まれていなくても、常に単語区切り文字と見なされる。
 
 @item -i @var{file}
 @itemx --ignore-file=@var{file}
+@opindex -i
+@opindex --ignore-file
 
-このオプションで指名するファイルには、出力するコンコーダンスで
-キーワードとして採用しない単語のリストを入れておく。このファイルは、
-@dfn{Ignore file} と呼ばれる。このファイルは、1 行 1 単語の形式であり、
-単語の分離は常に行末によって行われて、@option{-S} オプションの値の影響を
-受けることはない。
+このオプションで指名するファイルには、
+出力するコンコーダンスでキーワードとして採用しない単語のリストを入れておく。
+このファイルは、@dfn{Ignore file} と呼ばれる。
+このファイルは、1 行 1 単語の形式であり、単語の分離は常に行末によって行われて、
+@option{-S} オプションの値の影響を受けることはない。
 
 @item -o @var{file}
 @itemx --only-file=@var{file}
+@opindex -o
+@opindex --only-file
 
-このオプションで指名するファイルには、出力するコンコーダンスで
-キーワードとして採用する単語のリストを入れておく。このファイルに
-書かれていないどんな単語も、キーワードとして採用されることはない。
-このファイルは、@dfn{Only file} と呼ばれる。このファイルは、1 行 1 単語
\81®å½¢å¼\8fã\81§ã\81\82ã\82\8aã\80\81å\8d\98èª\9eã\81®å\88\86é\9b¢ã\81¯å¸¸ã\81«è¡\8cæ\9c«ã\81«ã\82\88ã\81£ã\81¦è¡\8cã\82\8fã\82\8cã\81¦ã\80\81@option{-S} ã\82ªã\83\97ã\82·ã\83§ã\83³
-の値の影響を受けることはない。
+このオプションで指名するファイルには、
+出力するコンコーダンスでキーワードとして採用する単語のリストを入れておく。
+このファイルに書かれていないどんな単語も、キーワードとして採用されることはない。
+このファイルは、@dfn{Only file} と呼ばれる。
\81\93ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81¯ã\80\811 è¡\8c 1 å\8d\98èª\9eã\81®å½¢å¼\8fã\81§ã\81\82ã\82\8aã\80\81å\8d\98èª\9eã\81®å\88\86é\9b¢ã\81¯å¸¸ã\81«è¡\8cæ\9c«ã\81«ã\82\88ã\81£ã\81¦è¡\8cã\82\8fã\82\8cã\81¦ã\80\81
+@option{-S} オプションの値の影響を受けることはない。
 
 Only file として使われるデフォルトのファイルは存在しない。Only file
-と Ignore file の両方が指定されている場合に、ある単語がキーワードと
-見なされるのは、その単語が Only file に存在し、しかも Ignore file
-に存在しないときだけである。
+と Ignore file の両方が指定されている場合に、ある単語がキーワードと見なされるのは、
+その単語が Only file に存在し、しかも Ignore file に存在しないときだけである。
 
 @item -r
 @itemx --references
-
-各入力行において、行頭にあるホワイトスペース以外の文字の連続を
-参照箇所情報 (訳注: たとえば、ファイル名、ページ番号、行番号など)
-として扱うようにする。この参照箇所情報は、その入力行がどこに
-あるかを、作成されるパミューテド・インデックス中で示すために
-用いられる。参照箇所情報の生成についての詳細は、次節「出力の
-フォーマット」を御覧いただきたい。@xref{Output formatting in ptx}.
-このオプションを使用すると、@option{-S} オプションのデフォルトの値が
-変更されることになる (訳注: すなわち、GNU の拡張が有効な場合も、
-@option{-S} オプションのデフォルト値が文末ではなく、行末になる)。
-
-このオプションを使用したとき、@command{ptx} プログラムは、参照箇所情報が
-出力される文脈に混入しないようにするが、その試みはそれほど徹底した
\82\82ã\81®ã\81§ã\81¯ã\81ªã\81\84ã\80\82ã\81\97ã\81\8bã\81\97ã\80\81æ\96\87è\84\88ã\81\8cæ\94¹è¡\8cã\81§ã\81\8dã\81¡ã\82\93ã\81¨çµ\82æ­¢ã\81\97ã\81¦ã\81\84ã\82\8cã\81°ã\80\81@command{ptx}
-はその試みに成功する。もし、@option{-r} オプションが @option{-S} オプションの
-デフォルト値とともに使われているか、あるいは、GNU の拡張が無効に
\81ªã\81£ã\81¦ã\81\84ã\82\8bã\81ªã\82\89ã\81°ã\80\81ã\81\93ã\81®æ\9d¡ä»¶ã\81¯å¿\85ã\81\9aæº\80ã\81\9fã\81\95ã\82\8cã\82\8bã\81\93ã\81¨ã\81«ã\81ªã\82\8bã\80\82å¾\93ã\81£ã\81¦ã\80\81
-その場合は、参照箇所情報が出力される文脈からきちんと分離される。
-@sp 1
-(訳注: 文脈 (context) というのは、出力については、キーワードと
-その前後と考えておけばよいが、入力について言うと、@command{ptx} が操作の
-対象にする本文の単位 --- 入力のまとまり --- を指すことになる。@option{-S}
-の値によって、普通は文か、行になる。)
+@opindex -r
+@opindex --references
+
+各入力行において、行頭にあるホワイトスペース以外の文字の連続を参照箇所情報
+(訳注: たとえば、ファイル名、ページ番号、行番号など)
+として扱うようにする。この参照箇所情報は、その入力行がどこにあるかを、
+作成されるパミューテド・インデックス中で示すために用いられる。
+参照箇所情報の生成についての詳細は、次節「出力のフォーマット」を御覧いただきたい。
+@xref{Output formatting in ptx}.
+このオプションを使用すると、@option{-S} オプションのデフォルトの値が変更されることになる
+(訳注: すなわち、GNU の拡張が有効な場合も、@option{-S} オプションのデフォルト値が文末ではなく、行末になる)。
+
+このオプションを使用したとき、@command{ptx} プログラムは、参照箇所情報が出力される文脈に混入しないようにするが、
\81\9dã\81®è©¦ã\81¿ã\81¯ã\81\9dã\82\8cã\81»ã\81©å¾¹åº\95ã\81\97ã\81\9fã\82\82ã\81®ã\81§ã\81¯ã\81ªã\81\84ã\80\82ã\81\97ã\81\8bã\81\97ã\80\81æ\96\87è\84\88ã\81\8cæ\94¹è¡\8cã\81§ã\81\8dã\81¡ã\82\93ã\81¨çµ\82æ­¢ã\81\97ã\81¦ã\81\84ã\82\8cã\81°ã\80\81
+@command{ptx} はその試みに成功する。もし、@option{-r} オプションが
+@option{-S} オプションのデフォルト値とともに使われているか、
\81\82ã\82\8bã\81\84ã\81¯ã\80\81GNU ã\81®æ\8b¡å¼µã\81\8cç\84¡å\8a¹ã\81«ã\81ªã\81£ã\81¦ã\81\84ã\82\8bã\81ªã\82\89ã\81°ã\80\81ã\81\93ã\81®æ\9d¡ä»¶ã\81¯å¿\85ã\81\9aæº\80ã\81\9fã\81\95ã\82\8cã\82\8bã\81\93ã\81¨ã\81«ã\81ªã\82\8bã\80\82
+従って、その場合は、参照箇所情報が出力される文脈からきちんと分離される。
+
+(訳注: 文脈 (context) というのは、
+出力については、キーワードとその前後と考えておけばよいが、入力について言うと、
+@command{ptx} が操作の対象にする本文の単位 --- 入力のまとまり --- を指すことになる。
+@option{-S} の値によって、普通は文か、行になる。)
 
 @item -S @var{regexp}
 @itemx --sentence-regexp=@var{regexp}
+@opindex -S
+@opindex --sentence-regexp
 
-このオプションでは、行の終わり、または文の終わりを示す正規表現を
-指定する。
-@sp 1
-(訳注: もう少し説明すると、このオプションで指定するのは、入力を
-何で区切るかということである。改行で区切れば、いわゆる行が、@command{ptx}
-の操作の対象となる入力のまとまり (入力の単位) になり、ピリオド
-などで区切れば、いわゆる文が、入力のまとまりになる。このまとまりが
-@command{ptx} にとっての文脈でもある。ただし、出力では、文脈のすべてが
-表示されるとはかぎらない。なお、そうしたければ、行末や文末以外で
-入力を区切ることもできる。)
-@sp 1
-実際のテキストでは、ここで指定される正規表現のみが、行の終わりや
-文の終わりの指標として使われているとはかぎらない。また、入力の
-区切りに何を指定しようとも、このオプションの外で特別な意味を
-持つことはない (訳注: すなわち、オプション @option{-A}, @option{-i}, @option{-o} など
-には影響が及ばない)。デフォルトでは、GNU の拡張が有効なとき、@option{-r}
-オプションが使われていなければ、文の終わりの方が入力の区切りとして
-使用される。その場合、次の正規表現が GNU Emacs から取り込まれる。
+このオプションでは、行の終わり、または文の終わりを示す正規表現を指定する。
+
+(訳注: もう少し説明すると、このオプションで指定するのは、
+入力を何で区切るかということである。改行で区切れば、いわゆる行が、@command{ptx}
+の操作の対象となる入力のまとまり (入力の単位) になり、
+ピリオドなどで区切れば、いわゆる文が、入力のまとまりになる。
+このまとまりが @command{ptx} にとっての文脈でもある。
+ただし、出力では、文脈のすべてが表示されるとはかぎらない。
+なお、そうしたければ、行末や文末以外で入力を区切ることもできる。)
+
+実際のテキストでは、ここで指定される正規表現のみが、
+行の終わりや文の終わりの指標として使われているとはかぎらない。
+また、入力の区切りに何を指定しようとも、このオプションの外で特別な意味を持つことはない
+(訳注: すなわち、オプション @option{-A}, @option{-i}, @option{-o}
+などには影響が及ばない)。デフォルトでは、GNU の拡張が有効なとき、@option{-r}
+オプションが指定されていなければ、文の終わりの方が入力の区切りとして使われる。
+その場合は、GNU Emacs から取り込まれた次の正規表現が使用される。
 
 @example
 [.?!][]\"')@}]*\\($\\|\t\\|  \\)[ \t\n]*
 @end example
 
-GNU の拡張が無効になっている場合や、@option{-r} オプションが指定されて
-いる場合は、行の終わりの方が入力の区切りとして使用される。その場合、
-デフォルトの正規表現は、単に次のものである。
+GNU の拡張が無効になっている場合や、@option{-r} オプションが指定されている場合は、
+行の終わりの方が入力の区切りとして使用される。
\81\9dã\81®å ´å\90\88ã\80\81ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81®æ­£è¦\8f表ç\8f¾ã\81¯ã\80\81å\8d\98ã\81«æ¬¡ã\81®ã\82\82ã\81®ã\81§ã\81\82ã\82\8bã\80\82
 
 @example
 \n
 @end example
 
-空の @var{regexp} を使用するのは、行末や文末の認識を全く無効にするのと
-同じである。その場合、ファイル全体が、たった 1 個の長い行、
\81\82ã\82\8bã\81\84ã\81¯ã\80\81é\95·ã\81\84æ\96\87ã\81¨è¦\8bã\81ªã\81\95ã\82\8cã\82\8bã\81\93ã\81¨ã\81«ã\81ªã\82\8bã\80\82ã\83¦ã\83¼ã\82¶ã\81¨ã\81\97ã\81¦ã\81¯ã\80\81ã\82ªã\83\97ã\82·ã\83§ã\83³
-@option{-F ""} を使用して、省略の印の生成も全く行わないようにしたくなる
-かもしれない。@xref{Regexps, , Syntax of Regular Expressions, emacs,
-The GNU Emacs Manual}.
+空の @var{regexp} を使用するのは、行末や文末の認識を全く無効にするのと同じである。
+その場合、ファイル全体が、たった 1 個の長い行、あるいは、長い文と見なされることになる。
\83¦ã\83¼ã\82¶ã\81¨ã\81\97ã\81¦ã\81¯ã\80\81ã\82ªã\83\97ã\82·ã\83§ã\83³ @option{-F ""}
+を使用して、省略の印の生成も全く行わないようにしたくなるかもしれない。
+@xref{Regexps, , Syntax of Regular Expressions, emacs, The GNU Emacs
+Manual}.
 
-キーワードがたまたま入力行や入力文の先頭近くにあると、出力する
-文脈行の行頭に、使用しない領域が生ずることがよくある。また、
\82­ã\83¼ã\83¯ã\83¼ã\83\89ã\81\8cå\85¥å\8a\9bè¡\8cã\82\84å\85¥å\8a\9bæ\96\87ã\81®æ\9c«å°¾è¿\91ã\81\8fã\81«ã\81\82ã\82\8bã\81¨ã\80\81å\87ºå\8a\9bã\81\99ã\82\8bæ\96\87è\84\88è¡\8cã\81®
-行末に、使用しない領域がしばしば生ずる。@command{ptx} プログラムは、
-その文脈を折り返して、そうした不使用領域を埋めようと試みる。
+キーワードがたまたま入力行や入力文の先頭近くにあると、
+出力する文脈行の行頭に、使用しない領域が生ずることがよくある。
\81¾ã\81\9fã\80\81ã\82­ã\83¼ã\83¯ã\83¼ã\83\89ã\81\8cå\85¥å\8a\9bè¡\8cã\82\84å\85¥å\8a\9bæ\96\87ã\81®æ\9c«å°¾è¿\91ã\81\8fã\81«ã\81\82ã\82\8bã\81¨ã\80\81
+出力する文脈行の行末に、使用しない領域がしばしば生ずる。
+@command{ptx} プログラムは、その文脈を折り返して、そうした不使用領域を埋めようと試みる。
 すなわち、その入力行や入力文の後続する部分 (@var{tail}) を使って、
-出力する行の左にある不使用領域を埋め、その入力行や入力文の
-先行する部分 (@var{head}) を使って、出力する行の右にある不使用領域を
-埋めるのである。
+出力する行の左にある不使用領域を埋め、その入力行や入力文の先行する部分
+(@var{head}) を使って、出力する行の右にある不使用領域を埋めるのである。
 
-このオプションの引数中では、ユーザーの便宜のために、C 言語由来の
-よく使うバックスラッシュ・エスケープシーケンスの多くが、@command{ptx}
+このオプションの引数中では、ユーザーの便宜のために、
+C 言語由来のよく使うバックスラッシュ・エスケープシーケンスの多くが、@command{ptx}
 そのものによって認識され、対応する文字に変換されるようになっている。
 
 @item -W @var{regexp}
 @itemx --word-regexp=@var{regexp}
+@opindex -W
+@opindex --word-regexp
 
-このオプションでは、各キーワードとなる単語とはどのようなものかを
-示す正規表現を指定する。デフォルトでは、GNU の拡張が有効になって
\81\84ã\82\8cã\81°ã\80\81å\8d\98èª\9eã\81¨ã\81¯ã\82¢ã\83«ã\83\95ã\82¡ã\83\99ã\83\83ã\83\88ã\81®æ\96\87å­\97ã\81®é\80£ç¶\9aã\81§ã\81\82ã\82\8bã\80\82ã\81\99ã\81ªã\82\8fã\81¡ã\80\81使ç\94¨
-される正規表現は @samp{\w+} だ。GNU の拡張が無効な場合、デフォルトで
-単語と見なされるのは、何であれ、スペース、タブ、改行で区切られる
\82\82ã\81®ã\81§ã\81\82ã\82\8bã\80\82ã\81\93ã\81®å ´å\90\88ã\80\81使ç\94¨ã\81\95ã\82\8cã\82\8bæ­£è¦\8f表ç\8f¾ã\81¯ @samp{[^ \t\n]+} ã\81«ã\81ªã\82\8bã\80\82
+このオプションでは、各キーワードとなる単語とはどのようなものかを示す正規表現を指定する。
+デフォルトでは、GNU の拡張が有効になっていれば、単語とはアルファベットの文字の連続である。
\81\99ã\81ªã\82\8fã\81¡ã\80\81使ç\94¨ã\81\95ã\82\8cã\82\8bæ­£è¦\8f表ç\8f¾ã\81¯ @samp{\w+} ã\81 ã\80\82
+GNU の拡張が無効な場合、デフォルトで単語と見なされるのは、
+何であれ、スペース、タブ、改行で区切られているものである。
+この場合、使用される正規表現は @samp{[^ \t\n]+} になる。
 
-@var{regexp} に空の文字列を指定するのは、このオプションを使用しないのと
-同じことである。@xref{Regexps, , Syntax of Regular Expressions, emacs,
-The GNU Emacs Manual}.
+@var{regexp} に空の文字列を指定するのは、このオプションを使用しないのと同じことである。
+@xref{Regexps, , Syntax of Regular Expressions, emacs, The GNU Emacs
+Manual}.
 
-このオプションの引数中では、ユーザーの便宜のために、C 言語で
-見られるような、よく使うバックスラッシュ・エスケープシーケンスの
-多くが、@command{ptx} そのものによって認識され、対応する文字に変換される
-ようになっている。
+このオプションの引数中では、ユーザーの便宜のために、
+C 言語で見られるような、よく使うバックスラッシュ・エスケープシーケンスの多くが、
+@command{ptx} そのものによって認識され、対応する文字に変換されるようになっている。
 
 @end table
 
@@ -5862,23 +5678,24 @@ The GNU Emacs Manual}.
 @subsection 出力のフォーマット
 
 出力のフォーマットを決めるのは、主として @option{-O} と @option{-T} オプションだが、
-両者については、以下のオプション一覧で説明している。@option{-O} も @option{-T} も
-指定されず、しかも、GNU の拡張が有効な場合、@command{ptx} プログラムは、
-ダム端末に適した出力フォーマットを選択する。各キーワードは一行の
-中央に表示され、前後の文脈がその左右に出力される。コンコーダンス
-としての出力が一目でわかるように (訳注: すなわち、どれがキーワードで、
-どれがその前後の語句かわかりやすいように)、各フィールドはきちんと
-揃えられる。おまけの機能として、次のものがある。参照箇所情報の
-自動作成が @option{-A} オプションによって選択され、参照箇所が左側の文脈の
-前に表示される場合には (すなわち、@option{-R} オプションが選択されていない
-場合には)、参照箇所の後ろにコロンが追加される。こうしておくと、
-参照箇所を GNU Emacs の @code{next-error} 処理にうまく渡せるようになる
-のである。このデフォルトの出力フォーマットでは、改行やタブのような
-ホワイトスペース文字は、それぞれ単にただ 1 個のスペースに変換される
-だけであり、連続するスペースをわざわざ圧縮するようなことは行われない。
-この動作は、将来変更されるかもしれない。そうしたホワイトスペース文字
-を除いて、使用している 256 文字からなる文字セット中のほかのすべての
-文字は、入力から出力へと手を加えずにそのまま送り出される。
+両者については、以下のオプション一覧で説明している。@option{-O} も @option{-T}
+も指定されず、しかも、GNU の拡張が有効な場合、@command{ptx} プログラムは、
+ダム端末に適した出力フォーマットを選択する。
+各キーワードは一行の中央に表示され、前後の文脈がその左右に出力される。
+コンコーダンスとしての出力が一目でわかるように
+(訳注: すなわち、どれがキーワードで、どれがその前後の語句かわかりやすいように)、
+各フィールドはきちんと揃えられる。おまけの機能として、次のものがある。
+参照箇所情報の自動作成が @option{-A} オプションによって選択され、
+参照箇所が左側の文脈の前に表示される場合には
+(すなわち、@option{-R} オプションが選択されていない場合には)、
+参照箇所の後ろにコロンが追加される。こうしておくと、参照箇所を
+GNU Emacs の @code{next-error} 処理にうまく渡せるようになるのである。
+このデフォルトの出力フォーマットでは、改行やタブのようなホワイトスペース文字は、
+それぞれ単にただ 1 個のスペースに変換されるだけであり、
+連続するスペースをわざわざ圧縮するようなことは行われない。
+この動作は、将来変更されるかもしれない。そうしたホワイトスペース文字を除いて、
+使用している 256 文字からなる文字セット中のほかのすべての文字は、
+入力から出力へと手を加えずにそのまま送り出される。
 
 出力フォーマットは、以下のオプションによって、さらに制御される。
 
@@ -5886,89 +5703,100 @@ The GNU Emacs Manual}.
 
 @item -g @var{number}
 @itemx --gap-size=@var{number}
+@opindex -g
+@opindex --gap-size
 
 出力行の各フィールドは、ホワイトスペースによって区切られるが、
 そのフィールド同士の間隔の最小サイズを指定する。
 
 @item -w @var{number}
 @itemx --width=@var{number}
+@opindex -w
+@opindex --width
 
-最終的に出力される各行の最大長を指定する。参照箇所を使用する際、
-その長さが最大長に含まれるかどうかは、@option{-R} オプションを付けるか
-付けないかよって決まる。@option{-R} オプションを指定しない場合、すなわち、
-参照箇所が左の文脈より前に表示される場合は、すべての参照箇所中
-の最大長が、出力行の最大長の長さの内に含まれることになる。@option{-R}
-オプションを指定した場合、すなわち、参照箇所が右の文脈より後に
-表示される場合は、参照箇所や、それに先行するフィールドの区切りが
-占める領域は、出力行の最大長の長さに含まれない。
+最終的に出力される各行の最大長を指定する。
+参照箇所を使用する際、その長さが最大長に含まれるかどうかは、
+@option{-R} オプションを付けるか付けないかよって決まる。
+@option{-R} オプションを指定しない場合、
+すなわち、参照箇所が左の文脈より前に表示される場合は、すべての参照箇所中の最大長が、
+出力行の最大長の長さの内に含まれることになる。@option{-R}
+オプションを指定した場合、すなわち、参照箇所が右の文脈より後に表示される場合は、
+参照箇所や、それに先行するフィールドの区切りが占める領域は、
+出力行の最大長の長さに含まれない。
 
 @item -A
 @itemx --auto-reference
+@opindex -A
+@opindex --auto-reference
 
-参照箇所情報の自動生成を選択する。ファイル名と行番号からなる参照
-箇所が自動的に生成されて、各入力行に付くことになる。ファイル名と
-行番号は 1 個のコロンで区切られる。ただし、標準入力から読み込んで
\81\84ã\82\8bå ´å\90\88ã\81¯ã\80\81ã\83\95ã\82¡ã\82¤ã\83«å\90\8dã\81¯ç©ºã\81«ã\81ªã\82\8bã\80\82@option{-A} ã\81¨ @option{-r} ã\81®ä¸¡æ\96¹ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³
-が指定されている場合は、入力中にある参照箇所情報が読み込まれた上で
-本文から外されることは @option{-r} 単独の場合と同じだが、出力時に使用
-されるのは、自動生成された参照箇所の方である。すなわち、入力中に
-ある参照箇所情報は、自動生成されたもので置き換えられる。
+参照箇所情報の自動生成を選択する。
+ファイル名と行番号からなる参照箇所が自動的に生成されて、各入力行に付くことになる。
+ファイル名と行番号は 1 個のコロンで区切られる。
\81\9fã\81 ã\81\97ã\80\81æ¨\99æº\96å\85¥å\8a\9bã\81\8bã\82\89読ã\81¿è¾¼ã\82\93ã\81§ã\81\84ã\82\8bå ´å\90\88ã\81¯ã\80\81ã\83\95ã\82¡ã\82¤ã\83«å\90\8dã\81¯ç©ºã\81«ã\81ªã\82\8bã\80\82
+@option{-A} と @option{-r} の両方のオプションが指定されている場合は
+入力中にある参照箇所情報が読み込まれた上で本文から外されることは @option{-r}
+単独の場合と同じだが、出力時に使用されるのは、自動生成された参照箇所の方である。
\81\99ã\81ªã\82\8fã\81¡ã\80\81å\85¥å\8a\9b中ã\81«ã\81\82ã\82\8bå\8f\82ç\85§ç®\87æ\89\80æ\83\85å ±ã\81¯ã\80\81è\87ªå\8b\95ç\94\9fæ\88\90ã\81\95ã\82\8cã\81\9fã\82\82ã\81®ã\81§ç½®ã\81\8dæ\8f\9bã\81\88ã\82\89ã\82\8cã\82\8bã\80\82
 
 @item -R
 @itemx --right-side-refs
+@opindex -R
+@opindex --right-side-refs
 
 デフォルトの出力フォーマットでは、@option{-R} オプションを使用しない場合、
-@option{-r} や @option{-A} オプションの働きによって生成される参照箇所は、出力行
-の左の端、すなわち、左の文脈の前に表示される。それに対して、
+@option{-r} や @option{-A} オプションの働きによって生成される参照箇所は、
+出力行の左の端、すなわち、左の文脈の前に表示される。それに対して、
 デフォルトの出力フォーマットで @option{-R} オプションを指定した場合、
-参照箇所が表示されるのは、各出力行の右端、すなわち、右の文脈の
-後ろになる。ほかのいかなる出力フォーマットにおいても、基本的に @option{-R}
-オプションは無視されるが (訳注: デフォルト以外の出力フォーマット
-では、@option{-R} オプションがあってもなくても、参照箇所は右端に出力
-される)、それでも、@option{-R} オプションが付いていると、参照箇所の
-長さが、@option{-w} で指定した出力行全体の長さの内に入らないという働き
-だけは残る。
+参照箇所が表示されるのは、各出力行の右端、すなわち、右の文脈の後ろになる。
+ほかのいかなる出力フォーマットにおいても、基本的に @option{-R}
+オプションは無視されるが (訳注: デフォルト以外の出力フォーマットでは、
+@option{-R} オプションがあってもなくても、参照箇所は右端に出力される)、
+それでも、@option{-R} オプションが付いていると、参照箇所の長さが、@option{-w}
+で指定した出力行全体の長さの内に入らないという働きだけは残る。
 
-このオプションは、GNU の拡張が無効であるときは、常に自動的に選択
-される。
+このオプションは、GNU の拡張が無効であるときは、常に自動的に選択される。
 
 @item -F @var{string}
-@itemx --flac-truncation=@var{string}
-
-このオプションを指定すると、出力に省略があった場合、それを示す
-ために文字列 @var{string} を使用するようになる。ほとんどの出力フィールド
-は、理論上では、@option{-S} オプションで何を選択するかによって、現在の行、
-または、現在の文の、先頭や末尾に向かって伸びて行くものである。
-しかし、@option{-w} オプションによって長さを変更できるとは言え、出力行には
-許される最大長というものがあり、その最大長はさらにさまざまな出力
-フィールドで使用する領域に分割されている。従って、フィールドは、
-それを収納する現在の出力行の先頭や末尾を越えて伸ばすことができない
-ために、切り詰めなければならないことがあり、そういうときに、省略が
-行われるのである。省略の指標として使用されるデフォルトの文字列は、
-1 個のスラッシュである。これは、@option{-F /} と指定した場合と同じだ。
+@itemx --flag-truncation=@var{string}
+@opindex -F
+@opindex --flag-truncation
+
+このオプションを指定すると、出力に省略があった場合、それを示すために文字列 @var{string}
+を使用するようになる。ほとんどの出力フィールドは、理論上では、@option{-S}
+オプションで何を選択するかによって、現在の行、または、現在の文の、先頭や末尾に向かって伸びて行くものである。
+しかし、@option{-w} オプションによって長さを変更できるとは言え、
+出力行には許される最大長というものがあり、
+その最大長はさらにさまざまな出力フィールドで使用する領域に分割されている。
+従って、フィールドは、それを収納する現在の出力行の先頭や末尾を越えて伸ばすことができないために、
+切り詰めなければならないことがあり、そういうときに、省略が行われるのである。
+省略の指標として使用されるデフォルトの文字列は、1 個のスラッシュである。
+これは、@option{-F /} と指定した場合と同じだ。
 
 @var{string} には、@option{-F @dots{}} のように 1 個以上の文字を指定してもよい。
-また、@var{string} が空文字列 (@option{-F ""}) の場合には、省略のフラグは
-立てられないことになり、従って、省略の指標は一切付加されない。
+また、@var{string} が空文字列 (@option{-F ""}) の場合には、
\9c\81ç\95¥ã\81®ã\83\95ã\83©ã\82°ã\81¯ç«\8bã\81¦ã\82\89ã\82\8cã\81ªã\81\84ã\81\93ã\81¨ã\81«ã\81ªã\82\8aã\80\81å¾\93ã\81£ã\81¦ã\80\81ç\9c\81ç\95¥ã\81®æ\8c\87æ¨\99ã\81¯ä¸\80å\88\87ä»\98å\8a ã\81\95ã\82\8cã\81ªã\81\84ã\80\82
 
-このオプションの引数中では、ユーザーの便宜のために、C 言語で
-見られるような、よく使うバックスラッシュ・エスケープシーケンスの
-多くが、@command{ptx} そのものによって認識され、対応する文字に変換される
-ようになっている。
+このオプションの引数中では、ユーザーの便宜のために、
+C 言語で見られるような、よく使うバックスラッシュ・エスケープシーケンスの多くが、
+@command{ptx} そのものによって認識され、対応する文字に変換されるようになっている。
 
 @item -M @var{string}
 @itemx --macro-name=@var{string}
+@opindex -M
+@opindex --macro-name
 
-@command{nroff} や @command{troff}、あるいは @TeX{} で処理するのにふさわしい出力
-フォーマットを生成するとき、@samp{xx} の代わりに使用する別の文字列
-@var{string} を指定する。(訳注: @option{-O} や @option{-T} オプションを参照。)
+@command{nroff} や @command{troff}、あるいは @TeX{}
+で処理するのにふさわしい出力フォーマットを生成するとき、
+@samp{xx} の代わりに使用する別の文字列 @var{string} を指定する。
+(訳注: @option{-O} や @option{-T} オプションを参照。)
 
 @item -O
 @itemx --format=roff
+@opindex -O
+@opindex --format=roff
 
-出力フォーマットとして、@command{nroff} や @command{troff} で処理するのに適した
-形式を選択する。各出力行は次のようになる。
-@sp 1
+出力フォーマットとして、@command{nroff} や @command{troff}
+で処理するのに適した形式を選択する。各出力行は次のようになる。
 (訳注: 下記の @var{tail} と @var{head} については、前節 @option{--sentence-regexp}
 オプションの説明の終わりから 2 番目のパラグラフをご覧いただきたい。
 @var{ref} は参照箇所である。)
@@ -5978,23 +5806,25 @@ The GNU Emacs Manual}.
  "@var{head}" "@var{ref}"
 @end smallexample
 
-従って、あとは、出力の整形を担当する roff のマクロ @samp{.xx} を出力
\83\95ã\82¡ã\82¤ã\83«ã\81«æ\9b¸ã\81\8dè¾¼ã\82\81ã\81°ã\82\88ã\81\84ã\81\93ã\81¨ã\81«ã\81ªã\82\8bã\80\82ã\81\93ã\81®å\87ºå\8a\9bã\83\95ã\82©ã\83¼ã\83\9eã\83\83ã\83\88ã\81¯ã\80\81GNU ã\81®
-拡張が無効なときのデフォルトである。@samp{xx} を別のマクロ名に変更する
-には、@option{-M} オプションを使用すればよい (訳注: @option{-M "xx"} のように、
-@samp{xx} の部分のみ指定する)。
+従って、あとは、出力の整形を担当する roff のマクロ @samp{.xx}
\82\92å\87ºå\8a\9bã\83\95ã\82¡ã\82¤ã\83«ã\81«æ\9b¸ã\81\8dè¾¼ã\82\81ã\81°ã\82\88ã\81\84ã\81\93ã\81¨ã\81«ã\81ªã\82\8bã\80\82ã\81\93ã\81®å\87ºå\8a\9bã\83\95ã\82©ã\83¼ã\83\9eã\83\83ã\83\88ã\81¯ã\80\81
+GNU の拡張が無効なときのデフォルトである。@samp{xx} を別のマクロ名に変更するには、
+@option{-M} オプションを使用すればよい
+(訳注: @option{-M "xx"} のように、@samp{xx} の部分のみ指定する)。
 
-この出力フォーマットでは、改行やタブのような非表示文字は、それぞれ
-ただ 1 個のスペースに変換されるだけで、連続するスペースをわざわざ
-圧縮するようなことは行われない。ダブルクォート文字 @kbd{"} はそれぞれ
-二重化されるので、@command{nroff} や @command{troff} によって正しく処理される。
+この出力フォーマットでは、改行やタブのような非表示文字は、
+それぞれただ 1 個のスペースに変換されるだけで、
+連続するスペースをわざわざ圧縮するようなことは行われない。
+ダブルクォート文字 @samp{"} はそれぞれ二重化されるので、
+@command{nroff} や @command{troff} によって正しく処理される。
 
 @item -T
 @itemx --format=tex
+@opindex -T
+@opindex --format=tex
 
 出力フォーマットとして、@TeX{} で処理するのに適した形式を選択する。
 各出力行は、次のようになる。
-@sp 1
 (訳注: 下記の @var{tail} と @var{head} については、前節 @option{--sentence-regexp}
 オプションの説明の終わりから 2 番目のパラグラフをご覧いただきたい。
 @var{ref} は参照箇所である。)
@@ -6005,28 +5835,28 @@ The GNU Emacs Manual}.
 @end smallexample
 
 @noindent
-従って、あとは、出力の整形を担当する @code{\xx} コマンドの定義を
-出力ファイルに書き込めばよいことになる。なお、参照箇所の生成が
-行われていない場合、すなわち、@option{-A} オプションも @option{-r} オプションも
-指定されていない場合には、各 @code{\xx} 呼び出しの最後の引数は出力
-されないことに注意していただきたい。@samp{xx} を別のマクロ名に変更する
-には、@option{-M} オプションを使用すればよい (訳注: @option{-M "xx"} のように、
-@samp{xx} の部分のみ指定する)。
-
\81\93ã\81®å\87ºå\8a\9bã\83\95ã\82©ã\83¼ã\83\9eã\83\83ã\83\88ã\81§ã\81¯ã\80\81@kbd{$}, @kbd{%}, @kbd{&}, @kbd{#}, @kbd{_} ã\81®ã\82\88ã\81\86ã\81ªç\89¹æ®\8aæ\96\87å­\97
-のいくつかは、自動的にバックスラッシュで保護される。中カッコ @kbd{@{},
-@kbd{@}} は、一対のドル記号とバックスラッシュとで保護される (強引に
-数式モードにするわけだ)。バックスラッシュそのものは、@code{\backslash@{@}}
-というシーケンスになる。同形の他の文字と区別するために文字の上下に
-付ける発音区別符のうち、サーカムフレックスとチルダは、それぞれ
-@code{\^@{ @}} と @code{\~@{ @}} というシーケンスになる (訳注: 実際には @code{@{@}}
-の位置に a  なり e なりといった文字が来る)。使用している文字セット
¸­ã\81®ä»\96ã\81®ç\99ºé\9f³å\8cºå\88¥ç¬¦ã\81\8cä»\98ã\81\84ã\81¦ã\81\84ã\82\8bæ\96\87å­\97ã\81«ã\81¤ã\81\84ã\81¦ã\82\82ã\80\81å\8f¯è\83½ã\81ªã\81\8bã\81\8eã\82\8aã\80\81é\81©å\88\87ã\81ª
-@TeX{} のシーケンスが生成される。それ以外の文字については、改行やタブ
-のような非表示文字や、ASCII の文字セットに属さない他のすべての文字
-は、単にただ 1 個のスペースに変換され、連続するスペースをわざわざ
-圧縮するようなことは行われない。@TeX{} のための特殊文字の処理は以上の
-ようなものだが、改善する方法があれば、作者までお知らせいただきたい。
+従って、あとは、出力の整形を担当する @code{\xx} コマンドの定義を出力ファイルに書き込めばよいことになる。
+なお、参照箇所の生成が行われていない場合、すなわち、@option{-A} オプションも
+@option{-r} オプションも指定されていない場合には、
+各 @code{\xx} 呼び出しの最後の引数は出力されないことに注意していただきたい。
+@samp{xx} を別のマクロ名に変更するには、@option{-M} オプションを使用すればよい
+(訳注: @option{-M "xx"} のように、@samp{xx} の部分のみ指定する)。
+
+この出力フォーマットでは、@samp{$}, @samp{%}, @samp{&}, @samp{#}, @samp{_}
\81®ã\82\88ã\81\86ã\81ªç\89¹æ®\8aæ\96\87å­\97ã\81®ã\81\84ã\81\8fã\81¤ã\81\8bã\81¯ã\80\81è\87ªå\8b\95ç\9a\84ã\81«ã\83\90ã\83\83ã\82¯ã\82¹ã\83©ã\83\83ã\82·ã\83¥ã\81§ä¿\9dè­·ã\81\95ã\82\8cã\82\8bã\80\82
+中カッコ @samp{@{}, @samp{@}} は、一対のドル記号とバックスラッシュとで保護される
+(強引に数式モードにするわけだ)。
+バックスラッシュそのものは、@code{\backslash@{@}} というシーケンスになる。
+同形の他の文字と区別するために文字の上下に付ける発音区別符のうち、
+サーカムフレックスとチルダは、それぞれ @code{\^@{ @}} と @code{\~@{ @}}
+というシーケンスになる (訳注: 実際には @code{@{ @}} の位置に
+a  なり e なりといった文字が来る)。
½¿ç\94¨ã\81\97ã\81¦ã\81\84ã\82\8bæ\96\87å­\97ã\82»ã\83\83ã\83\88中ã\81®ä»\96ã\81®ç\99ºé\9f³å\8cºå\88¥ç¬¦ã\81\8cä»\98ã\81\84ã\81¦ã\81\84ã\82\8bæ\96\87å­\97ã\81«ã\81¤ã\81\84ã\81¦ã\82\82ã\80\81
+可能なかぎり、適切な @TeX{} のシーケンスが生成される。それ以外の文字について言うと、
+改行やタブのような非表示文字や、ASCII の文字セットに属さない他のすべての文字は、
+単にただ 1 個のスペースに変換され、連続するスペースをわざわざ圧縮するようなことは行われない。
+@TeX{} のための特殊文字の処理は以上のようなものだが、
+改善する方法があれば、作者までお知らせいただきたい。
 
 @end table
 
@@ -6034,76 +5864,74 @@ The GNU Emacs Manual}.
 @node Compatibility in ptx
 @subsection GNU による @command{ptx} の拡張
 
-このバージョンの @command{ptx} には、System V の @command{ptx} には存在しない機能が
-いくつかある。そうした追加機能は、コマンドラインオプションの @option{-G} を
-使えば、働かなくなるが、ほかのコマンドラインオプションによって上書き
-されれば、話は別である。もっとも、GNU の拡張の中には、上書きによって
-回復できないものもあるので、GNU の拡張を使いたければ、@option{-G} オプション
-を最初から使わないのが、すっきりした方法だ。以下に、このプログラムと
+このバージョンの @command{ptx} には、System V の @command{ptx}
+には存在しない機能がいくつかある。
+そうした追加機能は、コマンドラインオプションの @option{-G} を使えば、働かなくなるが、
+ほかのコマンドラインオプションによって上書きされれば、話は別である。
+もっとも、GNU の拡張の中には、上書きによって回復できないものもあるので、
+GNU の拡張を使いたければ、@option{-G} オプションを最初から使わないのが、
+すっきりした方法だ。以下に、このプログラムと
 System V の @command{ptx} の相違点を挙げておく。
 
 @itemize @bullet
 
 @item
-このプログラムでは、一度に複数の入力ファイルを読み込むことが
-できる。また、生成したコンコーダンスは、常に標準出力に書き出さ
-れる。それに対して、System V の @command{ptx} は、ファイルをたった 1 個
-しか読み込まず、結果を書き出すのは、標準出力のこともあるが、
-コマンドに 2 番目の @var{file} パラメータが指定されていれば、その @var{file}
-に対してである。
+このプログラムでは、一度に複数の入力ファイルを読み込むことができる。
+また、生成したコンコーダンスは、常に標準出力に書き出される。
+それに対して、System V の @command{ptx} は、ファイルをたった 1 個しか読み込まず、
+結果を書き出すのは、標準出力のこともあるが、コマンドに 2 番目の @var{file}
+パラメータが指定されていれば、その @var{file} に対してである。
 
 オプションで指定しない出力パラメータを持つのは、危険な習慣であり、
 GNU では、できるだけ避けるようにしている。従って、@command{ptx} を GNU と
-System V のどちらでも、問題なく同じように使いたいなら、入力ファイル
-は常に一つしか使わず、実行結果は常に標準出力に出力されるものと考えて
-おいた方がよい。また、@command{ptx} を使用してアプリケーションを作成する
-場合には、インストールされている @command{ptx} で @option{-G} オプションが使用
-できるとわかれば、@command{ptx} を呼び出すとき、@option{-G} オプションを必ず付ける
-ようにしたくなるかもしれない。
+System V のどちらでも、問題なく同じように使いたいなら、入力ファイルは常に一つしか使わず、
+実行結果は常に標準出力に書き出されるものと考えておいた方がよい。
+また、@command{ptx} を使用してアプリケーションを作成する場合には、
+インストールされている @command{ptx} で @option{-G} オプションが使用できるとわかれば、
+@command{ptx} を呼び出すとき、@option{-G} オプションを必ず付けるようにしたくなるかもしれない。
 
 @item
 System V の @command{ptx} で利用できるオプションは、@option{-b}, @option{-f}, @option{-g},
 @option{-i},
-@option{-o}, @option{-r}, @option{-t}, @option{-w} だけである。他のオプションは、すべて GNU の
-拡張だが、今この箇条書きで繰り返すことはしない。なお、オプションの
-中には、以下でも述べているように、GNU の拡張が有効になっていると、
+@option{-o}, @option{-r}, @option{-t}, @option{-w} だけである。
+他のオプションは、すべて GNU の拡張だが、今この箇条書きで繰り返すことはしない。
+なお、オプションの中には、以下でも述べているように、GNU の拡張が有効になっていると、
 効果が少し変わるものもある。
 
 @item
 GNU の拡張のデフォルトでは、コンコーダンス出力のフォーマットは、
-@command{troff} や @command{nroff} 向けになっていない。むしろ、ダム端末向けの
\83\95ã\82©ã\83¼ã\83\9eã\83\83ã\83\88ã\81«ã\81ªã\81£ã\81¦ã\81\84ã\82\8bã\80\82@command{troff} ã\82\84 @command{nroff} å\90\91ã\81\91ã\81®å\87ºå\8a\9bã\82\92é\81¸æ\8a\9eã\81\97
-たかったら、@option{-O} オプションを使用すればよい。
+@command{troff} や @command{nroff} 向けになっていない。
\82\80ã\81\97ã\82\8dã\80\81ã\83\80ã\83 ç«¯æ\9c«å\90\91ã\81\91ã\81®ã\83\95ã\82©ã\83¼ã\83\9eã\83\83ã\83\88ã\81«ã\81ªã\81£ã\81¦ã\81\84ã\82\8bã\80\82@command{troff} ã\82\84
+@command{nroff} 向けの出力を選択したかったら、@option{-O} オプションを使用すればよい。
 
 @item
-@option{-R} オプションを使用しないと、参照箇所の最大長が、出力行全体
-の長さから差し引かれる。GNU の拡張を無効にすると、参照箇所の
-長さは、出力行の長さの勘定に入らないことになる。
+@option{-R} オプションを使用しないと、
+参照箇所の最大長が、出力行全体の長さから差し引かれる。
+GNU の拡張を無効にすると、参照箇所の長さは、出力行の長さの勘定に入らないことになる。
 
 @item
-GNU の拡張が無効になっていても、256 バイトの文字セットのすべての
-文字が --- ASCII NUL バイト含めて --- 常に入力ファイルから読み込
-まれて処理され、有害な作用をもたらすことはない。それに対して、
-System V の @command{ptx} は、8-bit の文字を受け付けない。若干の制御文字
-も拒否する。また、チルダ @kbd{~} も拒否する。
+GNU の拡張が無効になっていても、256 バイトの文字セットのすべての文字が ---
+ASCII NUL バイト含めて --- 常に入力ファイルから読み込まれて処理され、
+有害な作用をもたらすことはない。それに対して、
+System V の @command{ptx} は、8-bit の文字を受け付けない。
+若干の制御文字も拒否する。また、チルダ @samp{~} も拒否する。
 
 @item
-GNU の拡張が無効になっていても、入力行の長さは、利用できるメモリに
\82\88ã\81£ã\81¦ã\81\97ã\81\8bå\88¶é\99\90ã\81\95ã\82\8cã\81ªã\81\84ã\80\82ã\81\9dã\82\8cã\81«å¯¾ã\81\97ã\81¦ã\80\81System V ã\81® @command{ptx} ã\81\8cå\87¦ç\90\86ã\81®
¯¾è±¡ã\81«ã\81\99ã\82\8bã\81®ã\81¯ã\80\81å\90\84è¡\8cã\81«ä»\98ã\81\8dæ\9c\80å\88\9dã\81® 200 æ\96\87å­\97ã\81 ã\81\91ã\81§ã\81\82ã\82\8bã\80\82
+GNU の拡張が無効になっていても、入力行の長さは、利用できるメモリによってしか制限されない。
\81\9dã\82\8cã\81«å¯¾ã\81\97ã\81¦ã\80\81System V ã\81® @command{ptx} ã\81\8cå\87¦ç\90\86ã\81®å¯¾è±¡ã\81«ã\81\99ã\82\8bã\81®ã\81¯ã\80\81
+各行に付き最初の 200 文字だけである。
 
 @item
-単語区切り文字 (break character、単語を構成しない文字) のデフォルト
-は、使用している文字セットにおけるアルファベットのすべての文字
-(発音区別符のあるなしを問わない) 以外のあらゆる文字である。GNU の
-拡張が無効な場合は、単語区切り文字のデフォルトは、スペース、タブ、
-改行のみになる。
+単語区切り文字 (break character、単語を構成しない文字) のデフォルトは、
+使用している文字セットにおけるアルファベットのすべての文字
+(発音区別符のあるなしを問わない) 以外のあらゆる文字である。
+GNU の拡張が無効な場合は、単語区切り文字のデフォルトは、スペース、タブ、改行のみになる。
 
 @item
-このプログラムは、出力行の長さを System V の @command{ptx} より上手に処理
-する。GNU の拡張が無効になっている場合、このプログラムは System V
-の @command{ptx} の動作をなるべく真似ようとするが、それでも、System V の
-ちょっとした癖のいくつかは、完全には再現できない。
+このプログラムは、出力行の長さを System V の @command{ptx} より上手に処理する。
+GNU の拡張が無効になっている場合、このプログラムは System V
+の @command{ptx} の動作をなるべく真似ようとするが、
\81\9dã\82\8cã\81§ã\82\82ã\80\81System V ã\81®ã\81¡ã\82\87ã\81£ã\81¨ã\81\97ã\81\9fç\99\96ã\81®ã\81\84ã\81\8fã\81¤ã\81\8bã\81¯ã\80\81å®\8cå\85¨ã\81«ã\81¯å\86\8dç\8f¾ã\81§ã\81\8dã\81ªã\81\84ã\80\82
 
 @item
 ユーザは Ignore file と Only file の両方を指定することができる。
@@ -6119,11 +5947,11 @@ System V の @command{ptx} では、そんなことはできない。
 @cindex topological sort
 
 @command{tsort} は、指定された @var{file} に対してトポロジカル・ソートを行う。
-入力ファイルが指定されていない場合や、@var{file} として @samp{-} が指定されて
\81\84ã\82\8bå ´å\90\88ã\81¯ã\80\81æ¨\99æº\96å\85¥å\8a\9bã\82\92対象ã\81«ã\81\99ã\82\8bã\80\82ã\82\88ã\82\8a詳ã\81\97ã\81\84説æ\98\8eã\82\84ã\80\81ã\81\93ã\81®ã\82³ã\83\9eã\83³ã\83\89ã\81\8c
-作成された事情については、次節「@command{tsort}: 誕生の背景」を御覧に
-なっていただきたい。 @ref{tsort background}
-@sp 1
+入力ファイルが指定されていない場合や、@var{file} として @samp{-}
\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bå ´å\90\88ã\81¯ã\80\81æ¨\99æº\96å\85¥å\8a\9bã\82\92対象ã\81«ã\81\99ã\82\8bã\80\82
+より詳しい説明や、このコマンドが作成された経緯については、次節「@command{tsort}:
+誕生の背景」を御覧になっていただきたい。 @ref{tsort background}
+
 書式:
 
 @example
@@ -6131,8 +5959,8 @@ tsort [@var{option}] [@var{file}]
 @end example
 
 @command{tsort} は入力を、空白で区切られた 2 個一組の文字列として読み込む。
-そうした文字列の各組は、部分的な順序を示している。出力は、与えられた
-部分的な順序に対応する全体としての順序である。
+そうした文字列の各組は、部分的な順序を示している。
+出力は、与えられた部分的な順序に対応する全体としての順序である。
 
 例を挙げよう。
 
@@ -6147,7 +5975,7 @@ EOF
 
 @noindent
 (訳注: 上の例は、"a b/c d/e f/b c/d e" という組を与えている。)
-@sp 1
+
 出力は、こうなる。
 
 @example
 f
 @end example
 
-もっと現実的な例を考えてみよう。たくさんの関数をすべて一つのファイル
\81«æ\9b¸ã\81\84ã\81¦ã\81\84ã\82\8bã\81¨ã\81\97ã\82\88ã\81\86ã\80\82ã\81\97ã\81\8bã\82\82ã\80\81ä¸\80ã\81¤ã\82\92é\99¤ã\81\84ã\81¦ã\80\81ä»\96ã\81®ã\81\99ã\81¹ã\81¦ã\81®é\96¢æ\95°ã\82\92 static
-として宣言している。現在のところ、その例外 (@code{main} ということにする)
-が、ファイル中で定義されている最初の関数であり、それが直接呼び出す
-関数群がそれに続き、さらにその後に、その関数群が呼び出す関数が続く @dots{}
-という形になっている。さて、ここで、プロトタイプを利用することにしたと
\81\97ã\82\88ã\81\86ã\80\82ã\81\9dã\81\86ã\81ªã\82\8bã\81¨ã\80\81å\91¼ã\81³å\87ºã\81\95ã\82\8cã\82\8bé\96¢æ\95°ã\81®ã\81\99ã\81¹ã\81¦ã\82\92宣è¨\80ã\81\99ã\82\8bã\81\8b (ã\81\9dã\81®ã\81\9fã\82\81ã\81«ã\81¯ã\80\81
-定義の部分から情報をどっさりコピーしなければならない)、あるいは
\81§ã\81\8dã\82\8bã\81 ã\81\91å¤\9aã\81\8fã\81®é\96¢æ\95°ã\81\8cã\80\81使ç\94¨ã\81\95ã\82\8cã\82\8bå\89\8dã\81«å®\9a義ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\82\88ã\81\86ã\81«ã\80\81é\96¢æ\95°ç¾¤ã\82\92
-並べ替えるか、どちらかを選ばなければならない。後者の作業を自動化する
-方法の一つが、各関数についてそれが直接呼び出す関数のリストを作成する
\81\93ã\81¨ã\81§ã\81\82ã\82\8bã\80\82ã\81\9dã\81\86ã\81\97ã\81\9fã\83ªã\82¹ã\83\88ã\82\92ç\94\9fæ\88\90ã\81\99ã\82\8bã\83\97ã\83­ã\82°ã\83©ã\83 ã\81¯ã\81\9fã\81\8fã\81\95ã\82\93ã\81\82ã\82\8bã\80\82ã\81\84ã\82\8fã\82\86ã\82\8b
\82³ã\83¼ã\83«ã\83»ã\82°ã\83©ã\83\95ã\82\92ä½\9cæ\88\90ã\81\99ã\82\8bã\83\97ã\83­ã\82°ã\83©ã\83 ã\81 ã\80\82以ä¸\8bã\81®ã\83ªã\82¹ã\83\88ã\82\92ã\81\94覧ã\81«ã\81ªã\81£ã\81¦
-いただきたい。各行は、左側の関数が右側の関数を直接呼び出していることを
-示している。
+もっと現実的な例を考えてみよう。たくさんの関数をすべて一つのファイルに書いているとしよう。
\81\97ã\81\8bã\82\82ã\80\81ä¸\80ã\81¤ã\82\92é\99¤ã\81\84ã\81¦ã\80\81ä»\96ã\81®ã\81\99ã\81¹ã\81¦ã\81®é\96¢æ\95°ã\82\92 static ã\81¨ã\81\97ã\81¦å®£è¨\80ã\81\97ã\81¦ã\81\84ã\82\8bã\80\82
+現在のところ、その例外 (@code{main} ということにする)
+が、ファイル中で定義されている最初の関数であり、それが直接呼び出す関数群がそれに続き、
+さらにその後に、その関数群が呼び出す関数が続く @dots{}
+という形になっている。さて、ここで、プロトタイプを利用することにしたとしよう。
\81\9dã\81\86ã\81ªã\82\8bã\81¨ã\80\81å\91¼ã\81³å\87ºã\81\95ã\82\8cã\82\8bé\96¢æ\95°ã\81®ã\81\99ã\81¹ã\81¦ã\82\92宣è¨\80ã\81\99ã\82\8bã\81\8b
+(そのためには、定義の部分から情報をどっさりコピーしなければならない)
\81\82ã\82\8bã\81\84ã\81¯ã\80\81ã\81§ã\81\8dã\82\8bã\81 ã\81\91å¤\9aã\81\8fã\81®é\96¢æ\95°ã\81\8cã\80\81使ç\94¨ã\81\95ã\82\8cã\82\8bå\89\8dã\81«å®\9a義ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\82\88ã\81\86ã\81«ã\80\81
+関数群を並べ替えるか、どちらかを選ばなければならない。
+後者の作業を自動化する方法の一つが、各関数についてそれが直接呼び出す関数のリストを作成することである。
\81\9dã\81\86ã\81\97ã\81\9fã\83ªã\82¹ã\83\88ã\82\92ç\94\9fæ\88\90ã\81\99ã\82\8bã\83\97ã\83­ã\82°ã\83©ã\83 ã\81¯ã\81\9fã\81\8fã\81\95ã\82\93ã\81\82ã\82\8bã\80\82
\81\84ã\82\8fã\82\86ã\82\8bã\82³ã\83¼ã\83«ã\83»ã\82°ã\83©ã\83\95ã\82\92ä½\9cæ\88\90ã\81\99ã\82\8bã\83\97ã\83­ã\82°ã\83©ã\83 ã\81 ã\80\82
+以下のリストをご覧になっていただきたい。
+各行は、左側の関数が右側の関数を直接呼び出していることを示している。
 
 @example
 main parse_options
@@ -6200,8 +6028,8 @@ file_lines dump_remainder
 recheck pretty_name
 @end example
 
-ここで @command{tsort} を使用すると、こうした関数について、上記の後者の要求を
-満たすような順番を作成することができる。
+ここで @command{tsort} を使用すると、
+こうした関数について、上記の後者の要求を満たすような順番を作成することができる。
 
 @example
 example$ tsort call-graph | tac
@@ -6224,16 +6052,16 @@ tail_forever
 main
 @end example
 
-@command{tsort} は、入力にループがあれば検出し、出会った最初のループを
-標準エラーに書き出す。
+@command{tsort} は、入力にループがあれば検出し、
+出会った最初のループを標準エラーに書き出す。
 
-一般に、ある部分的な順序に対して、唯一の全体的な順序というものは存在
-しないことに、留意していただきたい。上記のコール・グラフの場合で言えば、
-関数 @code{parse_options} は、@code{main} の前でありさえすれば、リストのどこに
-でも来ることができる。
+一般に、ある部分的な順序に対して、唯一の全体的な順序というものは存在しないことに、
+留意していただきたい。上記のコール・グラフの場合で言えば、
+関数 @code{parse_options} は、@code{main} の前でありさえすれば、
\83ªã\82¹ã\83\88ã\81®ã\81©ã\81\93ã\81«ã\81§ã\82\82æ\9d¥ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\80\82
 
-オプションは、@option{--help} と @option{--version} だけである。@xref{Common
-options}.
+オプションは、@option{--help} と @option{--version} だけである。
+@xref{Common options}.
 
 @exitstatus
 
@@ -6245,42 +6073,39 @@ options}.
 @subsection @command{tsort}: 誕生の背景
 
 @command{tsort} が存在しているのは、Unix のリンカのごく初期のバージョンでは、
-一つのアーカイブファイルの処理をたった一回しか行わず、それも、
-ファイルの最初から最後へと順番に見ていくだけだったからである。当時の
-@command{ld} は、アーカイブ中の各オブジェクトを読み込むとき、そのオブジェクトが
-プログラムに必要かどうかの判断を、リンク作業のその時点でまだ定義
-されていない何らかのシンボルを定義しているかどうかを基準にして
-行っていた。
+一つのアーカイブファイルの処理をたった一回しか行わず、
+それも、ファイルの最初から最後へと順番に見ていくだけだったからである。当時の
+@command{ld} は、アーカイブ中の各オブジェクトを読み込むとき、
+そのオブジェクトがプログラムに必要かどうかの判断を、
+リンク作業のその時点でまだ定義されていない何らかのシンボルを定義しているかどうかを基準にして行っていた。
 
 そのため、アーカイブ中の依存関係には、特別な扱いが必要になった。
-たとえば、@code{scanf} はたぶん @code{read} を呼んでいる。それは、リンカが
-アーカイブをたった一回最初から順番に読んで行くとき、@code{scanf.o} が
-@code{read.o} より前にあることが重要だったということである。なぜなら、
-そうなっていないと、@code{scanf} を呼ぶけれど、@code{read} を呼ばないプログラム
-では、@code{read} に対する参照が、予期に反して "unresolved" になってしまい
-かねなかったからだ。
-
-この問題に対処する方法は、次のようなものだった。まず、オブジェクト
-ファイル同士の依存関係の集合を生成した。この作業は、@command{lorder} という
-シェルスクリプトによって行われていた。筆者の知るかぎり、現在 GNU では
-lorder というツールを提供していないが、BSD 系のディストリビューション
-では、今でもなお見つけることができる。
-
-次に、この @command{lorder} の出力に対して @command{tsort} を実行した。そして、
-そのソートされた結果を使って、アーカイブにオブジェクトを追加する順番を
-決めたのである。
+たとえば、@code{scanf} はたぶん @code{read} を呼んでいる。
+それは、リンカがアーカイブをたった一回最初から順番に読んで行くとき、@code{scanf.o}
+が @code{read.o} より前にあることが重要だったということである。
+なぜなら、そうなっていないと、@code{scanf} を呼ぶけれど、@code{read}
+を呼ばないプログラムでは、@code{read} に対する参照が、予期に反して
+"unresolved" になってしまいかねなかったからだ。
+
+この問題に対処する方法は、次のようなものだった。
+まず、オブジェクトファイル同士の依存関係の集合を生成した。
+この作業は、@command{lorder} というシェルスクリプトによって行われていた。
+筆者の知るかぎり、現在 GNU では lorder というツールを提供していないが、
+BSD 系のディストリビューションでは、今でもなお見つけることができる。
+
+次に、この @command{lorder} の出力に対して @command{tsort} を実行した。
+そして、そのソートされた結果を使って、アーカイブにオブジェクトを追加する順番を決めたのである。
 
 こうした作業全体が、1980 年ごろから時代遅れのものになった。
-というのは、Unix のアーカイブは現在ではシンボル・テーブルを内蔵して
-おり (従来は @command{ranlib} によって作られていたが、今ではたいてい @command{ar}
-そのものによって作られている)、Unix のリンカはこのシンボル・テーブルを
-使用して、アーカイブファイルに対する複数回の読み込みを効率的に行うから
-である。
+というのは、Unix のアーカイブは現在ではシンボル・テーブルを内蔵しており
+(従来は @command{ranlib} によって作られていたが、今ではたいてい @command{ar}
+そのものによって作られている)、Unix のリンカはこのシンボル・テーブルを使用して、
+アーカイブファイルに対する複数回の読み込みを効率的に行うからである。
 
-ともあれ、これが tsort が誕生した経緯である。すなわち、当時のリンカ
\81®ã\82¢ã\83¼ã\82«ã\82¤ã\83\96ã\83\95ã\82¡ã\82¤ã\83«ã\82\92å\8f\96ã\82\8aæ\89±ã\81\86æ\96¹æ³\95ã\81«å\95\8fé¡\8cã\81\8cã\81\82ã\82\8aã\80\81ã\81\9dã\81®å\95\8fé¡\8cã\82\92解決ã\81\99ã\82\8bã\81\9fã\82\81
\81®å·¥å¤«ã\81 ã\81£ã\81\9fã\81®ã\81 ã\80\82ã\81\9dã\81\97ã\81¦ã\80\81ã\81\9dã\81®å\95\8fé¡\8cã\81¯ã\80\81ã\81\9dã\81®å¾\8cã\80\81å\88¥ã\81®ã\82\84ã\82\8aæ\96¹ã\81§è§£æ±ºã\81\95ã\82\8cã\82\8b
-ようになったのである。
+ともあれ、これが tsort が誕生した経緯である。
\81\99ã\81ªã\82\8fã\81¡ã\80\81å½\93æ\99\82ã\81®ã\83ªã\83³ã\82«ã\81®ã\82¢ã\83¼ã\82«ã\82¤ã\83\96ã\83\95ã\82¡ã\82¤ã\83«ã\82\92å\8f\96ã\82\8aæ\89±ã\81\86æ\96¹æ³\95ã\81«å\95\8fé¡\8cã\81\8cã\81\82ã\82\8aã\80\81
\81\9dã\81®å\95\8fé¡\8cã\82\92解決ã\81\99ã\82\8bã\81\9fã\82\81ã\81®å·¥å¤«ã\81 ã\81£ã\81\9fã\81®ã\81 ã\80\82
\81\9dã\81\97ã\81¦ã\80\81ã\81\9dã\81®å\95\8fé¡\8cã\81¯ã\80\81ã\81\9dã\81®å¾\8cã\80\81å\88¥ã\81®ã\82\84ã\82\8aæ\96¹ã\81§è§£æ±ºã\81\95ã\82\8cã\82\8bã\82\88ã\81\86ã\81«ã\81ªã\81£ã\81\9fã\81®ã\81§ã\81\82ã\82\8bã\80\82
 
 
 @node Operating on fields
@@ -6298,25 +6123,24 @@ lorder というツールを提供していないが、BSD 系のディストリ
 
 @pindex cut
 @command{cut} は、各ファイルから各行の一部を抜き出して、標準出力に書き出す。
-ファイルが指定されていない場合や、ファイル名として @samp{-} が指定されて
-いる場合は、標準入力を対象とする。
-@sp 1
+ファイルが指定されていない場合や、ファイル名として @samp{-}
\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bå ´å\90\88ã\81¯ã\80\81æ¨\99æº\96å\85¥å\8a\9bã\82\92対象ã\81¨ã\81\99ã\82\8bã\80\82
+
 書式:
 
 @example
 cut @var{option}@dots{} [@var{file}]@dots{}
 @end example
 
-以下のオプション一覧で @var{byte-list}, @var{character-list}, @var{field-list} と
-表記されているものは、コンマで区切られた、1 個以上の数字や範囲から
-なるリストである (範囲は、ダッシュを間に挟む 2 個の数字)。バイト、
-文字、フィールドは 1 から数える。不完全な範囲を指定することもでき、
-@option{-@var{m}} は @samp{1-@var{m}} と同じことであり、@samp{@var{n}-} は
-@samp{@var{n}} から行末、あるいは最後の
-フィールドまでと同じことである。リストの要素は、繰り返してもよく、
-部分的に重なり合ってもよく、どんな順序で指定してもよい。ただし、
-入力中の選択した部分が書き出されるのは、読み込まれたときと同じ順序
-であり、しかも、ただ一度だけである。(訳注: たとえば、@samp{-f 3,1,3}
+以下のオプション一覧で @var{byte-list}, @var{character-list}, @var{field-list}
+と表記されているものは、コンマで区切られた、1 個以上の数字や範囲からなるリストである
+(範囲は、ダッシュを間に挟む 2 個の数字)。バイト、文字、フィールドは 1 から数える。
+不完全な範囲を指定することもでき、@option{-@var{m}} は @samp{1-@var{m}}
+と同じことであり、@samp{@var{n}-} は @samp{@var{n}}
+から行末、あるいは最後のフィールドまでと同じことである。
+リストの要素は、繰り返してもよく、部分的に重なり合ってもよく、どんな順序で指定してもよい。
+ただし、入力中の選択した部分が書き出されるのは、読み込まれたときと同じ順序であり、
+しかも、ただ一度だけである。(訳注: たとえば、@samp{-f 3,1,3}
 などと指定することはできるが、出力されるときは field-1, field-3
 の順番であり、field-3 が二度出力されることもない。)
 
@@ -6329,35 +6153,36 @@ cut @var{option}@dots{} [@var{file}]@dots{}
 @opindex -b
 @opindex --bytes
 @var{byte-list} で指定された位置にあるバイトのみを選択して、表示する。
-タブやバックスペースも他の文字と同様に扱う。すなわち、そうした
-ものも 1 バイトを占める。出力用のデリミタ (delimiter、区切りの印)
-が指定されている場合は (@option{--output-delimiter} の説明を参照)、選択
-されたバイトからなる範囲同士の間にデリミタ文字列を出力する。
+タブやバックスペースも他の文字と同様に扱う。
\81\99ã\81ªã\82\8fã\81¡ã\80\81ã\81\9dã\81\86ã\81\97ã\81\9fã\82\82ã\81®ã\82\82 1 ã\83\90ã\82¤ã\83\88ã\82\92å\8d ã\82\81ã\82\8bã\80\82å\87ºå\8a\9bç\94¨ã\81®ã\83\87ã\83ªã\83\9fã\82¿ (delimiterã\80\81å\8cºå\88\87ã\82\8aã\81®å\8d°)
+が指定されている場合は (@option{--output-delimiter} の説明を参照)、
+選択されたバイトからなる範囲同士の間にデリミタ文字列を出力する。
 
 @item -c @var{character-list}
 @itemx --characters=@var{character-list}
 @opindex -c
 @opindex --characters
 @var{character-list} で指定された位置にある文字のみを選択して、表示する。
-現在のところ、@option{-b} と同じだが、プログラムの国際化が進むと、動作が
¤\89ã\82\8fã\82\8bã\81\93ã\81¨ã\81«ã\81ªã\82\8bã\81 ã\82\8dã\81\86ã\80\82ã\82¿ã\83\96ã\82\84ã\83\90ã\83\83ã\82¯ã\82¹ã\83\9aã\83¼ã\82¹ã\82\82ä»\96ã\81®æ\96\87å­\97ã\81¨å\90\8cæ§\98ã\81«
-扱う。すなわち、そうしたものも 1 文字と数える。出力用のデリミタが
-指定されている場合は (@option{--output-delimiter} の説明を参照)、選択
-された文字からなる範囲同士の間にデリミタ文字列を出力する。
+現在のところ、@option{-b} と同じだが、プログラムの国際化が進むと、
\8b\95ä½\9cã\81\8cå¤\89ã\82\8fã\82\8bã\81\93ã\81¨ã\81«ã\81ªã\82\8bã\81 ã\82\8dã\81\86ã\80\82ã\82¿ã\83\96ã\82\84ã\83\90ã\83\83ã\82¯ã\82¹ã\83\9aã\83¼ã\82¹ã\82\82ä»\96ã\81®æ\96\87å­\97ã\81¨å\90\8cæ§\98ã\81«æ\89±ã\81\86ã\80\82
+すなわち、そうしたものも 1 文字と数える。
+出力用のデリミタが指定されている場合は (@option{--output-delimiter} の説明を参照)、
+選択された文字からなる範囲同士の間にデリミタ文字列を出力する。
 
 @item -f @var{field-list}
 @itemx --fields=@var{field-list}
 @opindex -f
 @opindex --fields
 @var{field-list} で指定されたフィールドのみを選択して、表示する。
-フィールドの区切りは、デフォルトではタブ文字 1 個である。なお、
-@option{--only-delimited} (@option{-s}) オプションが指定されていない場合は、
+フィールドの区切りは、デフォルトではタブ文字 1 個である。
+なお、@option{--only-delimited} (@option{-s}) オプションが指定されていない場合は、
 デリミタ文字を全く含まない行も表示する。
 
-一言言っておくと、@command{awk} を使えば、もっと洗練されたフィールド処理が
-可能になる。また、@command{awk} ならデフォルトで、フィールドの区切りに空白
-文字の連続を使用し (すなわち、フィールドの前後から除去し)、さらに、
-行頭と行末の空白を無視してくれるだろう。
+一言言っておくと、@command{awk} を使えば、もっと洗練されたフィールド処理ができるようになる。
+たとえば、フィールドの順番を入れ替える、
+空白文字を入れて列が揃うようにしたフィールドを取り扱う、そういったことが可能になる。
+@command{awk} ならデフォルトで、フィールドの区切りに空白文字の連続を使用し
+(そして、フィールドの前後から除去し)、さらに、行頭と行末の空白を無視してくれるのだ。
 @example
 @verbatim
 awk '{print $2}'      # 2 番目のフィールドを表示する
@@ -6365,10 +6190,12 @@ awk '{print $(NF-1)}' # 最後から 2 番目のフィールドを表示する
 awk '{print $2,$1}'   # 最初の 2 フィールドを逆に並べる
 @end verbatim
 @end example
+@command{cut} では、任意の順番でフィールドを指定することができるが、
+出力は常にファイル中で出会った順番であることに注意していただきたい。
 
-ありそうにないことだが、@command{awk} が利用できない状況だとしよう。その
-場合は、@command{join} コマンドを使えば、上記で @command{awk} がやっているように
-空白文字を処理することができる。
+ありそうにないことだが、@command{awk} が利用できない状況だとしよう。
+その場合は、@command{join} コマンドを使えば
+上記で @command{awk} がやっているように、空白文字を処理することができる。
 @example
 @verbatim
 join -a1 -o 1.2     - /dev/null # 2 番目のフィールドを表示する
@@ -6380,8 +6207,8 @@ join -a1 -o 1.2,1.1 - /dev/null # 最初の 2 フィールドを逆に並べる
 @itemx --delimiter=@var{input_delim_byte}
 @opindex -d
 @opindex --delimiter
-@option{-f} と併せて使うと、入力のフィールド区切りに @var{input_delim_byte} の
-最初のバイトを使用する (デフォルトはタブ)。
+@option{-f} と併せて使うと、入力のフィールド区切りに @var{input_delim_byte}
+の最初のバイトが使用される (デフォルトはタブ)。
 
 @item -n
 @opindex -n
@@ -6392,25 +6219,25 @@ join -a1 -o 1.2,1.1 - /dev/null # 最初の 2 フィールドを逆に並べる
 @opindex -s
 @opindex --only-delimited
 @option{-f} を使うとき、フィールド区切り文字を含まない行の表示をしない。
-通常は、フィールド区切り文字を含まない行は、行全体がそのまま表示
-される。
+通常は、フィールド区切り文字を含まない行は、行全体がそのまま表示される。
 
 @item --output-delimiter=@var{output_delim_string}
 @opindex --output-delimiter
-@option{-f} と一緒に使った場合は、出力フィールド間が @var{output_delim_string}
-で区切られる。@option{-f} を指定したときのデフォルトは、入力時のデリミタを
-使用することである。@option{-b} や @option{-c} を使用して、(フィールドの範囲では
-なく) バイト位置や文字位置の範囲を選択した場合は、選択されたバイト
-の重なり合わない範囲同士の間に @var{output_delim_string} が出力される。
+@option{-f} と一緒に使った場合は、出力フィールド間が
+@var{output_delim_string} で区切られる。
+@option{-f} を指定したときのデフォルトは、入力時のデリミタを使用することである。
+@option{-b} や @option{-c} を使用して、(フィールドの範囲ではなく)
+バイト位置や文字位置の範囲を選択した場合は、
+選択されたバイトの重なり合わない範囲同士の間に @var{output_delim_string} が出力される。
 
 @item --complement
 @opindex --complement
-このオプションは GNU の拡張である。@option{-b}, @option{-c}, @option{-f} オプションで
-選択されたバイト、文字、フィールドを含まない部分を選択して、表示する。
-言い換えれば、そうしたオプションによって指定されたバイトや文字や
\83\95ã\82£ã\83¼ã\83«ã\83\89ã\81¯ã\80\8c表示ã\81\97ã\81ªã\81\84ã\80\8dã\81¨ã\81\84ã\81\86ã\81\93ã\81¨ã\81 ã\80\82ã\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯ã\80\81ã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\81\8c
-たくさんあるとき、そのうちの一部を除いたすべてを表示したい場合に
-便利である。
+このオプションは GNU の拡張である。@option{-b}, @option{-c}, @option{-f}
+オプションで選択されたバイト、文字、フィールドを含まない部分を選択して、表示する。
+言い換えれば、そうしたオプションによって指定されたバイトや文字やフィールドは「表示しない」ということだ。
\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯ã\80\81ã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\81\8cã\81\9fã\81\8fã\81\95ã\82\93ã\81\82ã\82\8bã\81¨ã\81\8dã\80\81ã\81\9dã\81®ã\81\86ã\81¡ã\81®ä¸\80é\83¨ã\82\92é\99¤ã\81\84ã\81\9fã\81\99ã\81¹ã\81¦ã\82\92表示ã\81\97ã\81\9fã\81\84å ´å\90\88ã\81«ä¾¿å\88©ã\81§ã\81\82ã\82\8bã\80\82
+
+@optZeroTerminated
 
 @end table
 
@@ -6423,10 +6250,10 @@ join -a1 -o 1.2,1.1 - /dev/null # 最初の 2 フィールドを逆に並べる
 @pindex paste
 @cindex merging files
 
-@command{paste} は、指定された各ファイルの行番号が同じ行を、タブ文字を
-間にはさんで連結して、標準出力に書き出す。入力ファイルが全く
-指定されていない場合や、ファイル名が @samp{-} だった場合は、標準入力が
-使用される。
+@command{paste} は、指定された各ファイルの行番号が同じ行を、
+タブ文字を間にはさんで連結して、標準出力に書き出す。
+入力ファイルが全く指定されていない場合や、ファイル名が @samp{-} だった場合は、
+標準入力が使用される。
 
 書式:
 
@@ -6484,9 +6311,9 @@ $ seq 4 | paste -d ' ' - -
 @itemx --serial
 @opindex -s
 @opindex --serial
-各ファイルから 1 行づつ取り出して連結するのではなく、一つの
-ファイルのすべての行をまとめて 1 行に連結する。上の例のデータを
-使用すると、
+各ファイルから 1 行づつ取り出して連結するのではなく、
+一つのファイルのすべての行をまとめて 1 行に連結する。
¸\8aã\81®ä¾\8bã\81®ã\83\87ã\83¼ã\82¿ã\82\92使ç\94¨ã\81\99ã\82\8bã\81¨ã\80\81
 
 @example
 $ paste -s num2 let3
@@ -6498,9 +6325,9 @@ a       b       c
 @itemx --delimiters=@var{delim-list}
 @opindex -d
 @opindex --delimiters
-連結する行の区切りに、タブではなく、@var{delim-list} の各文字を順番に
-使用する。@var{delim-list} を使い切ってしまった場合は、最初の文字に
-戻って使用して行く。上記のデータを例に取ると、
+連結する行の区切りに、タブではなく、@var{delim-list} の各文字を順番に使用する。
+@var{delim-list} を使い切ってしまった場合は、最初の文字に戻って使用して行く。
+上記のデータを例に取ると、
 
 @example
 $ paste -d '%_' num2 let3 num2
@@ -6509,6 +6336,8 @@ $ paste -d '%_' num2 let3 num2
 %c_
 @end example
 
+@optZeroTerminated
+
 @end table
 
 @exitstatus
@@ -6520,44 +6349,40 @@ $ paste -d '%_' num2 let3 num2
 @pindex join
 @cindex common field, joining on
 
-@command{join} は、二つの入力ファイルを対象に、同一の共通フィールド (join
-field) を持つことで「対」になっている各行を、1 行にまとめて、標準出力
-に書き出す。
-@sp 1
+@command{join} は、二つの入力ファイルを対象に、同一の共通フィールド
+(join field) を持つことで「対」になっている各行を、
+1 行にまとめて、標準出力に書き出す。
+
 書式:
 
 @example
 join [@var{option}]@dots{} @var{file1} @var{file2}
 @end example
 
-@var{file1} と @var{file2} の片方は @samp{-}、すなわち標準入力であってもよい (両方とも
-標準入力は不可)。@var{file1} と @var{file2} は、共通フィールドに基づいてソートされて
-いるべきである。
+@var{file1} と @var{file2} の片方は @samp{-}、すなわち標準入力であってもよい
+(両方とも標準入力は不可)。@var{file1} と @var{file2} は、
+共通フィールドに基づいてソートされているべきである。
 
 @vindex LC_COLLATE
-通常、ソート順は、@env{LC_COLLATE} のロケールが規定している照合順序で
-ある。@option{-t} オプションが指定されていない場合は、両ファイルについて
-並び方を比較する際、@code{sort -b} の場合と同様に、共通フィールドの先頭に
-ある空白が無視される。また、@option{--ignore-case} が指定されている場合は、
-@code{sort -f} と同様、共通フィールドでアルファベットの大文字と小文字は
-区別されない。
-
-@command{sort} の出力を @command{join} に渡すなら、@command{sort} と @command{join}
-が使用する
-ロケールやオプションは首尾一貫していなければならない。@samp{sort -k 1b,1}
-のようなコマンドを使用すれば、デフォルトの共通フィールドに基づいて、
-ファイルをソートすることができる。しかし、ロケール、共通フィールド、
-区切り記号、比較オプションなどにデフォルト以外のものを使用する場合は、
-@command{join} と @command{sort} の間で矛盾が起きないように、そうしたものを選択
-しなければならないのだ。@samp{join -t ''} が指定された場合は、行全体が共通
-フィールドとして考慮の対象になるが、これは、sort のデフォルトの動作に
-対応している。
+通常、ソート順は、@env{LC_COLLATE} のロケールが規定している照合順序である。
+@option{-t} オプションが指定されていない場合は、両ファイルについて並び方を比較する際、
+@code{sort -b} の場合と同様に、共通フィールドの先頭にある空白が無視される。
+また、@option{--ignore-case} が指定されている場合は、
+@code{sort -f} と同様、共通フィールドでアルファベットの大文字と小文字は区別されない。
+
+@command{sort} の出力を @command{join} に渡すなら、@command{sort} と
+@command{join} が使用するロケールやオプションは首尾一貫していなければならない。
+@samp{sort -k 1b,1} のようなコマンドを使用すれば、
+デフォルトの共通フィールドに基づいて、ファイルをソートすることができる。
+しかし、ロケール、共通フィールド、区切り記号、比較オプションなどにデフォルト以外のものを使用する場合は、
+@command{join} と @command{sort} の間で矛盾が起きないように、そうしたものを選択しなければならないのだ。
+@samp{join -t ''} が指定された場合は、行全体が共通フィールドとして考慮の対象になるが、
+これは、sort のデフォルトの動作に対応している。
 
 入力のすべての行が対になっている場合は、GNU による拡張が利用できる。
-この場合、並んでいる順番は、対になる二つのフィールドが同じであると判断
-されるならば、どんな順番でもよい。ただし、並び方の比較を上述のように
-行ったとき、二つのフィールドが同じだと判断される場合であり、その場合
-のみである。例を挙げよう。
+この場合、並んでいる順番は、対になる二つのフィールドが同じであると判断されるならば、どんな順番でもよい。
+ただし、並び方の比較を上述のように行ったとき、二つのフィールドが同じだと判断される場合であり、
+その場合のみである。例を挙げよう。
 
 @example
 $ cat file1
@@ -6594,40 +6419,40 @@ b b1 b2
 
 @item -a @var{file-number}
 @opindex -a
-@var{file-number} (@samp{1} か @samp{2}) のファイルに、もう一方のファイルと対に
-ならない行がある場合、通常の出力のほかに、その行も表示する。
+@var{file-number} (@samp{1} か @samp{2}) のファイルに、もう一方のファイルと対にならない行がある場合、
+通常の出力のほかに、その行も表示する。
 
 @item --check-order
 入力ファイルのどちらかの内容がきちんとソートされていないと、
 エラーメッセージを出して、実行に失敗する。
 
 @item --nocheck-order
-入力ファイルの内容がソートされた順番になっているかどうかを、どちらの
-ファイルについてもチェックしない。これが、デフォルトである。
+入力ファイルの内容がソートされた順番になっているかどうかを、
\81©ã\81¡ã\82\89ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81«ã\81¤ã\81\84ã\81¦ã\82\82ã\83\81ã\82§ã\83\83ã\82¯ã\81\97ã\81ªã\81\84ã\80\82ã\81\93ã\82\8cã\81\8cã\80\81ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81§ã\81\82ã\82\8bã\80\82
 
 @item -e @var{string}
 @opindex -e
-入力では欠けているフィールドを、出力では @var{string} で補う。すなわち、
\82ªã\83\97ã\82·ã\83§ã\83³ @option{-1}, @option{-2}, @option{-j}, @option{-o} ã\81ªã\81©ã\82\92æ\8c\87å®\9aã\81\97ã\81\9fã\81¨ã\81\8dã\81«ã\80\81欠ã\81\91ã\81¦ã\81\84ã\82\8b
-フィールドがそれに当たる。
+入力では欠けているフィールドを、出力では @var{string} で補う。
\81\99ã\81ªã\82\8fã\81¡ã\80\81ã\82ªã\83\97ã\82·ã\83§ã\83³ @option{-1}, @option{-2}, @option{-j}, @option{-o}
\81ªã\81©ã\82\92æ\8c\87å®\9aã\81\97ã\81\9fã\81¨ã\81\8dã\81«ã\80\81欠ã\81\91ã\81¦ã\81\84ã\82\8bã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\81\8cã\81\9dã\82\8cã\81«å½\93ã\81\9fã\82\8bã\80\82
 
 @item --header
 @opindex --header
 各入力ファイルの最初の行をヘッダ行と見なす。ヘッダ行も結合され、
-最初の出力行として表示される。@option{-o} を使って、出力フォーマットを
-指定している場合は、ヘッダ行もそのフォーマットに従って出力される。
-ヘッダ行は、@option{--check-order} が指定されていても、並び順のチェックを
-受けない。なお、両ファイルのヘッダ行がマッチしない場合は、一番目の
-ファイルのヘッダ・フィールドが使用される。
+最初の出力行として表示される。@option{-o} を使って、出力フォーマットを指定している場合は、
+ヘッダ行もそのフォーマットに従って出力される。
+ヘッダ行は、@option{--check-order} が指定されていても、並び順のチェックを受けない。
+なお、両ファイルのヘッダ行がマッチしない場合は、
+一番目のファイルのヘッダ・フィールドが使用される。
 
 @item -i
 @itemx --ignore-case
 @opindex -i
 @opindex --ignore-case
-キーを比較する際、アルファベットの大文字小文字を区別しない。この
\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92使ç\94¨ã\81\99ã\82\8bã\81¨ã\81\8dã\81¯ã\80\81両æ\96¹ã\81®å\85¥å\8a\9bã\83\95ã\82¡ã\82¤ã\83«ã\81®è¡\8cã\81\8cã\80\81å\90\8cã\81\98ã\82\88ã\81\86ã\81«
-大文字小文字を区別せず並んでいなければならない。そうした順番で並
-べるには、@samp{sort -f} を使えばよい。
+キーを比較する際、アルファベットの大文字小文字を区別しない。
\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92使ç\94¨ã\81\99ã\82\8bã\81¨ã\81\8dã\81¯ã\80\81
+両方の入力ファイルの行が、同じように大文字小文字を区別せず並んでいなければならない。
\81\9dã\81\86ã\81\97ã\81\9fé \86ç\95ªã\81§ä¸¦ã\81¹ã\82\8bã\81«ã\81¯ã\80\81@samp{sort -f} ã\82\92使ã\81\88ã\81°ã\82\88ã\81\84ã\80\82
 
 @item -1 @var{field}
 @opindex -1
@@ -6644,48 +6469,49 @@ b b1 b2
 
 @item -o @var{field-list}
 @itemx -o auto
-キーワードの @samp{auto} が指定されると、@command{join} は各ファイルの最初の
-行を元にして、出力フォーマットを推測する。それは、デフォルトの
-出力フォーマットとほぼ同じだが、それだけでなく、各行に必ず同数の
-フィールドを出力するようにする。また、欠けているフィールドがあれば、
-@option{-e} オプションの指定する文字列で補う。余分なフィールドは除去する。
-
-@samp{auto} が指定されていない場合は、@var{field-list} のフォーマットに従っ
-て、各出力行を構成する。@var{field-list} の各要素は、@samp{0} 一文字か、@var{m.n}
-という形を取る。ここで、@var{m} はファイル番号であり、@samp{1} か @samp{2} である。
-@var{n} はフィールド番号であり、正の整数である。
-
-@samp{0} というフィールド指定は、共通フィールドを指している。ほとんどの
-場合、@samp{0} というフィールド指定と同じことが、共通フィールドを明示的
-に @var{m.n} で示すことでも、実現できるだろう。しかしながら、(@option{-a} オプ
-ションなり @option{-v} オプションなりを使用して)、対にならない行を表示
-する場合、対にならない行が両方のファイルに存在すると、@var{field-list} で
-@var{m.n} をどう使おうとも、共通フィールドを指定できないのだ。@command{join} で
-共通フィールドの指定が常に可能になるように、POSIX は @samp{0} という
-フィールド指定法を考案したのである。
-
-@var{field-list} の各要素は、コンマ、または空白で区切られる。区切りに空白
-を使用するときは、シェルによって解釈されないように、たいていの場合
-引用符で囲む必要がある。たとえば、コマンド @samp{join -o 1.2,2.2} と
-@samp{join -o '1.2 2.2'} は、同じ動作になる。
+キーワードの @samp{auto} が指定されると、
+@command{join} は各ファイルの最初の行を元にして、出力フォーマットを推測する。
+それは、デフォルトの出力フォーマットとほぼ同じだが、
+それだけでなく、各行に必ず同数のフィールドを出力するようにする。
+また、欠けているフィールドがあれば、@option{-e} オプションの指定する文字列で補う。
+余分なフィールドは除去する。
+
+@samp{auto} が指定されていない場合は、@var{field-list} のフォーマットに従って、
+各出力行を構成する。@var{field-list} の各要素は、@samp{0} 一文字か、@var{m.n}
+という形を取る。ここで、@var{m} はファイル番号 (@var{file-number}) であり、@samp{1}
+か @samp{2} である。@var{n} はフィールド番号であり、正の整数である。
+
+@samp{0} というフィールド指定は、共通フィールドを指している。ほとんどの場合、
+@samp{0} というフィールド指定と同じことが、共通フィールドを明示的に
+@var{m.n} で示すことでも、実現できるだろう。しかしながら、(@option{-a}
+オプションなり @option{-v} オプションなりを使用して)、対にならない行を表示する場合、
+対にならない行が両方のファイルに存在すると、@var{field-list} で @var{m.n}
+をどう使おうとも、共通フィールドを指定できないのだ。@command{join}
+で共通フィールドの指定が常に可能になるように、POSIX は @samp{0}
+というフィールド指定法を考案したのである。
+
+@var{field-list} の各要素は、コンマ、または空白で区切られる。
+区切りに空白を使用するときは、シェルによって解釈されないように、
+たいていの場合引用符で囲む必要がある。たとえば、コマンド @samp{join -o 1.2,2.2}
+と @samp{join -o '1.2 2.2'} は、同じ動作になる。
 
 @var{field-list} の指定は、すべての出力行に適用される。これは、@option{-a} や
 @option{-v} オプションによって出力されるものにも当てはまる。
 
 @item -t @var{char}
-入出力のフィールドの区切りに、文字 @var{char} を使用する。@var{char} は、入力
-ファイルに現れる一つ一つが、有意なものとして扱われる。@samp{sort -t @var{char}}
-を @option{-b} なしで実行すれば、このオプションに対応する順序に行を
-並べることができる。@samp{join -t ''} を指定すると、行全体が共通フィー
-ルドとして考慮の対象になり、これは sort のデフォルトの動作に対応
\81\97ã\81¦ã\81\84ã\82\8bã\80\82@samp{-t '\0'} ã\82\92æ\8c\87å®\9aã\81\99ã\82\8bã\81¨ã\80\81ASCII NUL æ\96\87å­\97ã\81\8cã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\81®
-区切りに使用される。
+入出力のフィールドの区切りに、文字 @var{char} を使用する。
+@var{char} は、入力ファイルに現れる一つ一つが、有意なものとして扱われる。
+@samp{sort -t @var{char}} を @option{-b} なしで実行すれば、
+このオプションに対応する順序に行を並べることができる。
+@samp{join -t ''} を指定すると、行全体が共通フィールドとして考慮の対象になり、
\81\93ã\82\8cã\81¯ sort ã\81®ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81®å\8b\95ä½\9cã\81«å¯¾å¿\9cã\81\97ã\81¦ã\81\84ã\82\8bã\80\82
+@samp{-t '\0'} を指定すると、ASCII NUL 文字がフィールドの区切りに使用される。
 
 @item -v @var{file-number}
-通常の出力はせず、@var{file-number} (@samp{1} か @samp{2} である) のファイルに存在
-する、対にならない各行を表示する。
+通常の出力はせず、@var{file-number} (@samp{1} か @samp{2} である)
\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81«å­\98å\9c¨ã\81\99ã\82\8bã\80\81対ã\81«ã\81ªã\82\89ã\81ªã\81\84å\90\84è¡\8cã\82\92表示ã\81\99ã\82\8bã\80\82
 
-@zeroTerminatedOption
+@optZeroTerminated @newlineFieldSeparator
 
 @end table
 
@@ -6717,8 +6543,8 @@ b b1 b2
 tr [@var{option}]@dots{} @var{set1} [@var{set2}]
 @end example
 
-@command{tr} は標準入力を標準出力にコピーするが、その際に次の操作の一つを
-行う。
+@command{tr} は標準入力を標準出力にコピーするが、
+その際に次の操作の一つを行う。
 
 @itemize @bullet
 @item
@@ -6738,28 +6564,26 @@ tr [@var{option}]@dots{} @var{set1} [@var{set2}]
 と呼ばれることになるそうした文字集合こそ、入力中に存在する文字のうちで
 @command{tr} が操作の対象とする文字群である。@option{--complement} (@option{-c},
 @option{-C})
-オプションを指定すると、@var{set1} の代わりにその補集合 (@var{set1} に含まれない
-すべての文字) が使われることになる。
-
-現在のところ、@command{tr} が完全に対応しているのは、シングルバイト文字
-だけである。将来は、マルチバイト文字もサポートすることになるだろうが、
-そのときは、@option{-C} オプションで文字集合の補集合を作り、@option{-c} オプションで
-値 (訳注: いわゆる文字コード) の集合の補集合を作ることになるだろう。
-この区別が意味を持つのは、指定する値の中に文字ではないものがあるとき
-だけだが、そういった事態は、マルチバイト・エンコーディングを使用して
-いるロケールで、入力にエンコーディング・エラーが含まれるときしか起き
-そうにない。
+オプションを指定すると、@var{set1} の代わりにその補集合
+(@var{set1} に含まれないすべての文字) が使われることになる。
+
+現在のところ、@command{tr} が完全に対応しているのは、シングルバイト文字だけである。
+将来は、マルチバイト文字もサポートすることになるだろうが、
+そのときは、@option{-C} オプションで文字集合の補集合を作り、@option{-c}
+オプションで値 (訳注: いわゆる文字コード) の集合の補集合を作ることになるだろう。
+この区別が意味を持つのは、指定する値の中に文字ではないものがあるときだけだが、
+そういった事態は、マルチバイト・エンコーディングを使用しているロケールで、
+入力にエンコーディング・エラーが含まれるときしか起きそうにない。
 
 このプログラムでは、@option{--help} や @option{--version} オプションも使える。
-@xref{Common options}. なお、オプションは、オペランドの前で指定しなけ
-ればならない。
+@xref{Common options}. なお、オプションは、オペランドの前で指定しなければならない。
 
 @exitstatus
 
 @menu
 * Character sets::           文字集合の指定。
 * Translating::              ある文字集合の別の文字集合への変換。
-* Squeezing::                連続する同一文字の圧縮と文字の削除。
+* Squeezing and deleting::   文字の削除。
 @end menu
 
 
@@ -6768,10 +6592,11 @@ tr [@var{option}]@dots{} @var{set1} [@var{set2}]
 
 @cindex specifying sets of characters
 
-@var{set1} や @var{set2} 引数の書式は、正規表現の書式に似ているが、正規表現では
-なく、文字のリストにすぎない。そうした文字列中のほとんどの文字は、単に
-その文字自身を表しているだけだが、便宜のため文字列中では以下に列挙する
-簡易記法も使うことができる。簡易記法によっては、以下で述べているように、
+@var{set1} や @var{set2} 引数の書式は、正規表現の書式に似ているが、
+正規表現ではなく、文字のリストにすぎない。
+そうした文字列中のほとんどの文字は、単にその文字自身を表しているだけだが、
+便宜のため文字列中では以下に列挙する簡易記法も使うことができる。
+簡易記法によっては、以下で述べているように、
 @var{set1} と @var{set2} のどちらか一方でしか使えないこともある。
 
 @table @asis
@@ -6797,68 +6622,69 @@ Control-I (水平タブ).
 @item \v
 Control-K (垂直タブ).
 @item \@var{ooo}
-1 から 3 桁の 8 進数 @var{ooo} によって表される値を持つ 8 ビット
-文字。@samp{\400} は、@samp{\040} @samp{0} という連続する 2 バイトに解釈
-されるので、注意すること。
+1 から 3 桁の 8 進数 @var{ooo} によって表される値を持つ 8 ビット文字。
+@samp{\400} は、@samp{\040} @samp{0}
\81¨ã\81\84ã\81\86é\80£ç¶\9aã\81\99ã\82\8b 2 ã\83\90ã\82¤ã\83\88ã\81«è§£é\87\88ã\81\95ã\82\8cã\82\8bã\81®ã\81§ã\80\81注æ\84\8fã\81\99ã\82\8bã\81\93ã\81¨ã\80\82
 @item \\
 1 個のバックスラッシュ。
 @end table
 
-上記以外の 1 個の文字がバックスラッシュに続く場合は、その文字
-として解釈される。またバックスラッシュには、特別な意味を打ち消す
-働きもあるので、@samp{[}, @samp{]}, @samp{*}, @samp{-} をエスケープするのにも使用
-できる。
+上記以外の 1 個の文字がバックスラッシュに続く場合は、その文字として解釈される。
+またバックスラッシュには、特別な意味を打ち消す働きもあるので、
+@samp{[}, @samp{]}, @samp{*}, @samp{-} をエスケープするのにも使用できる。
 
 @item 範囲指定
 @cindex ranges
 
-@samp{@var{m}-@var{n}} という表記は、昇順で @var{m} から @var{n} までのすべての文字に展開
-される。@var{m} は文字の照合順序で @var{n} より前のものでなければならず、
+@samp{@var{m}-@var{n}} という表記は、昇順で @var{m} から @var{n} までのすべての文字に展開される。
+@var{m} は文字の照合順序で @var{n} より前のものでなければならず、
 さもないと、エラーになる。たとえば、@samp{0-9} は @samp{0123456789}
 と同じである。
 
-System V の書式では、範囲は、角カッコ (square brackets)を使って
-囲むことになっているが、GNU の @command{tr} はこの書式をサポートして
-いない。System V の書式で指定した場合でも、置換が期待どおり行われる
\81\93ã\81¨ã\82\82ã\81\82ã\82\8bã\81\8cã\80\81ã\81\9dã\82\8cã\81¯ã\80\81ã\81\9fã\81\84ã\81¦ã\81\84ã\81®å ´å\90\88ã\80\81è§\92ã\82«ã\83\83ã\82³ã\81\8cè§\92ã\82«ã\83\83ã\82³ã\81«ç½®æ\8f\9bã\81\95ã\82\8cã\82\8b
\81\8bã\82\89ã\81§ã\81\82ã\82\8bã\80\82ã\81\9dã\81\86ã\81 ã\81¨ã\81\97ã\81¦ã\82\82ã\80\81äº\88æ\83³å¤\96ã\81®å\8b\95ä½\9cã\82\92ã\81\99ã\82\8bã\81\93ã\81¨ã\82\82ã\81\82ã\82\8bã\81®ã\81§ã\80\81
-角カッコの使用は避けた方がよい。たとえば、@samp{tr -d '[0-9]'} は、数字
-だけでなく、角カッコも削除してしまう。
+System V の書式では、範囲は、角カッコ (square brackets)を使って囲むことになっているが、
+GNU の @command{tr} はこの書式をサポートしていない。
+System V の書式で指定した場合でも、置換が期待どおり行われることもあるが、
\81\9dã\82\8cã\81¯ã\80\81ã\81\9fã\81\84ã\81¦ã\81\84ã\81®å ´å\90\88ã\80\81è§\92ã\82«ã\83\83ã\82³ã\81\8cè§\92ã\82«ã\83\83ã\82³ã\81«ç½®æ\8f\9bã\81\95ã\82\8cã\82\8bã\81\8bã\82\89ã\81§ã\81\82ã\82\8bã\80\82
+そうだとしても、予想外の動作をすることもあるので、
+角カッコの使用は避けた方がよい。たとえば、@samp{tr -d '[0-9]'}
\81¯ã\80\81æ\95°å­\97ã\81 ã\81\91ã\81§ã\81ªã\81\8fã\80\81è§\92ã\82«ã\83\83ã\82³ã\82\82å\89\8aé\99¤ã\81\97ã\81¦ã\81\97ã\81¾ã\81\86ã\80\82
 
-昔からよく使われている範囲の指定法の多くが --- 正しい用法として
-認められているものでさえ --- 他のシステムで使えるとはかぎらない。
+昔からよく使われている範囲の指定法の多くが
+--- 正しい用法として認められているものでさえ --- 他のシステムで使えるとはかぎらない。
 たとえば、EBCDIC のホストでは、 @samp{A-Z} という範囲の指定をしても、
-たいていの人が予想するような結果は得られないだろう。なぜなら、
\81\9dã\81\93ã\81§ã\81¯ @samp{A} ã\81\8bã\82\89 @samp{Z} ã\81¾ã\81§ã\81\8cã\80\81ASCII ã\81«ã\81\8aã\81\91ã\82\8bã\82\88ã\81\86ã\81«é\9a£ã\82\8aå\90\88ã\81£ã\81¦ã\81¯
\81\84ã\81ªã\81\84ã\81\8bã\82\89ã\81§ã\81\82ã\82\8bã\80\82POSIX æº\96æ\8b ã\81® @command{tr} ã\82\92使ã\81\86ã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\81ªã\82\89ã\81°ã\80\81
-この問題を回避する最善の方法は、文字クラスを使用することである
+たいていの人が予想するような結果は得られないだろう。
\81ªã\81\9cã\81ªã\82\89ã\80\81ã\81\9dã\81\93ã\81§ã\81¯ @samp{A} ã\81\8bã\82\89 @samp{Z} ã\81¾ã\81§ã\81\8cã\80\81ASCII
\81«ã\81\8aã\81\91ã\82\8bã\82\88ã\81\86ã\81«é\9a£ã\82\8aå\90\88ã\81£ã\81¦ã\81¯ã\81\84ã\81ªã\81\84ã\81\8bã\82\89ã\81§ã\81\82ã\82\8bã\80\82POSIX æº\96æ\8b ã\81® @command{tr}
\82\92使ã\81\86ã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\81ªã\82\89ã\81°ã\80\81ã\81\93ã\81®å\95\8fé¡\8cã\82\92å\9b\9eé\81¿ã\81\99ã\82\8bæ\9c\80å\96\84ã\81®æ\96¹æ³\95ã\81¯ã\80\81æ\96\87å­\97ã\82¯ã\83©ã\82¹ã\82\92使ç\94¨ã\81\99ã\82\8bã\81\93ã\81¨ã\81§ã\81\82ã\82\8b
 (下記参照)。それができない場合は、範囲の要素を一つ一つ書き込むのが、
 一番可搬性のある方法だ (一番野暮ったい方法でもあるけれど)。
 
 @item 文字の繰り返し
 @cindex repeated characters
 
-@var{set2} における @samp{[@var{c}*@var{n}]} という表記は、文字 @var{c} の @var{n} 個の連続に展開
-される。従って、@samp{[y*6]} は @samp{yyyyyy} と同じである。また、@var{set2} に
-おける @samp{[@var{c}*]} という表記は、@var{set2} を @var{set1} と同じ長さにするのに
-必要な数の @var{c} の連続に展開される。@var{n} が @samp{0} で始まっている場合は、
+@var{set2} における @samp{[@var{c}*@var{n}]} という表記は、
+文字 @var{c} の @var{n} 個の連続に展開される。
+従って、@samp{[y*6]} は @samp{yyyyyy} と同じである。また、@var{set2}
+における @samp{[@var{c}*]} という表記は、@var{set2} を @var{set1}
+と同じ長さにするのに必要な数の @var{c} の連続に展開される。
+@var{n} が @samp{0} で始まっている場合は、
 8 進数として扱われる。それ以外の場合は、10 進数である。
 
 @item 文字クラス
 @cindex character classes
 
 @samp{[:@var{class}:]} という表記は、(あらかじめ定義されている) 文字クラス
-@var{class} に属するすべての文字に展開される。展開された文字に特定の
-順序はないが、@code{upper} と @code{lower} の文字クラスは別で、この二つは、
-昇順に展開される。@option{--delete} (@option{-d}) と @option{--squeeze-repeats}
-(@option{-s})
-オプションの両方を指定している場合は、@var{set2} で任意の文字クラスを
-使用することができる。それ以外の場合 @var{set2} で使えるのは、@code{lower}
\81¨ @code{upper} ã\81®æ\96\87å­\97ã\82¯ã\83©ã\82¹ã\81 ã\81\91ã\81§ã\81\82ã\82\8aã\80\81ã\81\9dã\82\8cã\82\82ã\80\81対å¿\9cã\81\99ã\82\8bæ\96\87å­\97ã\82¯ã\83©ã\82¹ã\82\92
-(すなわち、@code{upper} に対しては @code{lower}、@code{lower} に対しては @code{upper}
-を)、@var{set1} の対応する位置で指定しているときだけである。その場合は、
-大文字小文字の変換を指定していることになるわけだ。以下に文字クラス
-の名前を列挙する。なお、無効なクラス名を指定すると、エラーになる。
+@var{class} に属するすべての文字に展開される。
+展開された文字に特定の順序はないが、@code{upper} と @code{lower}
+の文字クラスは別で、この二つは、昇順に展開される。
+@option{--delete} (@option{-d}) と @option{--squeeze-repeats} (@option{-s})
+オプションの両方を指定している場合は、@var{set2} で任意の文字クラスを使用することができる。
+それ以外の場合 @var{set2} で使えるのは、@code{lower} と @code{upper}
\81®æ\96\87å­\97ã\82¯ã\83©ã\82¹ã\81 ã\81\91ã\81§ã\81\82ã\82\8aã\80\81ã\81\9dã\82\8cã\82\82ã\80\81対å¿\9cã\81\99ã\82\8bæ\96\87å­\97ã\82¯ã\83©ã\82¹ã\82\92 (ã\81\99ã\81ªã\82\8fã\81¡ã\80\81@code{upper}
+に対しては @code{lower}、@code{lower} に対しては @code{upper} を)、
+@var{set1} の対応する位置で指定しているときだけである。
+その場合は、大文字小文字の変換を指定していることになるわけだ。
+以下に文字クラスの名前を列挙する。なお、無効なクラス名を指定すると、エラーになる。
 
 @table @code
 @item alnum
@@ -6878,15 +6704,14 @@ System V の書式では、範囲は、角カッコ (square brackets)を使っ
 数字。
 @item graph
 @opindex graph
-表示可能文字。空白を含まない (訳注: スペースもタブも改行も、
-すなわち、ホワイトスペースを一切含まない)。
+表示可能文字。空白を含まない
+(訳注: スペースもタブも改行も、すなわち、ホワイトスペースを一切含まない)。
 @item lower
 @opindex lower
 アルファベットの小文字。
 @item print
 @opindex print
-表示可能文字。空白を含む (訳注: タブや改行は含まないが、
-スペース (0x20) は含む)。
+表示可能文字。空白を含む (訳注: タブや改行は含まないが、スペース (0x20) は含む)。
 @item punct
 @opindex punct
 句読点 (訳注: 引用符なども含む)。
@@ -6905,12 +6730,11 @@ System V の書式では、範囲は、角カッコ (square brackets)を使っ
 @cindex equivalence classes
 
 @samp{[=@var{c}=]} という書式は、@var{c} と等価な文字のすべてに展開される。
-展開される文字の間に特定の順序はない。等価クラスは、比較的最近の
-発明であり、英語以外のアルファベットをサポートするためのものである。
-しかしながら、等価クラスを定義したり、何が等価クラスに含まれるかを
-決定したりする標準的な方法は存在しないようだ。そのため、GNU の
-@command{tr} は、等価クラスを十分に実装していない。各文字の等価クラスには
-その文字しか含まれていないので、あまり使い道がない。
+展開される文字の間に特定の順序はない。等価クラスは、比較的最近の発明であり、
+英語以外のアルファベットをサポートするためのものである。
+しかしながら、等価クラスを定義したり、何が等価クラスに含まれるかを決定したりする標準的な方法は存在しないようだ。
+そのため、GNU の @command{tr} は、等価クラスを十分に実装していない。
+各文字の等価クラスにはその文字しか含まれていないので、あまり使い道がない。
 
 @end table
 
@@ -6921,21 +6745,22 @@ System V の書式では、範囲は、角カッコ (square brackets)を使っ
 @cindex translating characters
 
 @command{tr} は、@var{set1} と @var{set2} の両方が指定され、@option{--delete}
-(@option{-d}) オプションが
-指定されていない場合は、文字の置換を行う。@command{tr} は入力の中に @var{set1} に存在
-する文字が現れるたびに、それを @var{set2} の対応する文字に置き換える。入力中の
-@var{set1} に存在しない文字は、読み飛ばして、変更しない。ある文字が @var{set1} 中に
-2 個以上存在し、@var{set2} 中のそれに対応する文字がすべて同じでない場合、置換
-に使用するのは、最後の文字だけである。たとえば、次の二つのコマンドは、
-同じ動作をする。
+(@option{-d})
+オプションが指定されていない場合は、文字の置換を行う。
+@command{tr} は入力の中に @var{set1} に存在する文字が現れるたびに、
+それを @var{set2} の対応する文字に置き換える。
+入力中の @var{set1} に存在しない文字は、読み飛ばして、変更しない。
+ある文字が @var{set1} 中に 2 個以上存在し、@var{set2} 中のそれに対応する文字がすべて同じでない場合、
+置換に使用するのは、最後の文字だけである。
+たとえば、次の二つのコマンドは、同じ動作をする。
 
 @example
 tr aaa xyz
 tr a z
 @end example
 
-@command{tr} がよく使われるのは、アルファベットの小文字を大文字に変換する
\81¨ã\81\8dã\81§ã\81\82ã\82\8bã\80\82ã\81\9dã\82\8cã\81«ã\81¯ã\80\81ã\81\84ã\82\8dã\81\84ã\82\8dã\81ªæ\96¹æ³\95ã\81\8cã\81\82ã\82\8bã\80\82ä¾\8bã\82\92ä¸\89ã\81¤ã\81»ã\81©æ\8c\99ã\81\92ã\81¦ã\81¿ã\82\8bã\80\82
+@command{tr} がよく使われるのは、アルファベットの小文字を大文字に変換するときである。
+それには、いろいろな方法がある。例を三つほど挙げてみる。
 
 @example
 tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
@@ -6944,61 +6769,63 @@ tr '[:lower:]' '[:upper:]'
 @end example
 
 @noindent
-ただし、上記の @code{a-z} のような範囲指定の使用は、可搬性がないことに
-注意していただきたい。
+ただし、上記の @code{a-z} のような範囲指定の使用は、
+可搬性がないことに注意していただきたい。
 
 @command{tr} で置換を行う際には、普通 @var{set1} と @var{set2} を同じ長さにする。@var{set1} が
 @var{set2} より短いと、@var{set2} の後尾にある余分な文字が無視されることになる。
 
-逆に、@var{set1} が @var{set2} より長い場合は、可搬性がなくなる。POSIX の規定で
-は、結果は未定義なのだ。こうした場合、BSD の @command{tr} は、@var{set2} の最後の
-文字を必要なだけ繰り返して、@var{set2} が @var{set1} と同じ長さになるようにする。
+逆に、@var{set1} が @var{set2} より長い場合は、可搬性がなくなる。
+POSIX の規定では、結果は未定義なのだ。こうした場合、BSD の @command{tr} は、
+@var{set2} の最後の文字を必要なだけ繰り返して、@var{set2} が @var{set1}
+と同じ長さになるようにする。
 System V の @command{tr} は、@var{set1} を @var{set2} と同じ長さに切り詰める。
 
-デフォルトでは、GNU 版の @command{tr} は、この問題を BSD の @command{tr} と同じ
\82\84ã\82\8aæ\96¹ã\81§å\87¦ç\90\86ã\81\99ã\82\8bã\80\82ã\81\9dã\81\97ã\81¦ã\80\81@option{--truncate-set1} (@option{-t}) ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81\8cæ\8c\87å®\9a
-されている場合のみ、System V の @command{tr} のように処理するのである。
+デフォルトでは、GNU 版の @command{tr} は、この問題を BSD の @command{tr}
\81¨å\90\8cã\81\98ã\82\84ã\82\8aæ\96¹ã\81§å\87¦ç\90\86ã\81\99ã\82\8bã\80\82ã\81\9dã\81\97ã\81¦ã\80\81@option{--truncate-set1} (@option{-t})
\82ªã\83\97ã\82·ã\83§ã\83³ã\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bå ´å\90\88ã\81®ã\81¿ã\80\81System V ã\81® @command{tr} ã\81®ã\82\88ã\81\86ã\81«å\87¦ç\90\86ã\81\99ã\82\8bã\81®ã\81§ã\81\82ã\82\8bã\80\82
 このオプション (@option{--truncate-set1}) は、置換以外の操作では無視される。
 
-この問題で System V の @command{tr} の動作を選ぶと、比較的よく使われる、
-BSD 式の次の慣用表現が使えなくなる。
+この問題で System V の @command{tr} の動作を選ぶと、
+比較的よく使われる BSD 式の次の慣用表現が使えなくなる。
 
 @example
 tr -cs A-Za-z0-9 '\012'
 @end example
 
 @noindent
-なぜなら、System V の動作では、アルファベットと数字以外のすべての文字を
-改行文字に変換するのではなく、ゼロバイトしか (ASCII NUL 文字、それが
-@var{set1} の補集合の最初の要素である) 改行文字に変換しないからだ。
+なぜなら、System V の動作では、アルファベットと数字以外のすべての文字を改行文字に変換するのではなく、
+ゼロバイトしか (ASCII NUL 文字、それが @var{set1} の補集合の最初の要素である)
+改行文字に変換しないからだ。
 
 @noindent
 ちなみに、上記の慣用表現は、システムによってはうまく動作しない。
-なぜなら、範囲指定を使っているからであり、また、改行の 8 進数による
-コードを 012 と決め込んでいるからでもある。@command{tr} が POSIX に準拠して
-いるなら、以下の方が、よりよい書き方である。
+なぜなら、範囲指定を使っているからであり、また、改行の 8 進数によるコードを
+012 と決め込んでいるからでもある。@command{tr} が POSIX に準拠しているなら、
+以下の方が、よりよい書き方である。
 
 @example
 tr -cs '[:alnum:]' '[\n*]'
 @end example
 
 
-@node Squeezing
+@node Squeezing and deleting
 @subsection 連続する文字の圧縮と文字の削除
 
 @cindex squeezing repeat characters
 @cindex deleting characters
+@cindex removing characters
 
-@option{--delete} (@option{-d}) オプションのみが指定された場合、@command{tr} は、@var{set1} に
-存在する文字が入力中にあれば、それを削除する。
+@option{--delete} (@option{-d}) オプションのみが指定された場合、@command{tr} は、
+@var{set1} に存在する文字が入力中にあれば、それを削除する。
 
-@option{--squeeze-repeats} (@option{-s}) ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81®ã\81¿ã\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\81\9få ´å\90\88ã\80\81@command{tr} ã\81¯
-@var{set1} に存在する文字が入力中に連続して現れるたびに、その部分をただ 1 個
-のその文字に置き換える。
+@option{--squeeze-repeats} (@option{-s}) ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81®ã\81¿ã\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\80\81ç½®æ\8f\9bã\81\8cè¦\81æ±\82ã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84å ´å\90\88
+@command{tr} は、@var{set1} に存在する文字が入力中に連続して現れるたびに、
\81\9dã\81®é\83¨å\88\86ã\82\92ã\81\9fã\81  1 å\80\8bã\81®ã\81\9dã\81®æ\96\87å­\97ã\81«ç½®ã\81\8dæ\8f\9bã\81\88ã\82\8bã\80\82
 
-@option{--delete} と @option{--squeeze-repeats} の両方が指定された場合、@command{tr} は、
-まず @var{set1} を使って削除を行い、その後で、残っている文字に対して
-@var{set2} を使って連続する同一文字の圧縮を行う。
+@option{--delete} と @option{--squeeze-repeats} の両方が指定された場合、
+@command{tr} は、まず @var{set1} を使って削除を行い
+その後で、残っている文字に対して、@var{set2} を使って連続する同一文字の圧縮を行う。
 
 @option{--squeeze-repeats} オプションは、置換の際に使用することもできる。
 その場合、@command{tr} は、まず置換を実行し、その後で、置換結果に対して、
@@ -7016,10 +6843,9 @@ tr -d '\0'
 @end example
 
 @item
-入力中のすべての単語 (訳注: 空白などで前後を区切られた文字列) を
-1 行に 1 個づつ書き出す。このコマンドは、アルファベットと数字以外の
-すべてを改行文字に変換し、さらに、改行が連続して現れるそれぞれの
-箇所を 1 個の改行文字に圧縮している。
+入力中のすべての単語 (訳注: 空白などで前後を区切られた文字列) を 1 行に 1 個づつ書き出す。
+このコマンドは、アルファベットと数字以外のすべてを改行文字に変換し、
+さらに、改行が連続して現れるそれぞれの箇所を 1 個の改行文字に圧縮している。
 
 @example
 tr -cs '[:alnum:]' '[\n*]'
@@ -7027,6 +6853,7 @@ tr -cs '[:alnum:]' '[\n*]'
 
 @item
 連続する改行文字が現れるごとに、それを一個の改行文字に変換する。
+すなわち、空行を除去する。
 
 @example
 tr -s '\n'
@@ -7034,14 +6861,13 @@ tr -s '\n'
 
 @item
 @c Separate the following two "the"s, so typo checkers don't complain.
-文書中の単語の重複を探し出す。たとえば、 改行を挟んで同じ単語を
-繰り返して、``the @w{}the'' のように書いてしまうとことは、よくあること
-である。以下の Bourne シェルのスクリプトは、次のように動作する。
-まず、句読点や空白文字が 1 個以上続けて現れるたびに、それを 1 個の
-改行文字に置き換える。そうすることで、単語が 1 行に 1 個づつ
-出力されることになるわけだ。次には、すべての大文字を小文字に
-変換する。そして、最後に、@command{uniq} を @option{-d} オプション付きで実行して、
-重複した単語のみを書き出すのである。
+文書中の単語の重複を探し出す。たとえば、 改行を挟んで同じ単語を繰り返して、
+``the @w{}the'' のように書いてしまうとことは、よくあることである。
+以下の Bourne シェルのスクリプトは、次のように動作する。
+まず、句読点や空白文字が 1 個以上続けて現れるたびに、それを 1 個の改行文字に置き換える。
+そうすることで、単語が 1 行に 1 個づつ出力されることになるわけだ。
+次には、すべての大文字を小文字に変換する。そして、最後に、@command{uniq} を
+@option{-d} オプション付きで実行して、重複した単語のみを書き出すのである。
 
 @example
 #!/bin/sh
@@ -7052,31 +6878,30 @@ cat -- "$@@" \
 @end example
 
 @item
-文字のちょっとした集団を削除するのは、たいていの場合ごく簡単
\81§ã\81\82ã\82\8bã\80\82ã\81\9fã\81¨ã\81\88ã\81°ã\80\81@samp{a}, @samp{x}, @samp{M} ã\81¨ã\81\84ã\81\86æ\96\87å­\97ã\82\92ã\81\99ã\81¹ã\81¦æ¶\88ã\81\99ã\81«ã\81¯ã\80\81次ã\81®
-ようにするだけでよい。
+文字のちょっとした集団を削除するのは、たいていの場合ごく簡単である。
\81\9fã\81¨ã\81\88ã\81°ã\80\81@samp{a}, @samp{x}, @samp{M} ã\81¨ã\81\84ã\81\86æ\96\87å­\97ã\82\92ã\81\99ã\81¹ã\81¦æ¶\88ã\81\99ã\81«ã\81¯ã\80\81
+次のようにするだけでよい。
 
 @example
 tr -d axM
 @end example
 
-ところが、削除する文字の一つに  @samp{-} があると、@samp{-} は特殊な意味を
\82\82ã\81£ã\81¦ã\81\84ã\82\8bã\81®ã\81§ã\80\81å\8e\84ä»\8bã\81ªã\81\93ã\81¨ã\81«ã\81ªã\82\8aã\81\8bã\81­ã\81ªã\81\84ã\80\82ä¸\8aè¨\98ã\81¨å\90\8cæ§\98ã\81®ä½\9c業ã\82\92è¡\8cã\81\86
-けれど、今度は @samp{-} という文字もついでにすべて削除するとしよう。
+ところが、削除する文字の一つに  @samp{-} があると、@samp{-}
\81¯ç\89¹æ®\8aã\81ªæ\84\8få\91³ã\82\92ã\82\82ã\81£ã\81¦ã\81\84ã\82\8bã\81®ã\81§ã\80\81å\8e\84ä»\8bã\81ªã\81\93ã\81¨ã\81«ã\81ªã\82\8aã\81\8bã\81­ã\81ªã\81\84ã\80\82
+上記と同様の作業を行うけれど、今度は @samp{-} という文字もついでにすべて削除するとしよう。
 @code{tr -d -axM} をやってみるかもしれないが、うまく行かないだろう。
-@command{tr} が @option{-a} をコマンドライン・オプションとして解釈しようとする
\81\8bã\82\89ã\81§ã\81\82ã\82\8bã\80\82ã\81\9dã\82\8cã\81§ã\81¯ã\81¨ã\80\81ã\83\8fã\82¤ã\83\95ã\83³ã\82\92æ\96\87å­\97å\88\97ã\81®å\86\85å\81´ã\81«å\85¥ã\82\8cã\81¦ã\81¿ã\82\8bã\81\93ã\81¨ã\82\82
-できる。@code{tr -d a-xM} のようにだ。だが、これもうまく行きそうにない。
-@command{tr} が @code{a-x} を 3 個の文字としてではなく、@samp{a}@dots{}@samp{x} という文字の
-範囲として解釈することになるからだ。この問題を解決する方法の一つは、
-ハイフンを文字のリストの最後に置くことである。
+@command{tr} が @option{-a} をコマンドライン・オプションとして解釈しようとするからである。
\81\9dã\82\8cã\81§ã\81¯ã\81¨ã\80\81ã\83\8fã\82¤ã\83\95ã\83³ã\82\92æ\96\87å­\97å\88\97ã\81®å\86\85å\81´ã\81«å\85¥ã\82\8cã\81¦ã\81¿ã\82\8bã\81\93ã\81¨ã\82\82ã\81§ã\81\8dã\82\8bã\80\82
+@code{tr -d a-xM} のようにだ。だが、これもうまく行きそうにない。
+@command{tr} が @code{a-x} を 3 個の文字としてではなく、@samp{a}@dots{}@samp{x}
+という文字の範囲として解釈することになるからだ。
\81\93ã\81®å\95\8fé¡\8cã\82\92解決ã\81\99ã\82\8bæ\96¹æ³\95ã\81®ä¸\80ã\81¤ã\81¯ã\80\81ã\83\8fã\82¤ã\83\95ã\83³ã\82\92æ\96\87å­\97ã\81®ã\83ªã\82¹ã\83\88ã\81®æ\9c\80å¾\8cã\81«ç½®ã\81\8fã\81\93ã\81¨ã\81§ã\81\82ã\82\8bã\80\82
 
 @example
 tr -d axM-
 @end example
 
-あるいは、@samp{--} を使って、オプション処理はここで終わりと明示する
-こともできる。
+あるいは、@samp{--} を使って、オプション処理はここで終わりと明示することもできる。
 
 @example
 tr -d -- -axM
@@ -7089,8 +6914,8 @@ tr -d -- -axM
 tr -d '[=-=]axM'
 @end example
 
-上記の例では、角カッコがシェルによって解釈されないように、シングル
-クォートを使っていることに注意していただきたい。
+上記の例では、角カッコがシェルによって解釈されないように、
\82·ã\83³ã\82°ã\83«ã\82¯ã\82©ã\83¼ã\83\88ã\82\92使ã\81£ã\81¦ã\81\84ã\82\8bã\81\93ã\81¨ã\81«æ³¨æ\84\8fã\81\97ã\81¦ã\81\84ã\81\9fã\81 ã\81\8dã\81\9fã\81\84ã\80\82
 
 @end itemize
 
@@ -7102,10 +6927,11 @@ tr -d '[=-=]axM'
 @cindex tabs to spaces, converting
 @cindex converting tabs to spaces
 
-@command{expand} は指定された各 @var{file} の内容を標準出力に書き出し、その際に
-タブ文字を適切な数のスペースに変換する。@var{file} が指定されていない
-場合や、@var{file} として @samp{-} が指定されている場合は、標準入力を対象にする。
-@sp 1
+@command{expand} は指定された各 @var{file} の内容を標準出力に書き出し、
+その際にタブ文字を適切な数のスペースに変換する。
+@var{file} が指定されていない場合や、@var{file} として @samp{-}
+が指定されている場合は、標準入力を対象にする。
+
 書式:
 
 @example
@@ -7126,12 +6952,12 @@ expand [@var{option}]@dots{} [@var{file}]@dots{}
 @opindex -t
 @opindex --tabs
 @cindex tab stops, setting
-タブ位置 (tab stop) が一つだけ指定された場合には、(訳注: 入力行に
-おける) タブ位置が @var{tab1} 桁ごとあるものとする (デフォルトは 8
-桁ごと)。それ以外の場合は、タブ位置を @var{tab1}, @var{tab2}, @dots{} 桁目に置き
-(行頭を 0 桁目として数える)、指定された最後のタブ位置より後ろに
-あるタブは 1 個のスペースで置き換える。タブ位置の指定は、コンマで
-区切ってもよく、空白で区切ってもよい。
+タブ位置 (tab stop) が一つだけ指定された場合には、
+(訳注: 入力行における) タブ位置が @var{tab1} 桁ごとあるものとする
+(デフォルトは 8 桁ごと)。それ以外の場合は、タブ位置を
+@var{tab1}, @var{tab2}, @dots{} 桁目に置き (行頭を 0 桁目として数える)、
+指定された最後のタブ位置より後ろにあるタブは 1 個のスペースで置き換える。
+タブ位置の指定は、コンマで区切ってもよく、空白で区切ってもよい。
 
 互換性を考慮して、GNU の @command{expand} は、@option{-@var{tab1}[,@var{tab2}]@dots{}}
 という、
@@ -7143,9 +6969,9 @@ expand [@var{option}]@dots{} [@var{file}]@dots{}
 @opindex -i
 @opindex --initial
 @cindex initial tabs, converting
-各行の行頭にあるタブ群だけを (言い換えれば、スペースでもタブでも
-ないどんな文字よりも前にある 1 個以上のタブだけを) スペースに変換
-する。
+各行の行頭にあるタブ群だけを
+(言い換えれば、スペースでもタブでもないどんな文字よりも前にある 1 個以上のタブだけを)
\82¹ã\83\9aã\83¼ã\82¹ã\81«å¤\89æ\8f\9bã\81\99ã\82\8bã\80\82
 
 @end table
 
@@ -7157,23 +6983,23 @@ expand [@var{option}]@dots{} [@var{file}]@dots{}
 
 @pindex unexpand
 
-@command{unexpand} は、指定された各 @var{file} の内容を標準出力に書き出し、その際に
-各行の先頭にある複数の空白 (blank) を、必要な数のタブ文字に変換する。
+@command{unexpand} は、指定された各 @var{file} の内容を標準出力に書き出し、
+その際に各行の先頭にある複数の空白 (blank) を、必要な数のタブ文字に変換する。
 @var{file} が指定されていない場合や、@var{file} として @samp{-} が指定されている場合は、
 標準入力を対象にする。デフォルトの POSIX ロケールでは、空白 (@dfn{blank})
-とは、スペースかタブのことである。他のロケールでは、ほかの空白文字が
-追加されているかもしれない。
-@sp 1
+とは、スペースかタブのことである。
+他のロケールでは、ほかの空白文字が追加されているかもしれない。
+
 書式:
 
 @example
 unexpand [@var{option}]@dots{} [@var{file}]@dots{}
 @end example
 
-デフォルトでは、@command{unexpand} が変換するのは、各行の行頭にある複数の
-空白だけである (言い換えれば、空白以外のどんな文字よりも前にある複数
\81®ç©ºç\99½ã\81 ã\81\91\80\82ã\83\90ã\83\83ã\82¯ã\82¹ã\83\9aã\83¼ã\82¹æ\96\87å­\97ã\81¯ã\80\81å\87ºå\8a\9bã\81«ã\81\9dã\81®ã\81¾ã\81¾æ®\8bã\81\97ã\81¦ã\81\8aã\81\8fã\80\82ã\83\90ã\83\83ã\82¯
\82¹ã\83\9aã\83¼ã\82¹ã\81«ã\81¯ã\80\81ã\82¿ã\83\96å¹\85ã\82\92è¨\88ç®\97ã\81\99ã\82\8bé\9a\9bã\81«ã\80\81æ¡\81æ\95°ã\82\92æ¸\9bã\82\89ã\81\99å\83\8dã\81\8dã\81\8cã\81\82ã\82\8bã\81®ã\81 ã\80\82
+デフォルトでは、@command{unexpand} が変換するのは、各行の行頭にある複数の空白だけである
+(言い換えれば、空白以外のどんな文字よりも前にある複数の空白だけ)。
\83\90ã\83\83ã\82¯ã\82¹ã\83\9aã\83¼ã\82¹æ\96\87å­\97ã\81¯ã\80\81å\87ºå\8a\9bã\81«ã\81\9dã\81®ã\81¾ã\81¾æ®\8bã\81\97ã\81¦ã\81\8aã\81\8fã\80\82ã\83\90ã\83\83ã\82¯ã\82¹ã\83\9aã\83¼ã\82¹ã\81«ã\81¯ã\80\81
+タブ幅を計算する際に、桁数を減らす働きがあるのだ。
 デフォルトでは、タブ位置は 8 桁ごとに置かれる。
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
@@ -7184,35 +7010,33 @@ unexpand [@var{option}]@dots{} [@var{file}]@dots{}
 @itemx --tabs=@var{tab1}[,@var{tab2}]@dots{}
 @opindex -t
 @opindex --tabs
-タブ位置 (tab stop) が一つだけ指定された場合には、(訳注: 入力行に
-おける) タブ位置をデフォルトの 8 桁ごとではなく、@var{tab1} 桁ごとに
-設定する。それ以外の場合は、タブ位置を @var{tab1}, @var{tab2}, @dots{} 桁目に置き
-(行頭を 0 桁目として数える)、指定された最後のタブ位置より後ろに
-ある空白は、変換せず、そのままにする。タブ位置の指定は、コンマで
-区切ってもよく、空白で区切ってもよい。このオプションを指定すると、
-@option{-a} オプションが自動的に設定される。
-@sp 1
-(訳注: 一例を挙げておく。たとえば、@samp{-t 8,12} なら、入力行は、先頭を
-0 桁目として、8 桁目、12 桁目にタブ位置があると見なされる。そこで、
-先頭に 12 個のスペースがある行に対して @code{unexpand -t 8,12} を行う
-と、空白がタブ 2 個に変換される。出力におけるタブ位置はデフォルトの
-ままなので、出力ではその行は、 0 から数えて 16 桁目から文字が始まる
-ことになる。)
+タブ位置 (tab stop) が一つだけ指定された場合には、
+(訳注: 入力行における) タブ位置をデフォルトの 8 桁ごとではなく、@var{tab1} 桁ごとに設定する。
+それ以外の場合は、タブ位置を @var{tab1}, @var{tab2}, @dots{} 桁目に置き
+(行頭を 0 桁目として数える)、指定された最後のタブ位置より後ろにある空白は、
+変換せず、そのままにする。タブ位置の指定は、コンマで区切ってもよく、空白で区切ってもよい。
+このオプションを指定すると、@option{-a} オプションが自動的に設定される。
 
-互換性を考慮して、GNU の @command{unexpand} は、@option{-@var{tab1}[,@var{tab2}]@dots{}}
-という、
-このオプションの古い書式も認めている。そちらを使う場合は、タブ位置を
-必ずコンマで区切らなければならない。なお、@option{-t} とは違って、この古い
-オプションは、@option{-a} を自動的に設定しない。新しいスクリプトでは
-(訳注: 古い書式と同じ動作をさせたい場合)、古い書式に代えて、
-@option{--first-only -t @var{tab1}[,@var{tab2}]@dots{}} を使うべきである。
+(訳注: 一例を挙げておく。たとえば、@samp{-t 8,12} なら、入力行は、先頭を
+0 桁目として、8 桁目、12 桁目にタブ位置があると見なされる。
+そこで、先頭に 12 個のスペースがある行に対して @code{unexpand -t 8,12} を行うと、
+空白がタブ 2 個に変換される。出力におけるタブ位置はデフォルトのままなので、
+出力ではその行は、 0 から数えて 16 桁目から文字が始まることになる。)
+
+互換性を考慮して、GNU の @command{unexpand} は、
+@option{-@var{tab1}[,@var{tab2}]@dots{}} という、このオプションの古い書式も認めている。
+そちらを使う場合は、タブ位置を必ずコンマで区切らなければならない。
+なお、@option{-t} とは違って、この古いオプションは、@option{-a}
+を自動的に設定しない。新しいスクリプトでは (訳注: 古い書式と同じ動作をさせたい場合)、
+古い書式に代えて、@option{--first-only -t @var{tab1}[,@var{tab2}]@dots{}}
+を使うべきである。
 
 @item -a
 @itemx --all
 @opindex -a
 @opindex --all
-空白の連続が、行の中で空白以外の文字の後ろにある場合でも、タブ位置の
-直前にある 2 個以上の空白の連続は、すべて変換する。
+空白の連続が、行の中で空白以外の文字の後ろにある場合でも、
+タブ位置の直前にある 2 個以上の空白の連続は、すべて変換する。
 
 @end table
 
@@ -7239,36 +7063,37 @@ unexpand [@var{option}]@dots{} [@var{file}]@dots{}
 @pindex ls
 @cindex directory listing
 
-@command{ls} プログラムはファイルに関する情報を一覧表示する (ファイルは、
-いかなるタイプでもよく、ディレクトリでもよい)。オプションとファイルを
-示す引数は、ほとんどのコマンドと同様、どんな順番で指定しても構わない。
+@command{ls} プログラムはファイルに関する情報を一覧表示する
+(ファイルは、いかなるタイプでもよく、ディレクトリでもよい)。
+オプションとファイルを示す引数は、ほとんどのコマンドと同様、どんな順番で指定しても構わない。
 
 コマンドラインで指定したオプション以外の引数がディレクトリならば、
-デフォルトでは、@command{ls} はそのディレクトリの内容を一覧表示する。その際、
-再帰的な表示はせず、名前が @samp{.} で始まるファイルも表示しない。
-オプション以外の引数がディレクトリでなければ、単にそのファイルの名前を
-表示するのが、@command{ls} のデフォルトの動作である。オプション以外の引数が
-一つも指定されていない場合は、@command{ls} はカレントディレクトリを対象にし、
-あたかも @samp{.} という引数を一つだけ付けて起動したかのように動作する。
+デフォルトでは、@command{ls} はそのディレクトリの内容を一覧表示する。
+その際、再帰的な表示はせず、名前が @samp{.} で始まるファイルも表示しない。
+オプション以外の引数がディレクトリでなければ、単にそのファイルの名前を表示するのが、
+@command{ls} のデフォルトの動作である。
+オプション以外の引数が一つも指定されていない場合は、@command{ls}
+はカレントディレクトリを対象にし、あたかも @samp{.}
+という引数を一つだけ付けて起動したかのように動作する。
 
 @vindex LC_ALL
-デフォルトでは、出力を、現在のロケール設定に従って、アルファベット
-順でソートする
-@footnote{POSIX 以外のロケールを使用している場合は (たとえば、@env{LC_ALL} を
-@samp{en_US} に設定している場合は)、@command{ls} の出力が、見慣れない順序で並んで
-いるかもしれない。そうした場合は、環境変数 @env{LC_ALL} を @samp{C} にしてみる
-とよい。}。
-標準出力が端末の場合は、出力を多段組みで (訳注:
\81\99ã\81ªã\82\8fã\81¡ã\80\811 è¡\8cã\81«è¤\87æ\95°ã\83\95ã\82¡ã\82¤ã\83«ã\81®å½¢å¼\8fã\81§) è¡¨ç¤ºã\81\97ã\80\81å\88¶å¾¡æ\96\87å­\97ã\82\92ç\96\91å\95\8f符ã\81¨ã\81\97ã\81¦
-出力する (ソートは縦方向に行う)。それ以外の場合は、出力が 1 行 1
-ファイルの形式になり、制御文字はそのまま手を加えずに出力する
-
-@command{ls} はきわめて基本的なプログラムなので、長年の間にオプションが
-どんどん増えてしまった。以下のサブセクションでは、そうしたオプション
-について説明している。各サブセクション内では、オプションを (大文字
°\8fæ\96\87å­\97ã\82\92ç\84¡è¦\96ã\81\97ã\81¦) ã\82¢ã\83«ã\83\95ã\82¡ã\83\99ã\83\83ã\83\88é \86ã\81«ä¸¦ã\81¹ã\81¦ã\81\84ã\82\8bã\80\82ã\81\93ã\81®ã\82\88ã\81\86ã\81«ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92
\82µã\83\96ã\82»ã\82¯ã\82·ã\83§ã\83³ã\81«å\88\86ã\81\91ã\81¦ã\81¯ã\81¿ã\81\9fã\81\8cã\80\81ã\81\93ã\81®å\88\86é¡\9eæ³\95ã\81¯å®\8cå\85¨ã\81ªã\82\82ã\81®ã\81§ã\81¯ã\81ªã\81\84ã\80\82ã\82ªã\83\97
-ションの中には、@command{ls} の動作の複数の側面に作用するものもあるからである。
+デフォルトでは、出力を、現在のロケール設定に従って、アルファベット順でソートする
+@footnote{POSIX 以外のロケールを使用している場合は (たとえば、@env{LC_ALL}
+を @samp{en_US} に設定している場合は)、@command{ls}
+の出力が、見慣れない順序で並んでいるかもしれない。そうした場合は、環境変数
+@env{LC_ALL} を @samp{C} にしてみるとよい。}。
+標準出力が端末の場合は、出力を多段組みで (訳注: すなわち、1 行に複数ファイルの形式で)
+表示し、制御文字を疑問符として出力する (ソートは縦方向に行う)。
\81\9dã\82\8c以å¤\96ã\81®å ´å\90\88ã\81¯ã\80\81å\87ºå\8a\9bã\81\8c 1 è¡\8c 1 ã\83\95ã\82¡ã\82¤ã\83«ã\81®å½¢å¼\8fã\81«ã\81ªã\82\8aã\80\81å\88¶å¾¡æ\96\87å­\97ã\81¯ã\81\9dã\81®ã\81¾ã\81¾æ\89\8bã\82\92å\8a ã\81\88ã\81\9aã\81«å\87ºå\8a\9bã\81\99ã\82\8bã\80\82
+
+(訳注: 端末へ出力されるファイル名は、現在ではデフォルトのスタイルが変わっているかもしれない
+「ファイル名のフォーマット」の節の @option{--quoting-style} の訳注をご覧いただきたい。)
+
+@command{ls} はきわめて基本的なプログラムなので、長年の間にオプションがどんどん増えてしまった。
+以下のサブセクションでは、そうしたオプションについて説明している。
\90\84ã\82µã\83\96ã\82»ã\82¯ã\82·ã\83§ã\83³å\86\85ã\81§ã\81¯ã\80\81ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92 (大æ\96\87å­\97å°\8fæ\96\87å­\97ã\82\92ç\84¡è¦\96ã\81\97ã\81¦) ã\82¢ã\83«ã\83\95ã\82¡ã\83\99ã\83\83ã\83\88é \86ã\81«ä¸¦ã\81¹ã\81¦ã\81\84ã\82\8bã\80\82
\81\93ã\81®ã\82\88ã\81\86ã\81«ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92ã\82µã\83\96ã\82»ã\82¯ã\82·ã\83§ã\83³ã\81«å\88\86ã\81\91ã\81¦ã\81¯ã\81¿ã\81\9fã\81\8cã\80\81ã\81\93ã\81®å\88\86é¡\9eæ³\95ã\81¯å®\8cå\85¨ã\81ªã\82\82ã\81®ã\81§ã\81¯ã\81ªã\81\84ã\80\82
\82ªã\83\97ã\82·ã\83§ã\83³ã\81®ä¸­ã\81«ã\81¯ã\80\81@command{ls} ã\81®å\8b\95ä½\9cã\81®è¤\87æ\95°ã\81®å\81´é\9d¢ã\81«ä½\9cç\94¨ã\81\99ã\82\8bã\82\82ã\81®ã\82\82ã\81\82ã\82\8bã\81\8bã\82\89ã\81§ã\81\82ã\82\8bã\80\82
 
 @cindex exit status of @command{ls}
 終了ステータス:
@@ -7281,29 +7106,29 @@ unexpand [@var{option}]@dots{} [@var{file}]@dots{}
    削除やリネームの最中だと、そういうことが起きる)
 2: 深刻なトラブル (たとえば、メモリの不足、無効なオプション、
    コマンドライン引数として指定されたファイルやディレクトリに
-   アクセスできなかった場合、ディレクトリのループなど)@end display
+   アクセスできなかった場合、ディレクトリのループなど)
+@end display
 
 参照 @ref{Common options}.
 
 @menu
-* Which files are listed::          表示対象にするファイル。
-* What information is listed::      表示する情報。
-* Sorting the output::              出力のソート。
-* Details about version sort::      バージョン・ソートの詳細。
-* General output formatting::       出力全体の形式。
-* Formatting file timestamps::      タイムスタンプのフォーマット。
-* Formatting the file names::       ファイル名のフォーマット。
+* Which files are listed::      表示対象にするファイル
+* What information is listed::  表示する情報
+* Sorting the output::          出力のソート
+* Details about version sort::  バージョン・ソートの詳細
+* General output formatting::   出力全体の形式
+* Formatting file timestamps::  タイムスタンプのフォーマット
+* Formatting the file names::   ファイル名のフォーマット
 @end menu
 
 
 @node Which files are listed
 @subsection 表示対象にするファイル
 
-以下のオプションは、どんなファイルについて @command{ls} が情報を表示するか
-を決定する。デフォルトで @command{ls} が表示するのは、コマンドラインで指定
-されたファイルだが、ディレクトリが指定された場合は、その内容になる。
-ただし、ディレクトリの内容のうち、名前が @samp{.} で始まるファイルは表示
-しない。
+以下のオプションは、どんなファイルについて @command{ls} が情報を表示するかを決定する。
+デフォルトで @command{ls} が表示するのは、コマンドラインで指定されたファイルだが、
+ディレクトリが指定された場合は、その内容になる。
+ただし、ディレクトリの内容のうち、名前が @samp{.} で始まるファイルは表示しない。
 
 @table @samp
 
@@ -7311,8 +7136,7 @@ unexpand [@var{option}]@dots{} [@var{file}]@dots{}
 @itemx --all
 @opindex -a
 @opindex --all
-ディレクトリの内容を表示する際、@samp{.} で始まるファイル名も無視
-しない。
+ディレクトリの内容を表示する際、@samp{.} で始まるファイル名も無視しない。
 
 @item -A
 @itemx --almost-all
@@ -7335,68 +7159,66 @@ unexpand [@var{option}]@dots{} [@var{file}]@dots{}
 @opindex -d
 @opindex --directory
 @c The following sentence is the same as the one for -F.
-ディレクトリについても、ディレクトリ内容の一覧ではなく、他のタイプ
-のファイルの場合と同じように、名前だけを表示する。また、
-@option{--dereference-command-line} (@option{-H}), @option{--dereference}
-(@option{-L}),
-@option{--dereference-command-line-symlink-to-dir} といったオプションが
-指定されていないかぎり、コマンドラインでシンボリックリンクが指定
-されても、それをたどらない。
+ディレクトリについても、ディレクトリ内容の一覧ではなく、
+他のタイプのファイルの場合と同じように、名前だけを表示する。
+また、@option{--dereference-command-line} (@option{-H}),
+@option{--dereference} (@option{-L}),
+@option{--dereference-command-line-symlink-to-dir}
+といったオプションが指定されていないかぎり、
\82³ã\83\9eã\83³ã\83\89ã\83©ã\82¤ã\83³ã\81§ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\81¦ã\82\82ã\80\81ã\81\9dã\82\8cã\82\92ã\81\9fã\81©ã\82\89ã\81ªã\81\84ã\80\82
 
 @item -H
 @itemx --dereference-command-line
 @opindex -H
 @opindex --dereference-command-line
 @cindex symbolic links, dereferencing
-コマンドライン引数がシンボリックリンクを指定している場合、リンク
-そのものではなく、リンクが参照しているファイルの情報を表示する。
+コマンドライン引数がシンボリックリンクを指定している場合、
\83ªã\83³ã\82¯ã\81\9dã\81®ã\82\82ã\81®ã\81§ã\81¯ã\81ªã\81\8fã\80\81ã\83ªã\83³ã\82¯ã\81\8cå\8f\82ç\85§ã\81\97ã\81¦ã\81\84ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\81®æ\83\85å ±ã\82\92表示ã\81\99ã\82\8bã\80\82
 
 @item --dereference-command-line-symlink-to-dir
 @opindex --dereference-command-line-symlink-to-dir
 @cindex symbolic links, dereferencing
-原則としてシンボリックリンクの参照を行わないが、一つだけ例外が
-ある。すなわち、コマンドライン引数がシンボリックリンクを指定し、
-それがディレクトリを指している場合は、リンクそのものではなく、
-そのディレクトリの情報を表示する。この動作は、リンクの参照に関係
-する他のオプションが全く指定されていないときの、@command{ls} のデフォルトの
-動作である (リンクの参照に関係する他のオプションには、@option{--classify}
-(@option{-F}), @option{--directory} (@option{-d}), @option{-l},
-@option{--dereference}
-(@option{-L}), @option{--dereference-command-line} (@option{-H}) がある)。
+原則としてシンボリックリンクの参照を行わないが、一つだけ例外がある。
+すなわち、コマンドライン引数がシンボリックリンクを指定し、
+それがディレクトリを指している場合は、リンクそのものではなく、そのディレクトリの情報を表示する。
+この動作は、リンクの参照に関係する他のオプションが全く指定されていないときの、
+@command{ls} のデフォルトの動作である (リンクの参照に関係する他のオプションには、
+@option{--classify} (@option{-F}), @option{--directory} (@option{-d}),
+@option{-l}, @option{--dereference} (@option{-L}),
+@option{--dereference-command-line} (@option{-H}) がある)。
 
 @item --group-directories-first
 @opindex --group-directories-first
-すべてのディレクトリをまとめてファイルの前に置き、その上で、選択
-したソート・キーを使って (@option{--sort} オプション参照)、ディレクトリと
-ファイルをそれぞれ別々にソートする。別の言い方をすると、このオプ
-ションはソートする際の主キーを設定し、@option{--sort} オプションが副キー
-を設定するということだ。ただし、@option{--sort=none} (@option{-U}) を使ったり
-すると、このオプションは全く無効になる。
+すべてのディレクトリをまとめてファイルの前に置き、その上で、選択したソート・キーを使って
+(@option{--sort} オプション参照)、ディレクトリとファイルをそれぞれ別々にソートする。
+別の言い方をすると、このオプションはソートする際の主キーを設定し、
+@option{--sort} オプションが副キーを設定するということだ。ただし、
+@option{--sort=none} (@option{-U}) を使ったりすると、このオプションは全く無効になる。
 
 @item --hide=PATTERN
 @opindex --hide=@var{pattern}
-ディレクトリの内容表示において、@option{--all} (@option{-a}) や @option{--almost-all}
-(@option{-A}) が同時に指定されていないかぎり、シェルのパターン @var{pattern}
\81«å\90\8då\89\8dã\81\8cã\83\9eã\83\83ã\83\81ã\81\99ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\82\92ç\84¡è¦\96ã\81\99ã\82\8bã\80\82ã\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81®å\8b\95ä½\9cã\81¯ã\80\81
-@option{--ignore=@var{pattern}} とほぼ同じだが、@option{--all} (@option{-a}) や
-@option{--almost-all}
+ディレクトリの内容表示において、@option{--all} (@option{-a}) や
+@option{--almost-all} (@option{-A}) が同時に指定されていないかぎり、
\82·ã\82§ã\83«ã\81®ã\83\91ã\82¿ã\83¼ã\83³ @var{pattern} ã\81«å\90\8då\89\8dã\81\8cã\83\9eã\83\83ã\83\81ã\81\99ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\82\92ç\84¡è¦\96ã\81\99ã\82\8bã\80\82
+このオプションの動作は、@option{--ignore=@var{pattern}}
+とほぼ同じだが、@option{--all} (@option{-a}) や @option{--almost-all}
 (@option{-A}) が併せて指定されていると、効果がないという点が違う。
 
 このオプションは、シェルのエイリアスで使うと、便利かもしれない。
-たとえば、@command{lx} が @samp{ls --hide='*~'} のエイリアスで、@command{ly} は
-@samp{ls --ignore='*~'} のエイリアスだとしよう。その場合、@samp{lx -A} という
\82³ã\83\9eã\83³ã\83\89ã\81¯ã\80\81ã\83\95ã\82¡ã\82¤ã\83« @file{README~} ã\82\92表示ã\81\99ã\82\8bã\81\8cã\80\81@samp{ly -A} ã\81¯è¡¨ç¤ºã\81\97ã\81ªã\81\84
-ことになる。
+たとえば、@command{lx} が @samp{ls --hide='*~'} のエイリアスで、@command{ly}
+は @samp{ls --ignore='*~'} のエイリアスだとしよう。
\81\9dã\81®å ´å\90\88ã\80\81@samp{lx -A} ã\81¨ã\81\84ã\81\86ã\82³ã\83\9eã\83³ã\83\89ã\81¯ã\80\81ã\83\95ã\82¡ã\82¤ã\83« @file{README~} ã\82\92表示ã\81\99ã\82\8bã\81\8cã\80\81
+@samp{ly -A} は表示しないことになる。
 
 @item -I @var{pattern}
 @itemx --ignore=@var{pattern}
 @opindex -I
 @opindex --ignore=@var{pattern}
 ディレクトリの内容表示において、シェルのパターン (正規表現ではない)
-@var{pattern} に名前がマッチするファイルを無視する。シェルの場合と同様、
\83\95ã\82¡ã\82¤ã\83«å\90\8dã\81®å\85\88é ­ã\81«ã\81\82ã\82\8b @samp{.} ã\81¯ @var{pattern} ã\81®å\85\88é ­ã\81®ã\83¯ã\82¤ã\83«ã\83\89ã\82«ã\83¼ã\83\89ã\81¨
\83\9eã\83\83ã\83\81ã\81\97ã\81ªã\81\84ã\80\82ã\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92äº\8c度以ä¸\8a使ã\81\86ã\81¨ã\80\81便å\88©ã\81ªã\81\93ã\81¨ã\81\8cã\81\82ã\82\8b
-たとえば、
+@var{pattern} に名前がマッチするファイルを無視する。
\82·ã\82§ã\83«ã\81®å ´å\90\88ã\81¨å\90\8cæ§\98ã\80\81ã\83\95ã\82¡ã\82¤ã\83«å\90\8dã\81®å\85\88é ­ã\81«ã\81\82ã\82\8b @samp{.} ã\81¯ @var{pattern}
\81®å\85\88é ­ã\81®ã\83¯ã\82¤ã\83«ã\83\89ã\82«ã\83¼ã\83\89ã\81¨ã\83\9eã\83\83ã\83\81ã\81\97ã\81ªã\81\84
\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92äº\8c度以ä¸\8a使ã\81\86ã\81¨ã\80\81便å\88©ã\81ªã\81\93ã\81¨ã\81\8cã\81\82ã\82\8bã\80\82ã\81\9fã\81¨ã\81\88ã\81°ã\80\81
 
 @smallexample
 $ ls --ignore='.??*' --ignore='.[^.]' --ignore='#*'
@@ -7404,19 +7226,17 @@ $ ls --ignore='.??*' --ignore='.[^.]' --ignore='#*'
 
 最初のオプションは @samp{.} で始まる 3 文字以上のファイル名を無視する。
 二番目のオプションは @samp{.} で始まる二文字のファイル名のうち、 @samp{..}
-を除くすべて無視し、三番目のオプションは @samp{#} で始まるファイル名を
-無視する。
+を除くすべて無視し、三番目のオプションは @samp{#} で始まるファイル名を無視する。
 
 @item -L
 @itemx --dereference
 @opindex -L
 @opindex --dereference
 @cindex symbolic links, dereferencing
-シンボリックリンクについてファイル情報を表示する際、リンクそのもの
\81§ã\81¯ã\81ªã\81\8fã\80\81ã\83ªã\83³ã\82¯ã\81\8cå\8f\82ç\85§ã\81\97ã\81¦ã\81\84ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\81®æ\83\85å ±ã\82\92表示ã\81\99ã\82\8bã\80\82ã\81¨ã\81¯è¨\80ã\81\88ã\80\81
+シンボリックリンクについてファイル情報を表示する際、リンクそのものではなく、
+リンクが参照しているファイルの情報を表示する。とは言え、
 このオプションを使用した場合でも、表示されるファイル名については、
-リンクそのものの名前のままであり、リンクが指しているファイルの名前
-にはならない。
+リンクそのものの名前のままであり、リンクが指しているファイルの名前にはならない。
 
 @item -R
 @itemx --recursive
@@ -7440,29 +7260,27 @@ $ ls --ignore='.??*' --ignore='.[^.]' --ignore='#*'
 @item --author
 @opindex --author
 @cindex hurd, author, printing
-詳細形式でディレクトリ内容のリストを出力する際、各ファイルの作成者
-情報を表示する。GNU/Hurd では、ファイルの作成者 (author) はファイル
-の所有者 (owner) と別人であることがあるが、他のオペレーティング・
-システムでは、両者は同一である。
+詳細形式でディレクトリ内容のリストを出力する際、各ファイルの作成者情報を表示する。
+GNU/Hurd では、ファイルの作成者 (author) はファイルの所有者 (owner)
+と別人であることがあるが、他のオペレーティング・システムでは、両者は同一である。
 
 @item -D
 @itemx --dired
 @opindex -D
 @opindex --dired
 @cindex dired Emacs mode support
-詳細表示形式 (@option{-l}) と併せて使用すると、出力本体の後ろに以下の
-ような追加の行を表示する。
+詳細表示形式 (@option{-l}) と併せて使用すると、
+出力本体の後ろに以下のような追加の行を表示する。
 
 @example
 //DIRED// @var{beg1} @var{end1} @var{beg2} @var{end2} @dots{}
 @end example
 
 @noindent
-@var{begn} や @var{endn} は符号なしの整数であり、出力における各ファイル名の
-開始バイト位置と終了バイト位置を示している。このようにすることで、
-ファイル名に空白や改行のような普段使わない文字が含まれている場合
-でも、手の込んだ検索をするまでもなく、Emacs が簡単にファイル名を
-見つけられるようにしているのである。
+@var{begn} や @var{endn} は符号なしの整数であり、
+出力における各ファイル名の開始バイト位置と終了バイト位置を示している。このようにすることで、
+ファイル名に空白や改行のような普段使わない文字が含まれている場合でも、手の込んだ検索をするまでもなく、
+Emacs が簡単にファイル名を見つけられるようにしているのである。
 
 ディレクトリを再帰的にリストしている場合には (@option{-R})、
 各サブディレクトリ名のオフセットを記した同様の行も出力する。
@@ -7478,7 +7296,8 @@ $ ls --ignore='.??*' --ignore='.[^.]' --ignore='#*'
 @end example
 
 @noindent
-ここで、@var{word} はクォートの方式である (@pxref{Formatting the file names})。
+ここで、@var{word} はクォートの方式である
+(@pxref{Formatting the file names})。
 
 実例を挙げてみる。
 
@@ -7510,12 +7329,12 @@ $ ls -gloRF --dired a
 @end example
 
 上記 @samp{//DIRED//} 行の 2 個づつ組になっているオフセットは、次の
-6 個の名前の区切りとなるバイト位置を示している (訳注: 別の言い方を
-するなら、出力の先頭からある名前の直前までのバイト数と、その名前の
-最後の文字までのバイト数を示している)。6 個の名前とは、すなわち
+6 個の名前の区切りとなるバイト位置を示している
+(訳注: 別の言い方をするなら、出力の先頭からある名前の直前までのバイト数と、
+その名前の最後の文字までのバイト数を示している)。6 個の名前とは、すなわち
 @file{f1}, @file{f2}, @file{sub}, @file{sub2}, @file{deeper}, @file{file}
-である。@samp{//SUBDIRED//}
-の行のオフセットが示しているのは、次のディレクトリ名の区切りである。
+である。
+@samp{//SUBDIRED//} の行のオフセットが示しているのは、次のディレクトリ名の区切りである。
 @file{a}, @file{a/sub}, @file{a/sub/deeper}, @file{a/sub2}。
 
 下記の例では、5 番目の項目の名前 @samp{deeper} を抜き出してみせている。
@@ -7527,14 +7346,12 @@ $ dd bs=1 skip=217 count=6 < out 2>/dev/null; echo
 deeper
 @end example
 
-上記のファイル一覧表示では、@samp{deeper} という項目の後ろにスラッシュ
-が付いているが、オフセットが名前として選択しているのは、後ろの
-スラッシュを除いた部分であることに注目していただきたい。しかしながら、
-@command{ls} を @option{--dired} とともに @option{--escape} (短縮形は @option{-b})
-のような
-オプションを付けて実行し、名前に特殊文字が入っているファイルを処理の
-対象にする場合には、バックスラッシュがオフセットの示す範囲のうちに
-含まれることに注意しなければならない。
+上記のファイル一覧表示では、@samp{deeper} という項目の後ろにスラッシュが付いているが、
+オフセットが名前として選択しているのは、後ろのスラッシュを除いた部分であることに注目していただきたい。
+しかしながら、@command{ls} を @option{--dired} とともに @option{--escape}
+(短縮形は @option{-b}) のようなオプションを付けて実行し、
+名前に特殊文字が入っているファイルを処理の対象にする場合には、
+バックスラッシュがオフセットの示す範囲のうちに含まれることに注意しなければならない。
 
 @example
 $ touch 'a b'
@@ -7546,19 +7363,19 @@ $ ls -blog --dired 'a b'
 
 引用符を付加するクォート方式を使用している場合には (たとえば、
 @option{--quoting-style=c})、引用符もオフセットの示す範囲に含まれる。
\81\9dã\81\93ã\81§ã\80\81ã\83¦ã\83¼ã\82¶ã\81\8cç\92°å¢\83å¤\89æ\95° @env{QUOTING_STYLE} ã\82\92設å®\9aã\81\97ã\81¦ã\80\81ã\81\9dã\81\86ã\81\97ã\81\9f
\82¯ã\82©ã\83¼ã\83\88æ\96¹å¼\8fã\82\92é\81¸æ\8a\9eã\81\97ã\81¦ã\81\84ã\82\8bã\81\8bã\82\82ã\81\97ã\82\8cã\81ªã\81\84ã\81\93ã\81¨ã\81«æ°\97ã\82\92ä»\98ã\81\91ã\81ªã\81\91ã\82\8cã\81°
\81ªã\82\89ã\81ªã\81\84ã\80\82è¦\81ã\81\99ã\82\8bã\81«、@option{--dired} を使用するアプリケーションでは、
-コマンドラインで明示的に @option{--quoting-style=literal} オプションを
-指定するか (@option{-N} や @option{--literal} と指定しても同じことだ)、あるいは
\82¨ã\82¹ã\82±ã\83¼ã\83\97ã\81\95ã\82\8cã\81\9få\90\8då\89\8dã\82\92解æ\9e\90ã\81§ã\81\8dã\82\8bã\81\99ã\82\8bã\82\88ã\81\86ã\81«ã\81\97ã\81¦ã\81\8aã\81\8fã\81\8bã\80\81ã\81©ã\81¡ã\82\89ã\81\8bã\82\92
-するべきだということである。
\81\9dã\81\93ã\81§ã\80\81ã\81\9dã\81\86ã\81\97ã\81\9fã\82¯ã\82©ã\83¼ã\83\88æ\96¹å¼\8fã\81\8cã\80\81ç\92°å¢\83å¤\89æ\95° @env{QUOTING_STYLE}
\81«ã\82\88ã\81£ã\81¦é\81¸æ\8a\9eã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bå\8f¯è\83½æ\80§ã\82\82è\80\83æ\85®ã\81«å\85¥ã\82\8cã\81¦ã\81\8aã\81\8fã\81¹ã\81\8dã\81 ã\80\82
\81\99ã\81ªã\82\8fã\81¡、@option{--dired} を使用するアプリケーションでは、
+コマンドラインで明示的に @option{--quoting-style=literal}
+オプションを指定するか (@option{-N} や @option{--literal} と指定しても同じことだ)
\81\82ã\82\8bã\81\84ã\81¯ã\80\81ã\82¨ã\82¹ã\82±ã\83¼ã\83\97ã\81\95ã\82\8cã\81\9få\90\8då\89\8dã\82\92解æ\9e\90ã\81§ã\81\8dã\82\8bã\81\99ã\82\8bã\82\88ã\81\86ã\81«ã\81\97ã\81¦ã\81\8aã\81\8fã\81\8bã\80\81
\81©ã\81¡ã\82\89ã\81\8bã\82\92ã\81\99ã\82\8bã\81¹ã\81\8dã\81 ã\81¨ã\81\84ã\81\86ã\81\93ã\81¨ã\81§ã\81\82ã\82\8bã\80\82
 
 @item --full-time
 @opindex --full-time
-詳細形式でディレクトリ内容のリストを生成し、日時の情報を省略なしで
-表示する。これは、@option{--format=long} を @option{--time-style=full-iso} と
-一緒に使うのと同じである (@pxref{Formatting file timestamps})。
+詳細形式でディレクトリ内容のリストを生成し、日時の情報を省略なしで表示する。
+これは、@option{--format=long} を @option{--time-style=full-iso}
+一緒に使うのと同じである (@pxref{Formatting file timestamps})。
 
 @item -g
 @opindex -g
@@ -7568,9 +7385,9 @@ $ ls -blog --dired 'a b'
 @itemx --no-group
 @opindex -G
 @opindex --no-group
-詳細形式でディレクトリ内容をリスト表示する際に、グループ情報を
-表示しない (GNU 版以外の @command{ls} には、この動作がデフォルトの
\82\82ã\81®ã\81\8cã\81\82ã\82\8bã\80\82ã\81\9dã\81\93ã\81§ã\80\81äº\92æ\8f\9bæ\80§ã\81®ã\81\9fã\82\81ã\81«ã\80\81ã\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92ç\94¨æ\84\8fã\81\97ã\81¦ã\81\84ã\82\8b\80\82
+詳細形式でディレクトリ内容をリスト表示する際に、グループ情報を表示しない
+(GNU 版以外の @command{ls} には、この動作がデフォルトのものがある。
+そこで、互換性のために、このオプションを用意している)。
 
 @optHumanReadable
 
@@ -7581,8 +7398,7 @@ $ ls -blog --dired 'a b'
 @cindex inode number, printing
 ファイル名の左側にそのファイルの inode 番号を表示する (inode
 番号は、ファイル連続番号とか、インデックスナンバーとも呼ばれる。
-この番号は、ある特定のファイルシステムにある各ファイルを、一意に
-指し示す)。
+この番号は、ある特定のファイルシステムにある各ファイルを、一意に指し示す)。
 
 @item -l
 @itemx --format=long
@@ -7591,10 +7407,10 @@ $ ls -blog --dired 'a b'
 @opindex --format
 @opindex long ls @r{format}
 @opindex verbose ls @r{format}
-各ファイルの名前のほかに、(訳注: 行頭から順に) ファイルのタイプ、
-ファイルのモードビット(訳注: 一般に「アクセス権」とか「許可属性」
\81¨è¨\80ã\82\8fã\82\8cã\82\8bã\82\82ã\81®)ã\80\81ã\83\8fã\83¼ã\83\89ã\83ªã\83³ã\82¯æ\95°ã\80\81æ\89\80æ\9c\89è\80\85å\90\8dã\80\81ã\82°ã\83«ã\83¼ã\83\97å\90\8dã\80\81ã\82µã\82¤ã\82ºã\80\81
-タイムスタンプを表示する (@pxref{Formatting file timestamps})。
+各ファイルの名前のほかに、(訳注: 行頭から順に) ファイルのタイプ、ファイルのモードビット
+(訳注: 一般に「アクセス権」とか「許可属性」と言われるもの)、
\83\8fã\83¼ã\83\89ã\83ªã\83³ã\82¯æ\95°ã\80\81æ\89\80æ\9c\89è\80\85å\90\8dã\80\81ã\82°ã\83«ã\83¼ã\83\97å\90\8dã\80\81ã\82µã\82¤ã\82ºã\80\81ã\82¿ã\82¤ã\83 ã\82¹ã\82¿ã\83³ã\83\97ã\82\92表示ã\81\99ã\82\8b
+(@pxref{Formatting file timestamps})。
 タイムスタンプは、通常は更新日時 (訳注: いわゆる mtime) である。
 特定することのできない情報については、疑問符を表示する。
 
@@ -7604,14 +7420,13 @@ $ ls -blog --dired 'a b'
 @samp{--block-size="'1"} を指定すると、現在のロケールの区切り記号で
 3 桁ごとに区切ったバイト数が表示される。
 
-ディレクトリの内容をリストする場合は、対象となるディレクトリ
-ごとに、ファイルのリストの前に @samp{total @var{blocks}} という行を置く。
-ここで、@var{blocks} は、そのディレクトリにあるすべてのファイルに
-割り当てられたディスク容量の合計である。現在のところブロック
-サイズはデフォルトでは 1024 バイトであるが、この値は変更する
-ことができる (@pxref{Block size})。@var{blocks} の計算では、
-各ハードリンクを別のものとして計算している。これはバグだと
-言えないこともない。
+ディレクトリの内容をリストする場合は、対象となるディレクトリごとに、ファイルのリストの前に
+@samp{total @var{blocks}} という行を置く。ここで、@var{blocks} は、
+そのディレクトリにあるすべてのファイルに割り当てられたディスク容量の合計である。
+現在のところブロックサイズはデフォルトでは 1024 バイトであるが、
+この値は変更することができる (@pxref{Block size})。
+@var{blocks} の計算では、各ハードリンクを別のものとして計算している。
+これはバグだと言えないこともない。
 
 ファイルタイプには、以下の文字の一つが使われる。
 
@@ -7659,28 +7474,26 @@ FIFO (名前付きパイプ)
 @end table
 
 @cindex permissions, output by @command{ls}
-ファイルのモードビットの表示は、アクセス権を設定する際のシンボ
-リックモードの仕様とほぼ同じである (@pxref{Symbolic Modes})。
-ただし、@command{ls} は、以下のように、複数のモードビットを一つに
-まとめて、アクセス権の各セットの 3 番目の文字で表現している。
+ファイルのモードビットの表示は、アクセス権を設定する際のシンボリックモードの仕様とほぼ同じである (@pxref{Symbolic Modes})。
+ただし、@command{ls} は、以下のように、複数のモードビットを一つにまとめて、
+アクセス権の各セットの 3 番目の文字で表現している。
 
 @table @samp
 @item s
-set-user-ID ビット、または set-group-ID ビットと、対応する
-実行ビットの両方が立っている場合。
+set-user-ID ビットまたは set-group-ID ビットと、対応する実行ビットの両方が立っている場合。
 
 @item S
-set-user-ID ã\83\93ã\83\83ã\83\88ã\80\81ã\81¾ã\81\9fã\81¯ set-group-ID ã\83\93ã\83\83ã\83\88ã\81\8cç«\8bã\81£ã\81¦ã\81\84ã\82\8bã\81\8cã\80\81
+set-user-ID ビットまたは set-group-ID ビットが立っているが、
 対応する実行ビットは立っていない場合。
 
 @item t
\89\8aé\99¤å\88¶é\99\90ã\83\95ã\83©ã\82°ã\80\81ã\81¾ã\81\9fã\81¯ã\82¹ã\83\86ã\82£ã\82­ã\83¼ã\83»ã\83\93ã\83\83ã\83\88 (sticky bit) ã\81¨ã\80\81
+削除制限フラグまたはスティキー・ビット (sticky bit) と、
 その他のユーザ (other) の実行ビットの両方が立っている場合。
-削除制限フラグは、スティッキー・ビットの別名である。@xref{Mode Structure}.
+削除制限フラグは、スティッキー・ビットの別名である。 @xref{Mode Structure}.
 
 @item T
\89\8aé\99¤å\88¶é\99\90ã\83\95ã\83©ã\82°ã\80\81ã\81¾ã\81\9fã\81¯ã\82¹ã\83\86ã\82£ã\82­ã\83¼ã\83»ã\83\93ã\83\83ã\83\88ã\81\8cç«\8bã\81£ã\81¦ã\81\84ã\82\8bã\81\8cã\80\81ã\81\9dã\81®ä»\96ã\81®
-ユーザの実行ビットが立っていない場合。
\89\8aé\99¤å\88¶é\99\90ã\83\95ã\83©ã\82°ã\81¾ã\81\9fã\81¯ã\82¹ã\83\86ã\82£ã\82­ã\83¼ã\83»ã\83\93ã\83\83ã\83\88ã\81\8cç«\8bã\81£ã\81¦ã\81\84ã\82\8bã\81\8cã\80\81
\81\9dã\81®ä»\96ã\81®ã\83¦ã\83¼ã\82¶ã\81®å®\9fè¡\8cã\83\93ã\83\83ã\83\88ã\81\8cç«\8bã\81£ã\81¦ã\81\84ã\81ªã\81\84å ´å\90\88ã\80\82
 
 @item x
 実行ビットが立っていて、上記のどれにも当てはまらない場合。
@@ -7689,19 +7502,17 @@ set-user-ID ビット、または set-group-ID ビットが立っているが、
 それ以外。
 @end table
 
-ファイルのモードビットの後に続く 1 個の文字は、アクセス・コント
-ロール・リスト (ACL) のような他のアクセス方式が、そのファイルに
-使われているかどうかを表している。ファイルのモードビットに続く
-文字が空白の場合は、他のアクセス方式を使用していないということ
-である。表示文字が続く場合は、そうしたアクセス方式を使用している
-ということだ。
+ファイルのモードビットの後に続く 1 個の文字は、アクセス・コントロール・リスト (ACL)
+のような他のアクセス方式が、そのファイルに使われているかどうかを表している。
+ファイルのモードビットに続く文字が空白の場合は、他のアクセス方式を使用していないということである。
+表示文字が続く場合は、そうしたアクセス方式を使用しているということだ。
 
 GNU の @command{ls} は、SELinux セキュリティ・コンテキストを持つが、
 それ以外に他のアクセス方式を使用していないファイルを示すのに、
 ピリオド (@samp{.}) を使う。
 
-それ以外で、ファイルが、標準以外のアクセス方式の何らかの組み
-合わせを使用している場合には、@samp{+} 文字が印として付く。
+それ以外で、ファイルが、標準以外のアクセス方式の何らかの組み合わせを使用している場合には、
+@samp{+} 文字が印として付く。
 
 @item -n
 @itemx --numeric-uid-gid
@@ -7709,14 +7520,13 @@ GNU の @command{ls} は、SELinux セキュリティ・コンテキストを持
 @opindex --numeric-uid-gid
 @cindex numeric uid and gid
 @cindex numeric user and group IDs
-詳細形式でディレクトリの内容をリストするが、所有者やグループの
-名前の代わりに、数字の user-ID や group-ID を表示する。
+詳細形式でディレクトリの内容をリストするが、
+所有者やグループの名前の代わりに、数字の user-ID や group-ID を表示する。
 
 @item -o
 @opindex -o
-詳細形式でディレクトリの内容をリストするが、グループ情報を表示
-しない。これは、@option{--format=long} を @option{--no-group} と併せて使うのと
-同じである。
+詳細形式でディレクトリの内容をリストするが、グループ情報を表示しない。
+これは、@option{--format=long} を @option{--no-group} と併せて使うのと同じである。
 
 @item -s
 @itemx --size
@@ -7725,21 +7535,20 @@ GNU の @command{ls} は、SELinux セキュリティ・コンテキストを持
 @cindex disk allocation
 @cindex size of files, reporting
 各ファイルに対するディスク割り当て量をファイル名の左側に表示する。
-これはファイルが使用しているディスクスペースの量であり、普通は
-ファイルのサイズより少し多いが、穴空きファイル (sparse file) の
-場合は、少ないこともある。
+これはファイルが使用しているディスクスペースの量であり、
+普通はファイルのサイズより少し多いが、穴空きファイル (sparse file)
+場合は、少ないこともある。
 
 通常、ディスク割り当て量は 1024 バイトを単位として表示されるが、
 これは変更することができる (@pxref{Block size})。
 
 @cindex NFS mounts from BSD to HP-UX
-ファイルが HP-UX のシステムから BSD のシステムに NFS マウント
-されている場合、このオプションで報告されるディスク使用量は、正確な
-値の半分である。それに対して、HP-UX システムの場合は、BSD システム
-から NFS マウントされているファイルについて、このオプションは正確な
-値の 2 倍の量を報告する。これは、HP-UX システムにある欠陥のせい
-であり、HP-UX の @command{ls} プログラムも、そのとばっちりを受けている
-のである。
+ファイルが HP-UX のシステムから BSD のシステムに NFS マウントされている場合、
+このオプションで報告されるディスク使用量は、正確な値の半分である。
+それに対して、HP-UX システムの場合は、BSD システムから
+NFS マウントされているファイルについて、このオプションは正確な値の 2 倍の量を報告する。
+これは、HP-UX システムにある欠陥のせいであり、HP-UX の @command{ls}
+プログラムも、そのとばっちりを受けているのである。
 
 @optSi
 
@@ -7749,9 +7558,9 @@ GNU の @command{ls} は、SELinux セキュリティ・コンテキストを持
 @opindex --context
 @cindex SELinux
 @cindex security context
-SELinux セキュリティ・コンテキストを表示する。ない場合は、@samp{?} を
-表示する。@option{-l} オプションと一緒に使った場合は、サイズの左に
-セキュリティ・コンテキストを出力する。
+SELinux セキュリティ・コンテキストを表示する。ない場合は、@samp{?}
+を表示する。@option{-l} オプションと一緒に使った場合は、
\82µã\82¤ã\82ºã\81®å·¦ã\81«ã\82»ã\82­ã\83¥ã\83ªã\83\86ã\82£ã\83»ã\82³ã\83³ã\83\86ã\82­ã\82¹ã\83\88ã\82\92å\87ºå\8a\9bã\81\99ã\82\8bã\80\82
 
 @end table
 
@@ -7761,8 +7570,7 @@ SELinux セキュリティ・コンテキストを表示する。ない場合は
 
 @cindex sorting @command{ls} output
 以下のオプションは、@command{ls} が出力する情報を並べる際の順序を変更する。
-デフォルトでは、情報は文字コードによってソートされる (たとえば
-ASCII コード順)。
+デフォルトでは、情報は文字コードによってソートされる (たとえば ASCII コード順)。
 
 @table @samp
 
@@ -7775,29 +7583,29 @@ ASCII コード順)。
 @opindex status time@r{, printing or sorting by}
 @opindex use time@r{, printing or sorting files by}
 詳細表示形式 (たとえば、@option{-l}, @option{-o}) を使用しているときは、更新日時
-(modification time) の代わりに、ステータス変更日時 (status change
-time、inode の @samp{ctime}) を表示する。日時によって明示的にソートして
-いるときや (@option{--sort=time} あるいは @option{-t})、詳細表示形式を使用して
-いないときは、ステータス変更日時によってソートする。
+(modification time) の代わりに、ステータス変更日時
+(status change time、inode の @samp{ctime}) を表示する。
+日時によって明示的にソートしているときや (@option{--sort=time} あるいは
+@option{-t})、詳細表示形式を使用していないときは、ステータス変更日時によってソートする。
 
 @item -f
 @opindex -f
 @cindex unsorted directory listing
 @cindex directory order, listing by
-主な働きは、@option{-U} と同じで、ソートしないことである。すなわち、
\83\95ã\82¡ã\82¤ã\83«ã\82\92ã\83ªã\82¹ã\83\88ã\81\99ã\82\8bé\9a\9bã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\81\8cã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81«ã\81©ã\82\93ã\81ªé \86åº\8fã\81§
-格納されていようと、そのままの順序で出力する。それだけでなく、
-@option{-a} (すべてのファイルをリストする) を有効にし、@option{-l}, @option{--color},
-@option{-s} を (@option{-f} より前で指定されていたら) 無効にする働きもある。
+主な働きは、@option{-U} と同じで、ソートしないことである。
\81\99ã\81ªã\82\8fã\81¡ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ã\83ªã\82¹ã\83\88ã\81\99ã\82\8bé\9a\9bã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\81\8cã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81«ã\81©ã\82\93ã\81ªé \86åº\8fã\81§æ ¼ç´\8dã\81\95ã\82\8cã\81¦ã\81\84ã\82\88ã\81\86ã\81¨ã\80\81
+そのままの順序で出力する。それだけでなく、@option{-a} (すべてのファイルをリストする)
+を有効にし、@option{-l}, @option{--color}, @option{-s} を
+(@option{-f} より前で指定されていたら) 無効にする働きもある。
 
 @item -r
 @itemx --reverse
 @opindex -r
 @opindex --reverse
 @cindex reverse sorting
-どんな方法でソートされていようと、逆順にする。たとえば、ファイルを
-並べる際に、アルファベットの後ろから並べる、最新バージョンから先に
-並べる、サイズの小さいものから先に並べる、などなど。
+どんな方法でソートされていようと、逆順にする。
+たとえば、ファイルを並べる際に、アルファベットの後ろから並べる、
+最新バージョンから先に並べる、サイズの小さいものから先に並べる、などなど。
 
 @item -S
 @itemx --sort=size
@@ -7826,31 +7634,27 @@ time、inode の @samp{ctime}) を表示する。日時によって明示的に
 詳細表示形式 (たとえば、@option{--format=long}) を使用しているときは、
 最終アクセス日時 (last access time、inode の @samp{atime}) を表示する。
 日時によって明示的にソートしているときや (@option{--sort=time} あるいは
-@option{-t})、詳細表示形式を使用していないときは、アクセス日時によって
-ソートする。
+@option{-t})、詳細表示形式を使用していないときは、アクセス日時によってソートする。
 
 @item -U
 @itemx --sort=none
 @opindex -U
 @opindex --sort
 @opindex none@r{, sorting option for @command{ls}}
-ソートを行わない。すなわち、ファイルをリストする際、ファイルが
-ディレクトリにどんな順序で格納されていようと、そのままの順序で
-出力する (@option{-f} が行う、ソートに無関係な他のことは、何もしない)。
-このオプションは非常に大きなディレクトリを一覧表示するとき、
-ことのほか役に立つ。ソートを全くしないことで、作業速度が著しく
-向上するからである。
+ソートを行わない。すなわち、ファイルをリストする際、ファイルがディレクトリにどんな順序で格納されていようと、
+そのままの順序で出力する (@option{-f} が行う、ソートに無関係な他のことは、何もしない)。
+このオプションは非常に大きなディレクトリを一覧表示するとき、ことのほか役に立つ。
+ソートを全くしないことで、作業速度が著しく向上するからである。
 
 @item -v
 @itemx --sort=version
 @opindex -v
 @opindex --sort
 @opindex version@r{, sorting option for @command{ls}}
-バージョン名とバージョン番号によってソートし、低いバージョンから
-順に並べる。デフォルトのソート方法と動作が似ているが、 10 進数の
-数字が連続する各部分を、インデックス番号やバージョン番号と見なし、
-(文字列としてではなく) 数値として取り扱う点が違う。
-(@xref{Details about version sort}.)
+バージョン名とバージョン番号によってソートし、低いバージョンから順に並べる。
+デフォルトのソート方法と動作が似ているが、 10 進数の数字が連続する各部分を、
+インデックス番号やバージョン番号と見なし、(文字列としてではなく)
+数値として取り扱う点が違う。 (@xref{Details about version sort}.)
 
 @item -X
 @itemx --sort=extension
@@ -7867,12 +7671,11 @@ time、inode の @samp{ctime}) を表示する。日時によって明示的に
 @node Details about version sort
 @subsection バージョン・ソートの詳細
 
-ファイル名にはインデックス番号やバージョン番号が含まれていることが
-しばしばあるが、バージョン・ソートは、そうした状況に対処している。
-通常のソートでは、1 文字づつ文字の比較を行うので、結果がこちらの
-期待する順番にならないことがよくあるのだ。バージョン・ソートが特に
-役に立つのは、インデックス番号やバージョン番号を名前に含むファイルが
-たくさんあるディレクトリを一覧するときである。
+ファイル名にはインデックス番号やバージョン番号が含まれていることがしばしばあるが、
+バージョン・ソートは、そうした状況に対処している。
+通常のソートでは、1 文字づつ文字の比較を行うので、結果がこちらの期待する順番にならないことがよくあるのだ。
+バージョン・ソートが特に役に立つのは、
+インデックス番号やバージョン番号を名前に含むファイルがたくさんあるディレクトリを一覧するときである。
 
 @example
 $ ls -1            $ ls -1v
@@ -7902,8 +7705,8 @@ abc-1.01a.tgz      abc-1.012b.tgz
 
 @itemize @bullet
 @item @env{LC_COLLATE} は無視される。そのため、@samp{ls -v} や @samp{sort -V} は、
-数値ではない PREFIX (前置部分) を、@env{LC_COLLATE} ロケール・カテゴリ
-が @samp{C} に設定されているかのようにソートする。
+数値ではない PREFIX (前置部分) を、@env{LC_COLLATE} ロケール・カテゴリ
+@samp{C} に設定されているかのようにソートする。
 @item SUFFIX (後置部分) に上記の正規表現がマッチしてくれないことがある。
 従って、以下の例は、期待通りの順序ではないかもしれない。
 
@@ -7932,23 +7735,30 @@ abc-1.2.3.x86_64.rpm
 @opindex single-column @r{output of files}
 1 行 に 1 ファイルを表示する。標準出力が端末でないときの
 @command{ls} のデフォルトである。
+ファイル名中に改行文字があっても、それをそのまま出力してしまわないようにするには、
+@option{-b} や @option{-q} オプションも参照していただきたい。
+
+(訳注: @option{-1} オプションを指定しても、標準出力が端末ならば、
+ファイル名中の改行文字を @samp{?} 記号で表示するか、ファイル名を
+@samp{shell-escape} スタイルでクォートするか、どちらかをやってくれるはずだ。
+上の注意書きは、標準出力が端末でないときの話である。)
 
 @item -C
 @itemx --format=vertical
 @opindex -C
 @opindex --format
 @opindex vertical @r{sorted files in columns}
-ファイルのリストを多段組みで (訳注: すなわち、1 行に複数ファイル
-の形式で) 表示し、ソートは縦方向に行う。これは、標準出力が端末
-ときの @command{ls} のデフォルトである。@command{dir} コマンドにとっては、これが
-常にデフォルトになる。GNU の @command{ls} は、できるだけ少ない行数でできる
-だけ多くのファイルを表示するために、段の幅を可変にしている。
+ファイルのリストを多段組みで (訳注: すなわち、1 行に複数ファイルの形式で)
+表示し、ソートは縦方向に行う。これは、標準出力が端末のとき
+@command{ls} のデフォルトである。@command{dir} コマンドにとっては、
+これが常にデフォルトになる。GNU の @command{ls} は、
\81§ã\81\8dã\82\8bã\81 ã\81\91å°\91ã\81ªã\81\84è¡\8cæ\95°ã\81§ã\81§ã\81\8dã\82\8bã\81 ã\81\91å¤\9aã\81\8fã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82\92表示ã\81\99ã\82\8bã\81\9fã\82\81ã\81«ã\80\81段ã\81®å¹\85ã\82\92å\8f¯å¤\89ã\81«ã\81\97ã\81¦ã\81\84ã\82\8bã\80\82
 
 @item --color[=@var{when}]
 @opindex --color
 @cindex color, distinguishing file types with
-ファイルのタイプを区別するためにカラー表示を使用するかどうかを
-指定する。@var{when} は省略してもよく、以下の一つでもよい。
+ファイルのタイプを区別するためにカラー表示を使用するかどうかを指定する。
+@var{when} は省略してもよく、以下の一つでもよい。
 @itemize @bullet
 @item none
 @vindex none @r{color option}
@@ -7961,32 +7771,32 @@ abc-1.2.3.x86_64.rpm
 @vindex always @r{color option}
 常にカラー表示を使用する。
 @end itemize
-@option{--color} を @var{when} を付けずに指定するのは、"@option{--color=always} と
-同じことである。カラー表示にしたファイル・リストをパイプで @command{more}
-や @command{less} のようなページャに送ると、たいての場合、判読に苦しむ
-羽目になる。ただし、@code{more -f} を使うと、うまく行くようだ。(訳注:
-訳者の手元では、@code{less -R} や @code{lv -c} で一応問題なくカラー表示が
-できているように見える。)
+@var{when} を付けずに @option{--color} を指定するのは、"@option{--color=always}
+と同じことである。カラー表示にしたファイルのリストをパイプで @command{more} や
+@command{less} のようなページャに送ると、たいての場合、判読に苦しむ羽目になる。
+ただし、@code{more -f} を使うと、うまく行くようだ。(訳注: 訳者の手元では、
+@samp{less -R} や @samp{lv -c} で一応問題なくカラー表示ができているようだ。)
 
 @vindex LS_COLORS
 @vindex SHELL @r{environment variable, and color}
-留意すべきは、@option{--color} オプションを使用すると、大量のファイルが
-あるディレクトリで @command{ls} を実行したとき、目に見えて動作速度が低下
-するかもしれないことである。これは、カラー表示のデフォルトの設定
-では、@command{ls} は、リストするファイルを一つづつ @code{stat} システムコールで
-調べる必要があるからだ。とは言え、ファイルタイプのカラー表示は
-おおむね使用したいけれど、他の色付けオプションは使わなくてもよい
-こともある (たとえば、実行属性、リンク切れ、スティッキー・ビット、
-その他のユーザの書き込み権限、ケーパビリティなどは、色で表示しなく
-てもよい)。その場合は、こんなふうに、@command{dircolors} コマンドを使用
-して、環境変数 @env{LS_COLORS} を設定すればよい。
+留意すべきは、@option{--color} オプションを使用すると、
+大量のファイルがあるディレクトリで @command{ls} を実行したとき、
+目に見えて動作速度が低下するかもしれないことである。
+これは、カラー表示のデフォルトの設定では、@command{ls} は、
+リストするファイルを一つづつ @code{stat} システムコールで調べる必要があるからだ。
+とは言え、ファイルタイプのカラー表示はおおむね使用したいけれど、
+他の色付けオプションは使わなくてもよいこともある
+(たとえば、実行属性、リンク切れ、スティッキー・ビット、その他のユーザの書き込み権限、
+ケーパビリティなどは、色で表示しなくてもよい)。
+その場合は、こんなふうに、@command{dircolors} コマンドを使用して、環境変数
+@env{LS_COLORS} を設定すればよい。
 @example
 eval $(dircolors -p | perl -pe \
   's/^((CAP|S[ET]|O[TR]|M|E)\w+).*/$1 00/' | dircolors -)
 @end example
-そうすれば、@code{dirent.d_type} が使えるファイルシステムなら、@command{ls} は
-各コマンドライン引数に対してたった一回だけ @code{stat} システムコールを
-行うだけですむようになる。
+そうすれば、@code{dirent.d_type} が使えるファイルシステムなら、
+@command{ls} は各コマンドライン引数に対してたった一回だけ
+@code{stat} システムコールを行うだけですむようになる。
 
 @item -F
 @itemx --classify
@@ -7999,14 +7809,13 @@ eval $(dircolors -p | perl -pe \
 @c The following sentence is the same as the one for -d.
 各ファイル名の後ろに、ファイルタイプを示す 1 文字を付ける。
 通常ファイルの場合も、実行可能ファイルならば、@samp{*} を後置する。
-ファイルタイプの指標は、ディレクトリならば @samp{/}、シンボリック
-リンクならば @samp{@@}、FIFO ならば @samp{|}、ソケットならば @samp{=}、ドアならば
-@samp{>} であり、通常ファイルを表す指標はない。なお、
-@option{--dereference-command-line} (@option{-H}), @option{--dereference}
-(@option{-L}),
-@option{--dereference-command-line-symlink-to-dir} といったオプションが
-指定されていないかぎり、コマンドラインで指定されたシンボリックリンク
-をたどることはない。
+ファイルタイプの指標は、ディレクトリならば @samp{/}、シンボリックリンクならば
+@samp{@@}、FIFO ならば @samp{|}、ソケットならば @samp{=}、ドアならば
+@samp{>} であり、通常ファイルを表す指標はない。
+なお、@option{--dereference-command-line} (@option{-H}),
+@option{--dereference} (@option{-L}),
+@option{--dereference-command-line-symlink-to-dir}
+といったオプションが指定されていないかぎり、コマンドラインで指定されたシンボリックリンクをたどることはない。
 
 @item --file-type
 @itemx --indicator-style=file-type
@@ -8018,19 +7827,18 @@ eval $(dircolors -p | perl -pe \
 
 @item --indicator-style=@var{word}
 @opindex --indicator-style
-ファイル名の後ろに指標文字を付けるとき、@var{word} というスタイルを
-使用する。@var{word} には次のものがある。
+ファイル名の後ろに指標文字を付けるとき、@var{word} というスタイルを使用する。
+@var{word} には次のものがある。
 
 @table @samp
 @item none
 指標文字を全く付けない。これがデフォルトである。
 @item slash
-ディレクトリの後ろに @samp{/} を付ける。これは、@option{-p} オプションと
-同じである。
+ディレクトリの後ろに @samp{/} を付ける。これは、@option{-p} オプションと同じである。
 @item file-type
 ディレクトリ、シンボリックリンク、FIFO、ソケットの後ろに、
-それぞれ @samp{/}, @samp{@@}, @samp{|},  @samp{=} を付け、通常ファイルの後ろには
-何も付けない。これは、@option{--file-type} オプションと同じである。
+それぞれ @samp{/}, @samp{@@}, @samp{|},  @samp{=} を付け、
+通常ファイルの後ろには何も付けない。これは、@option{--file-type} オプションと同じである。
 @item classify
 実行可能な通常ファイルの後ろに @samp{*} を付ける。それ以外は、
 @samp{file-type} の場合と同じ動作をする。これは、@option{-F} や
@@ -8045,11 +7853,10 @@ eval $(dircolors -p | perl -pe \
 そのとき、環境変数でそれ以外のどんな値が設定されていても、
 それを上書きする (@pxref{Block size})。このオプション自身も、
 @option{--block-size}, @option{--human-readable} (@option{-h}),
-@option{--si} オプションが
-現れれば、それによって上書きされる。
+@option{--si} オプションがあれば、それによって上書きされる。
 
-@option{--kibibytes} (@option{-k}) オプションが影響を及ぼすのは、@option{-l} などの
-オプションが書き出すディレクトリごとのブロック数や、@option{--size}
+@option{--kibibytes} (@option{-k}) オプションが影響を及ぼすのは、@option{-l}
\81ªã\81©ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81\8cæ\9b¸ã\81\8då\87ºã\81\99ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81\94ã\81¨ã\81®ã\83\96ã\83­ã\83\83ã\82¯æ\95°ã\82\84ã\80\81@option{--size}
 (@option{-s}) オプションが表示するディスク割り当て量に対してである。
 @option{-l} の表示するファイルサイズには影響を及ぼさない。
 
@@ -8058,8 +7865,8 @@ eval $(dircolors -p | perl -pe \
 @opindex -m
 @opindex --format
 @opindex commas@r{, outputting between files}
-ファイルを横に並べ、各行に収まる範囲でできるだけ多くの項目を
-表示する。ファイル同士は @samp{, } (コンマとスペース) で区切る。
+ファイルを横に並べ、各行に収まる範囲でできるだけ多くの項目を表示する。
+ファイル同士は @samp{, } (コンマとスペース) で区切る。
 
 @item -p
 @itemx --indicator-style=slash
@@ -8075,8 +7882,8 @@ eval $(dircolors -p | perl -pe \
 @opindex --format
 @opindex across@r{, listing files}
 @opindex horizontal@r{, listing files}
-ファイルのリストを多段組みで (訳注: すなわち、1 行に複数ファイル
-の形式で) 表示し、ソートは横方向に行う。
+ファイルのリストを多段組みで (訳注: すなわち、1 行に複数ファイルの形式で)
+表示し、ソートは横方向に行う。
 
 @item -T @var{cols}
 @itemx --tabsize=@var{cols}
@@ -8086,21 +7893,23 @@ eval $(dircolors -p | perl -pe \
 @command{ls} は効率を考慮し、使えるときはタブを出力で使用する。
 @var{cols} が 0 の場合は、タブを使用しない。
 
-端末エミュレータの中には、ASCII 以外のバイトが前にあると、列を
-タブ位置の右にきちんと揃えてくれないものがあるかもしれない。
+端末エミュレータの中には、ASCII 以外のバイトが前にあると、
+列をタブ位置の右にきちんと揃えてくれないものがあるかもしれない。
 この問題を回避するには、@option{-T0} オプションを使うか、環境変数
 @code{TABSIZE=0} を設定するかして、列を揃えるのにタブではなく、
 スペースを使うよう、@command{ls} に指示すればよい。
 
-@item -w
+@item -w @var{cols}
 @itemx --width=@var{cols}
 @opindex -w
 @opindex --width
 @vindex COLUMNS
 スクリーンの横幅が @var{cols} 桁だと想定する。デフォルトの値は、
 可能ならば端末の設定から取得する。取得できないときは、環境変数
-@env{COLUMNS} を使用し、それも設定されていなければ、80 をデフォルト
-にする。
+@env{COLUMNS} が設定されていれば、それを使用する。
+それも設定されていないときのデフォルトの値は 80 である。
+@var{cols} の値を @samp{0} にすると、出力行の長さに制限がなくなる。
+その場合、ただ一行の出力中で各項目を分離するのは、タブではなく、スペースになる。
 
 @end table
 
@@ -8109,23 +7918,22 @@ eval $(dircolors -p | perl -pe \
 @subsection タイムスタンプのフォーマット
 
 デフォルトでは、ファイルのタイムスタンプは短縮形式で表示される。
-すなわち、最近のタイムスタンプ以外は、@samp{Mar 30@ @ 2002} といった
-日付表示になり、最近のタイムスタンプは、@samp{Mar 30 23:45} といった
-年度なしの日付と時刻の表示になる。この書式は、後で詳しく述べる
-ように、現在のロケールによっては違ったものになるかもしれない。
+すなわち、最近のタイムスタンプ以外は、@samp{Mar 30@ @ 2002}
+といった日付表示になり、最近のタイムスタンプは、@samp{Mar 30 23:45}
+といった年度なしの日付と時刻の表示になる。この書式は、後で詳しく述べるように、
+使用しているロケールによっては違ったものになるかもしれない。
 
 @cindex clock skew
-タイムスタンプは、ここ 6 ヶ月以内のもので、未来の日付が付いて
-いなければ、最近 (@dfn{recent}) として扱われる。今日の日付のタイム
-スタンプが、最近用の書式で表示されない場合、そのタイムスタンプは
-未来扱いされている。それは、おそらく時計に狂いが生じているという
-ことであり、@command{make} のような、ファイルのタイムスタンプに頼っている
-プログラムは、まともに動かないかもしれない。
+タイムスタンプは、ここ 6 ヶ月以内のもので、未来の日付が付いていなければ、
+最近 (@dfn{recent}) として扱われる。今日の日付のタイムスタンプが、
+最近用の書式で表示されない場合、そのタイムスタンプは未来扱いされている。
+それは、おそらく時計に狂いが生じているということであり、@command{make}
+のような、ファイルのタイムスタンプに頼っているプログラムは、まともに動かないかもしれない。
 
 @vindex TZ
-タイムスタンプは、タイムゾーンのルールに従って表示されるが、その
\83«ã\83¼ã\83«ã\82\92æ\8c\87å®\9aã\81\97ã\81¦ã\81\84ã\82\8bã\81®ã\81¯ã\80\81ç\92°å¢\83å¤\89æ\95° @env{TZ} ã\81§ã\81\82ã\82\8bã\80\82@env{TZ} ã\81\8c設å®\9aã\81\95ã\82\8cã\81¦
-いない場合は、システムのデフォルトのルールに従って表示される。
+タイムスタンプは、タイムゾーンのルールに従って表示されるが、
\81\9dã\81®ã\83«ã\83¼ã\83«ã\82\92æ\8c\87å®\9aã\81\97ã\81¦ã\81\84ã\82\8bã\81®ã\81¯ã\80\81ç\92°å¢\83å¤\89æ\95° @env{TZ} ã\81§ã\81\82ã\82\8bã\80\82
+@env{TZ} が設定されていない場合は、システムのデフォルトのルールに従って表示される。
 @xref{TZ Variable,, Specifying the Time Zone with @env{TZ}, libc,
 The GNU C Library Reference Manual}.
 
@@ -8135,51 +7943,51 @@ The GNU C Library Reference Manual}.
 @item --time-style=@var{style}
 @opindex --time-style
 @cindex time style
-タイムスタンプを @var{style} 形式で表示する。@var{style} は以下の一つで
-なければならない。
+タイムスタンプを @var{style} 形式で表示する。
+@var{style} は以下の一つでなければならない。
 
 @table @samp
 @item +@var{format}
 @vindex LC_TIME
-@var{format} を使って、タイムスタンプを表示する。その場合、@var{format}
-は、@command{date} コマンドの書式引数と同じように解釈される (@pxref{date invocation})。
+@var{format} を使って、タイムスタンプを表示する。
+その場合、@var{format} は、@command{date} コマンドの書式引数と同じように解釈される
+(@pxref{date invocation})。
 たとえば、@option{--time-style="+%Y-%m-%d %H:%M:%S"} と指定すると、
-@command{ls} の表示するタイムスタンプは、
-@samp{2002-03-30 23:45:56} のようになる。@command{date} の場合と同様、
-@var{format} の解釈は、@env{LC_TIME} ロケール・カテゴリの影響を受ける。
+@command{ls} の表示するタイムスタンプは、@samp{2002-03-30 23:45:56}
+のようになる。@command{date} の場合と同様、@var{format}
+の解釈は、@env{LC_TIME} ロケール・カテゴリの影響を受ける。
 
-@var{format} に改行で分離された二つの書式文字列がある場合、前半は
-最近のファイル以外に使用され、後半は最近のファイルに使用される。
\87ºå\8a\9bã\81\95ã\82\8cã\82\8bå\88\97ã\82\92ã\81\8dã\81¡ã\82\93ã\81¨æ\8f\83ã\81\88ã\81\9fã\81\84ã\81ªã\82\89ば、二つの書式のどちらかに、
+@var{format} に改行で分離された二つの書式文字列がある場合、
+前半は最近のファイル以外に使用され、後半は最近のファイルに使用される。
\87ºå\8a\9bã\81\95ã\82\8cã\82\8bå\88\97ã\82\92ã\81\8dã\81¡ã\82\93ã\81¨æ\8f\83ã\81\88ã\81\9fã\81\91ã\82\8cば、二つの書式のどちらかに、
 空白をいくつか入れる必要があるかもしれない。
 
 @item full-iso
-タイムスタンプを省略なしで表示する。すなわち、ISO 8601 の
-日付、時刻、タイムゾーンという書式を nanosecond (10 億分の 1 秒)
-の精度で使用するわけだ。一例を挙げると、@samp{2002-03-30 23:45:56.477817180 -0700}
-といった表示になる。この形式は、
-@samp{+%Y-%m-%d %H:%M:%S.%N %z} と同じである。
-
-これが有用なのは、タイムスタンプが、オペレーティング・システム
-から取得できる時間関係のすべての情報を含んでいるからである。
-たとえば、GNU の @command{make} は、あるファイルが古いかどうかを
-判定するのに、省略なしのタイムスタンプを使用する。そのため、
-この情報が、@command{make} の動作を説明してくれるのである。
+タイムスタンプを省略なしで表示する。
+すなわち、ISO 8601 の日付、時刻、タイムゾーンという構成要素を
+nanosecond (10 億分の 1 秒) の精度で使用するわけだ。
+一例を挙げると、@samp{2002-03-30 23:45:56.477817180 -0700}
+といった表示になる。この形式は、@samp{+%Y-%m-%d %H:%M:%S.%N %z} と同じである。
+
+これが有用なのは、タイムスタンプが、オペレーティング・システムから取得できる時間関係のすべての情報を含んでいるからである。
+たとえば、GNU の @command{make} は、あるファイルが古いかどうかを判定するのに、
+省略なしのタイムスタンプを使用している。そのため、この情報が、@command{make}
+の動作を説明するために役立つことがあるのである。
 
 @item long-iso
-ISO 8601 ã\81®æ\9b¸å¼\8fã\81§æ\97¥ä»\98ã\81¨æ\99\82å\88»を分の単位まで表示する。たとえば、
+ISO 8601 ã\81®æ\97¥ä»\98ã\81¨æ\99\82å\88»ã\81®æ§\8bæ\88\90è¦\81ç´ を分の単位まで表示する。たとえば、
 @samp{2002-03-30 23:45}。このタイムスタンプは、@samp{full-iso} タイム
 スタンプより短く、日常作業にはたいてい十分である。この形式は
 @samp{+%Y-%m-%d %H:%M} と同じである。
 
 @item iso
-最近以外のタイムスタンプでは、ISO 8601 書式の日付を表示し
-(たとえば @samp{2002-03-30@ })、最近のタイムスタンプでは、ISO
-8601 書式の月・日・時・分を表示する (たとえば @samp{03-30 23:45})。
-この形式は、@samp{long-iso} の形式に比べて見かけがよくないが、より
-狭いスペースでほぼ同量の情報を伝えており、また、簡潔なので
-@command{ls} の出力を伝統的な 1 行 80 桁の出力行に納めるのに都合が
-よい。@command{ls} を実行する以下の二つの方法は、同じことである。
+最近以外のタイムスタンプでは、ISO 8601 の日付を表示し
+(たとえば @samp{2002-03-30@ })、最近のタイムスタンプでは、
+ISO 8601 風の月・日・時・分を表示する (たとえば @samp{03-30 23:45})。
+この形式は、@samp{long-iso} の形式に比べて見かけがよくないが、
+より狭いスペースでほぼ同量の情報を伝えており、また、簡潔なので
+@command{ls} の出力を伝統的な 1 行 80 桁の出力行に納めるのに都合がよい。
+@command{ls} を実行する以下の二つの方法は、同じことである。
 
 @example
 newline='
@@ -8193,17 +8001,15 @@ ls -l --time-style="iso"
 タイムスタンプをロケール依存形式で表示する。たとえば、
 フィンランド語のロケールだと、最近以外のタイムスタンプを
 @samp{maalis 30@ @ 2002} のように表示し、最近のタイムスタンプは
-@samp{maalis 30 23:45} のように表示するかもしれない。ロケール
-依存のタイムスタンプは、概して @samp{iso} のタイムスタンプより
-長くなるし、ロケールごとの規則の違いは非常に大きいので、
-プログラムによる解析がずっと難しくなる。だが、こちらの方が
-わかりやすい人も大勢いる。
-
-タイムスタンプの書式を決めているのは、@env{LC_TIME} ロケール・
-カテゴリである。デフォルトの POSIX ロケールでは、@samp{Mar 30@ @ 2002} や
+@samp{maalis 30 23:45} のように表示するかもしれない。
+ロケール依存のタイムスタンプは、概して @samp{iso} のタイムスタンプより長くなるし、
+ロケールごとの規則の違いは非常に大きいので、プログラムによる解析がずっと難しくなる。
+だが、こちらの方がわかりやすい人も大勢いる。
+
+タイムスタンプの書式を決めているのは、@env{LC_TIME} ロケール・カテゴリである。
+デフォルトの POSIX ロケールでは、@samp{Mar 30@ @ 2002} や
 @samp{Mar 30 23:45} といったタイムスタンプを使っている。
-POSIX ロケールでは、@command{ls} を実行する次の二つの方法は、同じこと
-である。
+POSIX ロケールでは、@command{ls} を実行する次の二つの方法は、同じことである。
 
 @example
 newline='
@@ -8212,21 +8018,19 @@ ls -l --time-style="+%b %e  %Y$newline%b %e %H:%M"
 ls -l --time-style="locale"
 @end example
 
-しかし、他のロケールでは動作が違う。たとえば、ドイツ語の
-ロケールだと、@option{--time-style="locale"} は @option{--time-style="+%e. %b %Y
+しかし、他のロケールでは動作が違う。たとえば、ドイツ語のロケールだと、
+@option{--time-style="locale"} は @option{--time-style="+%e. %b %Y
 $newline%e. %b %H:%M"}
-とおそらく同じになり、@samp{30. M@"ar 2002@ }
-や @samp{30. M@"ar 23:45} といったタイムスタンプを生成する
-だろう。
+とおそらく同じになり、@samp{30. M@"ar 2002@ } や
+@samp{30. M@"ar 23:45} といったタイムスタンプを生成するだろう。
 
 @item posix-@var{style}
 @vindex LC_TIME
-@env{LC_TIME} ロケール・カテゴリが POSIX なら、POSIX ロケールの
-タイムスタンプを表示し、それ以外なら、@var{style} 形式のタイム
-スタンプを表示する。たとえば、@samp{posix-long-iso} という指定は、
-POSIX ロケールでは @samp{Mar 30@ @ 2002} や @samp{Mar 30 23:45} といった
-タイムスタンプを表示し、それ以外のロケールでは @samp{2002-03-30 23:45}
-といったタイムスタンプを表示する。
+@env{LC_TIME} ロケール・カテゴリが POSIX なら、POSIX ロケールのタイムスタンプを表示し、
+それ以外なら、@var{style} 形式のタイムスタンプを表示する。
+たとえば、@samp{posix-long-iso} という指定は、POSIX ロケールでは
+@samp{Mar 30@ @ 2002} や @samp{Mar 30 23:45} といったタイムスタンプを表示し、
+それ以外のロケールでは @samp{2002-03-30 23:45} といったタイムスタンプを表示する。
 @end table
 @end table
 
@@ -8234,14 +8038,13 @@ POSIX ロケールでは @samp{Mar 30@ @ 2002} や @samp{Mar 30 23:45} といっ
 @option{--time-style} オプションのデフォルト値は、環境変数 @env{TIME_STYLE}
 を使って指定することができる。@env{TIME_STYLE} が設定されていない場合、
 デフォルトの形式は @samp{locale} である。GNU Emacs のバージョン 21.3
-以降では、@command{ls} の @option{--dired} オプションを使用しており、従って、
-どんな日付のフォーマットでも解析することができる。しかし、Emacs 21.1
+以降では、@command{ls} の @option{--dired} オプションを使用しており、
+従って、どんな日付のフォーマットでも解析することができる。しかし、Emacs 21.1
 や 21.2 を使っていて、POSIX 以外のロケールを指定している場合は、
 @samp{TIME_STYLE="posix-long-iso"} を設定する必要があるかもしれない。
 
-ある種のサービス不能化攻撃 (denial-of-service attacks) を回避する
-ため、1000 バイトより長くなりそうなタイムスタンプは、エラーとして処理
-されることがある。
+ある種のサービス不能化攻撃 (denial-of-service attacks) を回避するため、
+1000 バイトより長くなりそうなタイムスタンプは、エラーとして処理されることがある。
 
 
 @node Formatting the file names
@@ -8258,9 +8061,10 @@ POSIX ロケールでは @samp{Mar 30@ @ 2002} や @samp{Mar 30 23:45} といっ
 @opindex --escape
 @opindex --quoting-style
 @cindex backslash sequences for file names
-ファイル名中の非表示文字 (nongraphic characters) を、C 言語で
-使うような、バックスラッシュにアルファベットや 8 進数を続ける方法を
-使用して、クォートする。
+ファイル名中の非表示文字を、C 言語で使うような、バックスラッシュにアルファベットや
+8 進数を続ける方法を使用して、クォートする (訳注:
+このオプションでは、タブや改行だけでなく、空白 (Ox20)
+もバックスラッシュでクォートされる)。
 
 @item -N
 @itemx --literal
@@ -8268,16 +8072,23 @@ POSIX ロケールでは @samp{Mar 30@ @ 2002} や @samp{Mar 30 23:45} といっ
 @opindex -N
 @opindex --literal
 @opindex --quoting-style
-ファイル名をクォートしない。とは言え、@command{ls} では、出力先が端末の
-場合、@option{--show-control-chars} が指定されていなければ、非表示文字を
-疑問符として表示するぐらいのことは行う。
+ファイル名をクォートしない。とは言え、@command{ls} では、出力先が端末の場合は、
+@option{--show-control-chars} が指定されていないかぎり、
+非表示文字を疑問符として表示するぐらいのことは行う。
 
 @item -q
 @itemx --hide-control-chars
 @opindex -q
 @opindex --hide-control-chars
-ファイル名中の非表示文字に代えて、疑問符を表示する、この動作は、
-出力先が端末で、プログラムが @command{ls} の場合のデフォルトである。
+ファイル名中の非表示文字に代えて、疑問符を表示する。
+この動作は、出力先が端末で、プログラムが @command{ls}
+の場合のデフォルトである。
+
+(訳注: このオプションの現在の動作は変わっているかもしれない。
+すなわち、出力先が端末以外の場合は、上記の通り、非表示文字を疑問符で表示するが、
+出力先が端末の場合は、非表示文字を疑問符ではなく、@samp{$''}
+という形で表示し、空白 (0x20) を含むファイル名はファイル名全体をシングルクォートで囲むかもしれない。
+@option{--quoting-style} の説明の末尾の訳注もご覧になっていただきたい。)
 
 @item -Q
 @itemx --quote-name
@@ -8285,62 +8096,90 @@ POSIX ロケールでは @samp{Mar 30@ @ 2002} や @samp{Mar 30 23:45} といっ
 @opindex -Q
 @opindex --quote-name
 @opindex --quoting-style
-ファイル名をダブル・クォートで囲み、非表示文字を C 言語と同じ
-やり方でクォートする。
+ファイル名をダブル・クォートで囲み、非表示文字を C 言語と同じやり方でクォートする。
 
 @item --quoting-style=@var{word}
 @opindex --quoting-style
 @cindex quoting style
-ファイル名などの文字列には、通常使われない文字が含まれているかも
\81\97ã\82\8cã\81ªã\81\84ã\80\82ã\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92æ\8c\87å®\9aã\81\99ã\82\8bã\81¨ã\80\81@var{word} ã\81¨ã\81\84ã\81\86ã\82¹ã\82¿ã\82¤ã\83«ã\82\92使ã\81£ã\81¦ã\80\81
-そうした文字列をクォートすることになる。@var{word} は、以下に挙げるものの
-一つでなければならない。
+ファイル名などの文字列には、通常使われない文字が含まれているかもしれない。
+このオプションを指定すると、@var{word} というスタイルを使って、
+そうした文字列をクォートすることになる。
+@var{word} は、以下に挙げるものの一つでなければならない。
 
+@macro quotingStyles
 @table @samp
 @item literal
 文字列に手を加えず、そのまま出力する。これは、@option{-N} や
 @option{--literal} オプションと同じである。
 @item shell
-文字列にシェルのメタ文字がある場合や、出力が誤解を招くものに
-なりそうな場合に、シェル向けのクォートを施す。このクォート
-方法は、@command{bash} のような POSIX 互換のシェルにはふさわしいもの
-だが、@command{csh} のような非互換のシェルでは、必ずしもうまく働く
-とはかぎらない。
+文字列にシェルのメタ文字がある場合や、出力が誤解を招くものになりそうな場合に、
+シェル向けのクォートを施す。このクォート方法は、@command{bash} のような
+POSIX 互換のシェルにはふさわしいものだが、
+@command{csh} のような非互換のシェルでは、必ずしもうまく働くとはかぎらない。
 @item shell-always
-普通ならクォートが不要な場合でも、文字列にシェル向けのクォートを
-施す。
+普通ならクォートが不要な場合でも、文字列にシェル向けのクォートを施す。
+@item shell-escape
+@samp{shell} に似ているが、非表示文字のクォーティングに POSIX 提唱の
+@samp{$''} という書式を使用する。ほとんどのシェルに適している。
+(訳注: ファイル名中に空白 (0x20) がある場合は、ファイル名全体をシングルクォートで囲む。)
+@item shell-escape-always
+@samp{shell-escape} に似ているが、普通ならクォートが不要な場合でも、
+文字列にクォートを施す。
 @item c
-C 言語の文字列リテラルをクォートするときのように、文字列を
-クォートする。文字列をダブル・クォートで囲むことも行う。
+C 言語の文字列リテラルをクォートするときのように、文字列をクォートする。
+文字列をダブル・クォートで囲むことも行う。
 これは、@option{-Q} や @option{--quote-name} オプションと同じである。
 @item escape
-C 言語の文字列リテラルをクォートするときのように、文字列を
\82¯ã\82©ã\83¼ã\83\88ã\81\99ã\82\8bã\80\82ã\81\9fã\81 ã\81\97ã\80\81æ\96\87å­\97å\88\97ã\82\92ã\83\80ã\83\96ã\83«ã\83»ã\82¯ã\82©ã\83¼ã\83\88ã\81§å\9b²ã\82\80ã\81\93ã\81¨ã\81¯
\81\97ã\81ªã\81\84ã\80\82ã\81\93ã\82\8cã\81¯ã\80\81@option{-b} ã\82\84 @option{--escape} ã\81¨å\90\8cã\81\98ã\81§ã\81\82ã\82\8bã\80\82
+C 言語の文字列リテラルをクォートするときのように、文字列をクォートする。
\81\9fã\81 ã\81\97ã\80\81æ\96\87å­\97å\88\97ã\82\92ã\83\80ã\83\96ã\83«ã\83»ã\82¯ã\82©ã\83¼ã\83\88ã\81§å\9b²ã\82\80ã\81\93ã\81¨ã\81¯ã\81\97ã\81ªã\81\84ã\80\82
+これは、@option{-b} や @option{--escape} と同じである。
 @item clocale
-C 言語の文字列リテラルをクォートするときのように、文字列を
-クォートする。ただし、文字列を囲む引用符には、ロケールに
-ふさわしいものを使う。
+C 言語の文字列リテラルをクォートするときのように、文字列をクォートする。
+ただし、文字列を囲む引用符には、ロケールにふさわしいものを使う。
 @item locale
 @c Use @t instead of @samp to avoid duplicate quoting in some output styles.
-C 言語の文字列リテラルをクォートするときのように、文字列を
-クォートする。ただし、文字列を囲む引用符には、ロケールに
-ふさわしいものを使い、さらに、デフォルトの C ロケールで
-言うと、@t{"like this"} ではなく、@t{'like this'} のように
-クォートを行う。この方が見栄えのよいディスプレイが多い。
+C 言語の文字列リテラルをクォートするときのように、文字列をクォートする。
+ただし、文字列を囲む引用符には、ロケールにふさわしいものを使い、
+さらに、デフォルトの C ロケールで言うと、@t{"like this"} ではなく、
+@t{'like this'} のようにクォートを行う。この方が見栄えのよいディスプレイが多い。
 @end table
+@end macro
+@quotingStyles
 
 @option{--quoting-style} オプションのデフォルト値は、環境変数
-@env{QUOTING_STYLE} によって指定することができる。この環境変数が
-設定されていない場合、デフォルトの値は @samp{literal} だが、
-このパッケージの将来のバージョンでは、デフォルトを @samp{shell} に
-変更するかもしれない。
+@env{QUOTING_STYLE} によって指定することができる。
+この環境変数が設定されていない場合、デフォルトの値は、出力先が端末のときは
+@samp{shell-escape} であり、端末以外のときは @samp{literal} である。
+
+(訳注: 上記の説明からは、デフォルトの端末に対する出力のスタイルは、
+@samp{shell-escape} であるように読める。しかし、@option{--hide-control-chars}
+(@option{-q}) の説明や、@command{ls} の章全体の冒頭では、
+非表示文字を疑問符として表示するのが、デフォルトの端末に対する出力だと言っている。
+info マニュアルの説明に少し混乱があり、部分的に古い記述が残っているらしい。実のところ、coreutils
+の開発元では、バージョン 8.25 あたりから、デフォルトの端末に対する出力を
+@option{--quoting-style=shell-escape} にしている。
+たとえば、ファイル名にタブが含まれている場合、オプションなしの
+@command{ls} は、@samp{aaa?bbb} ではなく @samp{'aaa'$'\t''bbb'}
+のように端末に表示するのである。また、ファイル名中に空白がある場合は、
+ファイル名全体をシングルクォートで囲って、@samp{'/misc/xxx yyy'}
+のように表示する。しかし、ディストリビューションによっては、バージョン
+8.26 でも、デフォルトの端末に対する出力を
+@option{--quoting-style=literal} にしていることもある。
+その方が見やすいかもしれないので、それも一見識だと思う。端末に対するデフォルトの出力や
+@option{-q} オプションの動作が、ご自分のところではどうなっているか、一度お確かめになっておくとよい。)
 
 @item --show-control-chars
 @opindex --show-control-chars
 ファイル名中の非表示文字に手を加えず、そのまま出力する。
-この動作は、出力先が端末ではない場合や、プログラムが @command{ls} では
-ない場合の (訳注: たとえば、@command{wc} や @command{du} の) デフォルトである。
+この動作は、出力先が端末ではない場合や、プログラムが @command{ls}
+ではない場合のデフォルトである。
+
+(訳注: 開発元配布のバージョン 8.26 では、@option{--show-contrls-chars}
+を指定した場合も、出力先が端末だと、非表示文字を @samp{$''} の書式で表示している。
+出力先が端末以外なら、上の説明どおり、非表示文字がそのまま出力される。
+しかし、ディストリビューション配布の @command{ls}
+では、出力先が端末の場合に上記説明通りの動作をするものもある。
+これも、お手元で実際の動作を確かめておいていただきたい。)
 
 @end table
 
@@ -8351,10 +8190,10 @@ C 言語の文字列リテラルをクォートするときのように、文字
 @pindex dir
 @cindex directory listing, brief
 
-@command{dir} の動作は、@code{ls -C -b} と同じである。すなわち、デフォルトでは、
\83\95ã\82¡ã\82¤ã\83«ã\81®ã\83ªã\82¹ã\83\88ã\82\92å¤\9a段çµ\84ã\81¿ã\81§ (訳注: 1 è¡\8cã\81«è¤\87æ\95°ã\83\95ã\82¡ã\82¤ã\83«ã\81®å½¢å¼\8fã\81§) è¡¨ç¤ºã\81\97ã\80\81
-ソートは縦方向に行う。また、特殊文字は、バックスラッシュ・エスケープ
-シーケンスを使って表示する。
+@command{dir} の動作は、@code{ls -C -b} と同じである。
\81\99ã\81ªã\82\8fã\81¡ã\80\81ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81§ã\81¯ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\81®ã\83ªã\82¹ã\83\88ã\82\92å¤\9a段çµ\84ã\81¿ã\81§
+(訳注: 1 行に複数ファイルの形式で) 表示し、ソートは縦方向に行う。
\81¾ã\81\9fã\80\81ç\89¹æ®\8aæ\96\87å­\97ã\81¯ã\80\81ã\83\90ã\83\83ã\82¯ã\82¹ã\83©ã\83\83ã\82·ã\83¥ã\83»ã\82¨ã\82¹ã\82±ã\83¼ã\83\97ã\82·ã\83¼ã\82±ã\83³ã\82¹ã\82\92使ã\81£ã\81¦è¡¨ç¤ºã\81\99ã\82\8bã\80\82
 
 @xref{ls invocation, @command{ls}}.
 
@@ -8365,9 +8204,11 @@ C 言語の文字列リテラルをクォートするときのように、文字
 @pindex vdir
 @cindex directory listing, verbose
 
-@command{vdir} の動作は、@code{ls -l -b} と同じである。すなわち、デフォルトでは、
-詳細形式でファイルをリストし、特殊文字は、バックスラッシュ・エスケープ
-シーケンスを使って表示する。
+@command{vdir} の動作は、@code{ls -l -b} と同じである。
+すなわち、デフォルトでは、詳細形式でファイルをリストし、
+特殊文字は、バックスラッシュ・エスケープシーケンスを使って表示する。
+
+@xref{ls invocation, @command{ls}}.
 
 @node dircolors invocation
 @section @command{dircolors}: @command{ls} のカラー設定
@@ -8376,9 +8217,9 @@ C 言語の文字列リテラルをクォートするときのように、文字
 @cindex color setup
 @cindex setup for color
 
-@command{dircolors} は、@command{ls} (や @command{dir} など) でカラー出力をするのに必要な
-端末設定のためのシェル・コマンドのシーケンスを出力する。通常、次の
-ような形で使用される。
+@command{dircolors} は、@command{ls} (や @command{dir} など)
+でカラー出力をするのに必要な端末設定のためのシェルコマンドのシーケンスを出力する。
+通常、次のような形で使用される。
 
 @example
 eval "$(dircolors [@var{option}]@dots{} [@var{file}])"
@@ -8386,12 +8227,12 @@ eval "$(dircolors [@var{option}]@dots{} [@var{file}])"
 
 @var{file} が指定されていると、@command{dircolors} はそれを読み込んで、
 どのファイルタイプや拡張子に対してどの色を使うかを決定する。
-@var{file} が指定されていない場合は、プログラムに埋め込まれているデータベース
\81\8c使ç\94¨ã\81\95ã\82\8cã\82\8bã\80\82ã\81\9dã\81\86ã\81\97ã\81\9f設å®\9aã\83\95ã\82¡ã\82¤ã\83«ã\81®æ\9b¸å¼\8fã\81«ã\81¤ã\81\84ã\81¦è©³ã\81\97ã\81\84ã\81\93ã\81¨ã\82\92ç\9f¥ã\82\8aã\81\9f
-かったら、@samp{dircolors --print-database} を実行してみるとよい。
+@var{file} が指定されていない場合は、プログラムに埋め込まれているデータベースが使用される。
\81\9dã\81\86ã\81\97ã\81\9f設å®\9aã\83\95ã\82¡ã\82¤ã\83«ã\81®æ\9b¸å¼\8fã\81«ã\81¤ã\81\84ã\81¦è©³ã\81\97ã\81\84ã\81\93ã\81¨ã\82\92ç\9f¥ã\82\8aã\81\9fã\81\8bã\81£ã\81\9fã\82\89ã\80\81
+@samp{dircolors --print-database} を実行してみるとよい。
 
-ファイル @file{~/.dircolors} が存在していたら、@command{dircolors} がそれを
-読み込むようにするには、以下の行を自分の @file{~/.bashrc} に書き込めばよい
+ファイル @file{~/.dircolors} が存在していたら、@command{dircolors}
+がそれを読み込むようにするには、以下の行を自分の @file{~/.bashrc} に書き込めばよい
 (お気に入りのシェルが bash でないなら、適切に書き直すこと)。
 
 @example
@@ -8401,10 +8242,10 @@ test -r $d && eval "$(dircolors $d)"
 
 @vindex LS_COLORS
 @vindex SHELL @r{environment variable, and color}
-@command{dircolors} の出力は、環境変数 @env{LS_COLORS} を設定するシェル・
\82³ã\83\9eã\83³ã\83\89ã\81§ã\81\82ã\82\8bã\80\82ã\81©ã\81®ã\82·ã\82§ã\83«ã\81®æ\96\87æ³\95ã\81«ã\81\99ã\82\8bã\81\8bã\81¯ã\80\81ã\82³ã\83\9eã\83³ã\83\89ã\83©ã\82¤ã\83³ã\81§
-指定することができる。指定しない場合は、環境変数 @env{SHELL} の値から
-@command{dircolors} が推測する。
+@command{dircolors} の出力は、環境変数 @env{LS_COLORS}
\82\92設å®\9aã\81\99ã\82\8bã\82·ã\82§ã\83«ã\82³ã\83\9eã\83³ã\83\89ã\81§ã\81\82ã\82\8bã\80\82ã\81©ã\81®ã\82·ã\82§ã\83«ã\81®æ\96\87æ³\95ã\81«ã\81\99ã\82\8bã\81\8bã\81¯ã\80\81
+コマンドラインで指定することができる。指定しない場合は、環境変数 @env{SHELL}
+の値から @command{dircolors} が推測する。
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 
@@ -8417,9 +8258,9 @@ test -r $d && eval "$(dircolors $d)"
 @opindex --bourne-shell
 @cindex Bourne shell syntax for color setup
 @cindex @command{sh} syntax for color setup
-Bourne シェルのコマンドを出力する。これが、環境変数 @env{SHELL} が
-設定されていて、その値が @samp{csh} や @samp{tcsh} で終わっていないときの
-デフォルトである。
+Bourne シェルのコマンドを出力する。これが、環境変数 @env{SHELL}
+が設定されていて、その値が @samp{csh} や @samp{tcsh}
\81§çµ\82ã\82\8fã\81£ã\81¦ã\81\84ã\81ªã\81\84ã\81¨ã\81\8dã\81®ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81§ã\81\82ã\82\8bã\80\82
 
 @item -c
 @itemx --csh
@@ -8439,9 +8280,8 @@ C シェルのコマンドを出力する。これは、環境変数 @code{SHELL
 @cindex color database, printing
 @cindex database for color setup, printing
 @cindex printing color database
-(プログラムに埋め込まれている) デフォルトのカラー設定データベースを
-出力する。この出力は、それ自体有効な設定ファイルであり、どういう
-設定が可能かについてかなり詳しく説明している。
+(プログラムに埋め込まれている) デフォルトのカラー設定データベースを出力する。
+この出力は、それ自体有効な設定ファイルであり、どういう設定が可能かについてかなり詳しく説明している。
 
 @end table
 
@@ -8474,12 +8314,11 @@ C シェルのコマンドを出力する。これは、環境変数 @code{SHELL
 @cindex files, copying
 @cindex directories, copying
 
-@command{cp} はファイルをコピーする (もしそうしたければ、ディレクトリの
-コピーもできる)。コピーによって作られたファイルは、コピー元から全く
-独立したものになる。一つのファイルを別のファイルにコピーすることも
-できるし、好きなだけたくさんのファイルをコピー先のディレクトリに
-一遍にコピーすることもできる。
-@sp 1
+@command{cp} はファイルをコピーする (もしそうしたければ、ディレクトリのコピーもできる)。
+コピーによって作られたファイルは、コピー元から全く独立したものになる。
+一つのファイルを別のファイルにコピーすることもできるし、
+好きなだけたくさんのファイルをコピー先のディレクトリに一遍にコピーすることもできる。
+
 書式:
 
 @example
@@ -8490,52 +8329,51 @@ cp [@var{option}]@dots{} -t @var{directory} @var{source}@dots{}
 
 @itemize @bullet
 @item
-ファイル名を二つ指定すると、@command{cp} は最初のファイルを 2 番目の
-ファイルにコピーする。
+ファイル名を二つ指定すると、@command{cp} は最初のファイルを 2 番目のファイルにコピーする。
 
 @item
-@option{--target-directory} (@option{-t}) オプションを指定した場合や、あるいは
-それを指定しないでも、最後のファイルがディレクトリであり、しかも
+@option{--target-directory} (@option{-t}) オプションを指定した場合や、
\81\82ã\82\8bã\81\84ã\81¯ã\81\9dã\82\8cã\82\92æ\8c\87å®\9aã\81\97ã\81ªã\81\84ã\81§ã\82\82ã\80\81æ\9c\80å¾\8cã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81\8cã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81§ã\81\82ã\82\8aã\80\81ã\81\97ã\81\8bã\82\82
 @option{--no-target-directory} (@option{-T}) オプションを指定していない場合は、
-@command{cp} は、各コピー元 (@var{source}) ファイルを、指定されたディレクトリに
-コピー元 (@var{source}) と同じ名前でコピーする。
+@command{cp} は、各コピー元 (@var{source}) ファイルを、指定されたディレクトリにコピー元
+(@var{source}) と同じ名前でコピーする。
 @end itemize
 
-ほとんどの場合、ファイルは読み込まれたとおりに書き出される。例外に
-ついては、後述の @option{--sparse} オプションをご覧になっていただきたい。
+ほとんどの場合、ファイルは読み込まれたとおりに書き出される。
+例外については、後述の @option{--sparse} オプションをご覧になっていただきたい。
 
-デフォルトでは、@command{cp} はディレクトリをコピーしない。ただし、
-@option{-R}, @option{-a}, @option{-r} オプションを指定すると、@command{cp} は再帰的なコピーを行う。
-すなわち、コピー元のディレクトリを段階的に下って、対応するコピー先の
-ディレクトリにファイルをコピーすることになる。
+デフォルトでは、@command{cp} はディレクトリをコピーしない。
+ただし、@option{-R}, @option{-a}, @option{-r} オプションを指定すると、
+@command{cp} は再帰的なコピーを行う。
\81\99ã\81ªã\82\8fã\81¡ã\80\81ã\82³ã\83\94ã\83¼å\85\83ã\81®ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\82\92段é\9a\8eç\9a\84ã\81«ä¸\8bã\81£ã\81¦ã\80\81対å¿\9cã\81\99ã\82\8bã\82³ã\83\94ã\83¼å\85\88ã\81®ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81«ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ã\82³ã\83\94ã\83¼ã\81\99ã\82\8bã\81\93ã\81¨ã\81«ã\81ªã\82\8bã\80\82
 
-コピー元がシンボリックリンクの場合、@command{cp} がリンクをたどるのは
-(訳注: すなわち、リンクそのものではなく、参照先の実ファイルをコピー
-するのは)、通常では、再帰的なコピーをしていないときか、あるいは、
-@option{--link} (@option{-l}) オプションが使用されているときだけである。このデフォ
\83«ã\83\88ã\81®å\8b\95ä½\9cã\81¯ã\80\81次ã\81«æ\8c\99ã\81\92ã\82\8bã\82ªã\83\97ã\82·ã\83§ã\83³ã\81«ã\82\88ã\81£ã\81¦ä¸\8aæ\9b¸ã\81\8dすることができる。
+コピー元がシンボリックリンクの場合、@command{cp} がリンクをたどるのは
+(訳注: すなわち、リンクそのものではなく、参照先の実ファイルをコピーするのは)、
+通常では、再帰的なコピーをしていないときか、あるいは、@option{--link}
+(@option{-l}) オプションが使用されているときだけである。
\81\93ã\81®ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81®å\8b\95ä½\9cã\81¯ã\80\81次ã\81«æ\8c\99ã\81\92ã\82\8bã\82ªã\83\97ã\82·ã\83§ã\83³ã\81«ã\82\88ã\81£ã\81¦å¤\89æ\9b´することができる。
 @option{--archive} (@option{-a}), @option{-d}, @option{--dereference}
-(@option{-L}), @option{--no-dereference}
-(@option{-P}), @option{-H}。こうしたオプションを二つ以上指定すると、@command{cp} は警告を
-出さず、最後のオプションで他のものを上書きする。
-@sp 1
-(訳注: coreutils-8.22 の @command{cp} では @option{--link} オプションの動作が変更
\81«ã\81ªã\81£ã\81\9fã\80\82ã\82³ã\83\94ã\83¼å\85\83ã\81\8cã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81®å ´å\90\88ã\80\81coreutils-8.21 ã\81¾ã\81§ã\81¯ã\80\81
+(@option{-L}),
+@option{--no-dereference} (@option{-P}), @option{-H}。
+こうしたオプションを二つ以上指定すると、@command{cp} は警告を出さず、最後のオプションで他のものを上書きする。
+
+(訳注: 最近の @command{cp} では @option{--link} オプションの動作が変更されている。
+コピー元がシンボリックリンクの場合、coreutils-8.21 までは、
 デフォルトでは、シンボリックリンクのハードリンクを作っていたが、8.22
-の @command{cp} では参照先ファイルのハードリンクを作るようになっている。)
-
-コピー先がシンボリックリンクの場合、@command{cp} がリンクをたどるのは
-(訳注: すなわち、コピー元ファイルで、リンクそのものではなく、参照先の
\83\95ã\82¡ã\82¤ã\83«ã\82\92ä¸\8aæ\9b¸ã\81\8dã\81\99ã\82\8bã\81®ã\81¯)ã\80\81ã\81\9dã\81®ã\83ªã\83³ã\82¯ã\81\8cã\80\81å­\98å\9c¨ã\81\99ã\82\8bé\80\9a常ã\83\95ã\82¡ã\82¤ã\83«ã\82\92æ\8c\87ã\81\97ã\81¦
\81\84ã\82\8bã\81¨ã\81\8dã\81 ã\81\91ã\81§ã\81\82ã\82\8bã\80\82ã\81\9dã\82\8cã\81«å¯¾ã\81\97ã\81¦ã\80\81ã\82³ã\83\94ã\83¼å\85\88ã\81®ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81\8cã\83ªã\83³ã\82¯
-切れしている場合は、@command{cp} は、デフォルトではコピーを拒否し、エラーメッ
\82»ã\83¼ã\82¸ã\82\92å\87ºã\81\97ã\81¦ã\80\81å®\9fè¡\8cã\81«å¤±æ\95\97ã\81\99ã\82\8bã\80\82ã\81\9dã\81\86ã\81\97ã\81\9fæ\93\8dä½\9cã\81¯ã\80\81æ\9c¬è³ªç\9a\84ã\81«å\8d±é\99ºã\81 ã\81\8bã\82\89ã\81§
\81\82ã\82\8bã\80\82ã\81\93ã\81®å\8b\95ä½\9cã\81¯ã\80\81ä¼\9dçµ±ç\9a\84ã\81ªç¿\92æ\85£ã\82\84 POSIX ã\81®ä»\95æ§\98ã\81«å\8f\8dã\81\97ã\81¦ã\81\84ã\82\8bã\80\82ã\81\9fã\81¨ã\81\88ã\83ªã\82¹ã\82¯
\81\8cã\81\82ã\82\8dã\81\86ã\81¨ã\82\82ã\80\81ã\83ªã\83³ã\82¯å\88\87ã\82\8cã\81\97ã\81\9fã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81®å\8f\82ç\85§å\85\88ã\82\92 @command{cp} ã\81\8cä½\9cæ\88\90ã\81\99ã\82\8b
-ようにしたいなら、環境変数 @env{POSIXLY_CORRECT} を設定すればよい。なお
-@option{--backup} や @option{--link} といったオプションが、コピーする前にコピー先
\83\95ã\82¡ã\82¤ã\83«ã\81®å\90\8då\89\8då¤\89æ\9b´ã\82\84å\89\8aé\99¤ã\82\92è¡\8cã\81\86å ´å\90\88ã\80\81@command{cp} ã\81¯ã\80\81ã\83ªã\83³ã\82¯ã\81\8cæ\8c\87ã\81\97ã\81¦ã\81\84ã\82\8bã\83\95ã\82¡ã\82¤ã\83«
-ではなく、シンボリックリンクの名前変更や削除を行う。
+以後の @command{cp} では参照先ファイルのハードリンクを作るようになっている。)
+
+コピー先がシンボリックリンクの場合、@command{cp} がリンクをたどるのは
+(訳注: すなわち、コピー元ファイルで、リンクそのものではなく、参照先のファイルを上書きするのは)、
\81\9dã\81®ã\83ªã\83³ã\82¯ã\81\8cã\80\81å­\98å\9c¨ã\81\99ã\82\8bé\80\9a常ã\83\95ã\82¡ã\82¤ã\83«ã\82\92æ\8c\87ã\81\97ã\81¦ã\81\84ã\82\8bã\81¨ã\81\8dã\81 ã\81\91ã\81§ã\81\82ã\82\8bã\80\82
\81\9dã\82\8cã\81«å¯¾ã\81\97ã\81¦ã\80\81ã\82³ã\83\94ã\83¼å\85\88ã\81®ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81\8cã\83ªã\83³ã\82¯å\88\87ã\82\8cã\81\97ã\81¦ã\81\84ã\82\8bå ´å\90\88ã\81¯ã\80\81@command{cp}
+は、デフォルトではコピーを拒否し、エラーメッセージを出して、実行に失敗する。
\81\9dã\81\86ã\81\97ã\81\9fæ\93\8dä½\9cã\81¯ã\80\81æ\9c¬è³ªç\9a\84ã\81«å\8d±é\99ºã\81 ã\81\8bã\82\89ã\81§ã\81\82ã\82\8bã\80\82
\81\93ã\81®å\8b\95ä½\9cã\81¯ã\80\81ä¼\9dçµ±ç\9a\84ã\81ªç¿\92æ\85£ã\82\84 POSIX ã\81®ä»\95æ§\98ã\81«å\8f\8dã\81\97ã\81¦ã\81\84ã\82\8bã\80\82
\81\9fã\81¨ã\81\88ã\83ªã\82¹ã\82¯ã\81\8cã\81\82ã\82\8dã\81\86ã\81¨ã\82\82ã\80\81ã\83ªã\83³ã\82¯å\88\87ã\82\8cã\81\97ã\81\9fã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81®å\8f\82ç\85§å\85\88ã\82\92
+@command{cp} が作成するようにしたいなら、環境変数 @env{POSIXLY_CORRECT}
+を設定すればよい。なお @option{--backup} や @option{--link}
\81¨ã\81\84ã\81£ã\81\9fã\82ªã\83\97ã\82·ã\83§ã\83³ã\81\8cã\80\81ã\82³ã\83\94ã\83¼ã\81\99ã\82\8bå\89\8dã\81«ã\82³ã\83\94ã\83¼å\85\88ã\83\95ã\82¡ã\82¤ã\83«ã\81®å\90\8då\89\8då¤\89æ\9b´ã\82\84å\89\8aé\99¤ã\82\92è¡\8cã\81\86å ´å\90\88ã\80\81
+@command{cp} は、リンクが指しているファイルではなく、シンボリックリンクの名前変更や削除を行う。
 
 デフォルトでは、@command{cp} がスペシャルファイルの内容をコピーするのは、
 再帰的なコピーをしていないときだけである。このデフォルトの動作は、
@@ -8543,14 +8381,13 @@ cp [@var{option}]@dots{} -t @var{directory} @var{source}@dots{}
 
 @cindex self-backups
 @cindex backups, making only
-@command{cp} は通常、ファイルを自分自身にコピーすることを拒否するが、次の
-例外がある。@var{source} と @var{dest} が同一で、しかも、通常ファイルを指している
-とき、@option{--force --backup} オプションが指定されると、@command{cp} は バックアップ
-ファイルを作成することになる。バックアップファイルを標準のものにするか
-(訳注: ファイルの末尾にチルダ @samp{~} が 1 個付く)、番号付きのものにするか
-は、いつもどおりの方法で指定できる (@pxref{Backup options})。存在する
-ファイルに変更を加える前に、そのバックアップをちょっと作っておきたい
-場合、この動作は便利である。
+@command{cp} は通常、ファイルを自分自身にコピーすることを拒否するが、次の例外がある。
+@var{source} と @var{dest} が同一で、しかも、通常ファイルを指しているとき、
+@option{--force --backup} オプションが指定されると、@command{cp}
+はバックアップファイルを作成することになる。バックアップファイルを標準のものにするか
+(訳注: ファイルの末尾にチルダ @samp{~} が 1 個付く)、番号付きのものにするかは、
+いつもどおりの方法で指定できる (@pxref{Backup options})。
+存在するファイルに変更を加える前に、そのバックアップをちょっと作っておきたい場合、この動作は便利である。
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 
@@ -8559,34 +8396,33 @@ cp [@var{option}]@dots{} -t @var{directory} @var{source}@dots{}
 @itemx --archive
 @opindex -a
 @opindex --archive
-コピーを行う際、コピー元ファイルの構造や属性をできるかぎり維持
-する (ただし、ディレクトリの内部構造を維持しようとはしない。その
-ため、コピー先で @samp{ls -U} を実行すると、コピー元とは違った順序で
-ファイルがリストされるかもしれない)。SELinux コンテキストや拡張
-属性 (xattr) も維持しようとするが、そうした操作に失敗しても無視し、
-その旨エラーメッセージを表示することはない。エラーメッセージが
-少ないだけで、@option{-dR --preserve=all} と同じある。
+コピー元ファイルの構造と属性をコピー先でもできるだけ維持する
+(ただし、ディレクトリの内部構造を維持しようとはしない。そのため、コピー先で
+@samp{ls -U} を実行すると、コピー元とは違った順序でファイルがリストされるかもしれない)。
+SELinux コンテキストや拡張属性 (xattr) も維持しようとするが、
+そうした操作に失敗しても無視し、その旨エラーメッセージを表示することはない。
+エラーメッセージが少ないだけで、@option{-dR --preserve=all} と同じある。
 
 @item --attributes-only
 @opindex --attributes-only
 コピー元ファイルの指定された属性のみを、コピー先にコピーする。
-コピー先ファイルがすでに存在している場合、その内容を変更する
-ことはない。属性のうち、何をコピーするかを決める方法については、
-@option{--preserve} オプションの項を見ていただきたい。
+コピー先ファイルがすでに存在している場合、その内容を変更することはない。
+属性のうち、何をコピーするかを決める方法については、@option{--preserve}
+オプションの項を見ていただきたい。
 
 @item -b
-@itemx @w{@kbd{--backup}[=@var{method}]}
+@itemx --backup[=@var{method}]
 @opindex -b
 @opindex --backup
 @vindex VERSION_CONTROL
 @cindex backups, making
-@xref{Backup options}.  そのままでは、上書きされるか、消去されて
\81\97ã\81¾ã\81\86å\90\84ã\83\95ã\82¡ã\82¤ã\83«ã\81®ã\83\90ã\83\83ã\82¯ã\82¢ã\83\83ã\83\97ã\82\92ä½\9cæ\88\90ã\81\99ã\82\8bã\80\82ç\89¹æ®\8aã\81ªç\94¨æ³\95ã\81¨ã\81\97ã\81¦ã\81¯ã\80\81
-次のものがある。force と backup の両方のオプションが指定されて
\81\84ã\82\8bã\81¨ã\81\8dã\80\81ã\82³ã\83\94ã\83¼å\85\83 (@var{source}) ã\81¨ã\82³ã\83\94ã\83¼å\85\88 (@var{dest}) ã\81\8cå\90\8cã\81\98å\90\8då\89\8dã\81§ã\80\81
\81\97ã\81\8bã\82\82å®\9få\9c¨ã\81\99ã\82\8bé\80\9a常ã\83\95ã\82¡ã\82¤ã\83«ã\82\92æ\8c\87ã\81\97ã\81¦ã\81\84ã\82\8bã\81¨ã\80\81@command{cp} ã\81¯ã\82³ã\83\94ã\83¼å\85\83 (@var{source})
-のバックアップを作成する。次のちょっとした Bourne シェルの
-スクリプトは、オプションのこの組み合わせの応用だが、便利である。
+@xref{Backup options}.
\81\9dã\81®ã\81¾ã\81¾ã\81§ã\81¯ã\80\81ä¸\8aæ\9b¸ã\81\8dã\81\95ã\82\8cã\82\8bã\81\8bã\80\81æ¶\88å\8e»ã\81\95ã\82\8cã\81¦ã\81\97ã\81¾ã\81\86å\90\84ã\83\95ã\82¡ã\82¤ã\83«ã\81®ã\83\90ã\83\83ã\82¯ã\82¢ã\83\83ã\83\97ã\82\92ä½\9cæ\88\90ã\81\99ã\82\8bã\80\82
+特殊な用法としては、次のものがある。force と backup
\81®ä¸¡æ\96¹ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\81¨ã\81\8dã\80\81ã\82³ã\83\94ã\83¼å\85\83 (@var{source})
\81¨ã\82³ã\83\94ã\83¼å\85\88 (@var{dest}) ã\81\8cå\90\8cã\81\98å\90\8då\89\8dã\81§ã\80\81ã\81\97ã\81\8bã\82\82å®\9få\9c¨ã\81\99ã\82\8bé\80\9a常ã\83\95ã\82¡ã\82¤ã\83«ã\82\92æ\8c\87ã\81\97ã\81¦ã\81\84ã\82\8bã\81¨ã\80\81
+@command{cp} はコピー元 (@var{source}) のバックアップを作成する。
+次のちょっとした Bourne シェルのスクリプトは、オプションのこの組み合わせの応用だが、便利である。
 
 @example
 #!/bin/sh
@@ -8605,153 +8441,139 @@ exit $fail
 @cindex copying directories recursively
 @cindex recursively copying directories
 @cindex non-directories, copying as special files
-再帰的なコピーを行っている際に、スペシャルファイル (たとえば、
-FIFO やデバイスファイル) の内容を、操作対象が通常ファイルで
-あるかのようにコピーする。要するに、コピー元の各ファイルから
-データを読み込んで、それをコピー先に書き出そうとするわけである。
+再帰的なコピーを行っている際に、スペシャルファイル (たとえば、FIFO やデバイスファイル)
+の内容を、操作対象が通常ファイルであるかのようにコピーする。
+要するに、コピー元の各ファイルからデータを読み込んで、それをコピー先に書き出そうとするわけである。
 このオプションを使うのは、ほとんどの場合誤りである。なぜなら、
-FIFO や、通常 @file{/dev} ディレクトリにあるようなスペシャルファイルを
-対象にした場合、望ましくない結果を生ずることが珍しくないからだ。
-@code{cp -R --copy-contents} は、FIFO や @file{/dev/console} のような
\82¹ã\83\9aã\82·ã\83£ã\83«ã\83\95ã\82¡ã\82¤ã\83«ã\81\8bã\82\89ã\83\87ã\83¼ã\82¿ã\82\92読ã\81¿è¾¼ã\82\82ã\81\86ã\81¨ã\81\99ã\82\8bã\81¨ã\80\81ã\81\9fã\81\84ã\81¦ã\81\84ã\81®
-場合、いつまでも無反応になるだろうし、@file{/dev/zero} をコピーしよう
\81¨ã\81\99ã\82\8cã\81°ã\80\81ã\82³ã\83\94ã\83¼å\85\88ã\81®ã\83\87ã\82£ã\82¹ã\82¯ã\82\92溢ã\82\8cã\81\95ã\81\9bã\81¦ã\81\97ã\81¾ã\81\86ã\81 ã\82\8dã\81\86ã\80\82ã\81\93ã\81®
-オプションは、再帰的なコピーをするとき以外、効果を持たない。
+FIFO や、通常 @file{/dev} ディレクトリにあるようなスペシャルファイルを対象にした場合、
+望ましくない結果を生ずることが珍しくないからだ。
+@code{cp -R --copy-contents} は、FIFO や @file{/dev/console}
\81®ã\82\88ã\81\86ã\81ªã\82¹ã\83\9aã\82·ã\83£ã\83«ã\83\95ã\82¡ã\82¤ã\83«ã\81\8bã\82\89ã\83\87ã\83¼ã\82¿ã\82\92読ã\81¿è¾¼ã\82\82ã\81\86ã\81¨ã\81\99ã\82\8bã\81¨ã\80\81
+たいていの場合、いつまでも無反応になるだろうし、@file{/dev/zero}
\82\92ã\82³ã\83\94ã\83¼ã\81\97ã\82\88ã\81\86ã\81¨ã\81\99ã\82\8cã\81°ã\80\81ã\82³ã\83\94ã\83¼å\85\88ã\81®ã\83\87ã\82£ã\82¹ã\82¯ã\82\92溢ã\82\8cã\81\95ã\81\9bã\81¦ã\81\97ã\81¾ã\81\86ã\81 ã\82\8dã\81\86ã\80\82
\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯ã\80\81å\86\8d帰ç\9a\84ã\81ªã\82³ã\83\94ã\83¼ã\82\92ã\81\99ã\82\8bã\81¨ã\81\8d以å¤\96ã\80\81å\8a¹æ\9e\9cã\82\92æ\8c\81ã\81\9fã\81ªã\81\84ã\80\82
 また、シンボリックリンクのコピーには影響しない。
 
 @item -d
 @opindex -d
 @cindex symbolic links, copying
 @cindex hard links, preserving
-シンボリックリンクをコピーする際、リンクが指しているファイルを
\82³ã\83\94ã\83¼ã\81\99ã\82\8bã\81®ã\81§ã\81¯ã\81ªã\81\8fã\80\81ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\82\92ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81¨ã\81\97ã\81¦
\82³ã\83\94ã\83¼ã\81\99ã\82\8bã\80\82ã\81¾ã\81\9fã\80\81ã\82³ã\83\94ã\83¼å\85\83ã\81«ã\81\8aã\81\84ã\81¦è¤\87æ\95°ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81\8cã\83\8fã\83¼ã\83\89ã\83ªã\83³ã\82¯ã\81®
-関係にある場合、コピー先でもその関係を維持する。
+シンボリックリンクをコピーする際、リンクが指しているファイルをコピーするのではなく、
\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\82\92ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81¨ã\81\97ã\81¦ã\82³ã\83\94ã\83¼ã\81\99ã\82\8bã\80\82
\81¾ã\81\9fã\80\81ã\82³ã\83\94ã\83¼å\85\83ã\81«ã\81\8aã\81\84ã\81¦è¤\87æ\95°ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81\8cã\83\8fã\83¼ã\83\89ã\83ªã\83³ã\82¯ã\81®é\96¢ä¿\82ã\81«ã\81\82ã\82\8bå ´å\90\88ã\80\81
+コピー先でもその関係を維持する。
 @option{--no-dereference --preserve=links} と同じである。
 
 @item -f
 @itemx --force
 @opindex -f
 @opindex --force
-このオプションを付けずにコピーを行う場合、コピー先ファイルが
-すでに存在し、しかも書き込みモードでオープンできないと、コピー
-に失敗する。それに対して、@option{--force} を付けた場合は、コピー先
-ファイルがオープンできないと、@command{cp} は、まずそれを削除してから、
-再度オープンを試みる。この動作は、@option{--force} と一緒に @option{--link} や
-@option{--symbolic-link} を使用した場合に行われる動作とは、違うことに
-注意していただきたい。後者の場合は、すでに存在するコピー先ファイル
-は一度もオープンされず、むしろ無条件で削除されるのである。
-@option{--remove-destination} の説明も参照すること。
-
-このオプションは、@option{--interactive} や @option{-i} オプションとは無関係
-である。どちらも他方の効果を無効にすることはない。
-
-@option{--no-clobber} や @option{-n} オプションを使用している場合、このオプション
-は無視される。
+このオプションを付けずにコピーを行う場合、
+コピー先ファイルがすでに存在し、しかも書き込みモードでオープンできないと、コピーに失敗する。
+それに対して、@option{--force} を付けた場合は、コピー先ファイルがオープンできないと、
+@command{cp} は、まずそれを削除してから、再度オープンを試みる。
+この動作は、@option{--force} と一緒に @option{--link} や @option{--symbolic-link}
+を使用した場合に行われる動作とは、違うことに注意していただきたい。
+後者の場合は、すでに存在するコピー先ファイルは一度もオープンされず、
+むしろ無条件で削除されるのである。@option{--remove-destination} の説明も参照すること。
+
+このオプションは、@option{--interactive} や @option{-i}
+オプションとは無関係である。どちらも他方の効果を無効にすることはない。
+
+@option{--no-clobber} や @option{-n} オプションを使用している場合、このオプションは無視される。
 
 @item -H
 @opindex -H
 コマンドラインの引数がシンボリックリンクを指定している場合には、
-シンボリックリンクそのものではなく、それが指しているファイルを
-コピーする。とは言え、再帰的にディレクトリ・ツリーをたどっている
-ときにシンボリックに出会った場合は、そのまま (つまり、シンボリック
-リンクとして) コピーする。
+シンボリックリンクそのものではなく、それが指しているファイルをコピーする。
+とは言え、再帰的にディレクトリ・ツリーをたどっているときにシンボリックに出会った場合は、
+そのまま (つまり、シンボリックリンクとして) コピーする。
 
 @item -i
 @itemx --interactive
 @opindex -i
 @opindex --interactive
-ディレクトリ以外のファイルをコピーする際に、コピー先ファイルが
-すでに存在していると、プロンプトを出して、ファイルを上書きして
-よいかどうか、ユーザに問い合わせる。@option{-i} オプションは、@option{-n}
-オプションが前にあるとき、それを無効にする。
+ディレクトリ以外のファイルをコピーする際に、コピー先ファイルがすでに存在していると、
+プロンプトを出して、ファイルを上書きしてよいかどうか、ユーザに問い合わせる。
+@option{-i} オプションは、@option{-n} オプションが前にあるとき、それを無効にする。
 
 @item -l
 @itemx --link
 @opindex -l
 @opindex --link
-コピー元がディレクトリ以外の場合、コピーする代わりに、ハードリンクを
-作成する。
+コピー元がディレクトリ以外の場合、コピーする代わりに、ハードリンクを作成する。
 
 @item -L
 @itemx --dereference
 @opindex -L
 @opindex --dereference
 コピー元がシンボリックリンクの場合は、その参照先をコピーする。
-また、このオプションを使った場合、@command{cp} はシンボリックリンクを
-作ることができない。たとえば、コピー元のディレクトリ・ツリー中に
-(通常ファイルに対する) シンボリックリンクがあると、コピー先のディ
-レクトリ・ツリーには、通常ファイルとしてコピーされることになる。
+また、このオプションを使った場合、@command{cp} はシンボリックリンクを作ることができない。
+たとえば、コピー元のディレクトリ・ツリー中に (通常ファイルに対する)
+シンボリックリンクがあると、コピー先のディレクトリ・ツリーには、通常ファイルとしてコピーされることになる。
 
 @item -n
 @itemx --no-clobber
 @opindex -n
 @opindex --no-clobber
-存在するファイルを上書きしない。@option{-n} オプションは、@option{-i} オプション
\81\8cå\89\8dã\81«ã\81\82ã\82\8bã\81¨ã\81\8dã\80\81ã\81\9dã\82\8cã\82\92ç\84¡å\8a¹ã\81«ã\81\99ã\82\8bã\80\82ã\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¨ @option{-b} (@option{--backup})
-オプションは、どちらか一方しか指定できない。
+存在するファイルを上書きしない。@option{-n} オプションは、@option{-i}
\82ªã\83\97ã\82·ã\83§ã\83³ã\81\8cå\89\8dã\81«ã\81\82ã\82\8bã\81¨ã\81\8dã\80\81ã\81\9dã\82\8cã\82\92ç\84¡å\8a¹ã\81«ã\81\99ã\82\8bã\80\82ã\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¨ @option{-b}
+(@option{--backup}) オプションは、どちらか一方しか指定できない。
 
 @item -P
 @itemx --no-dereference
 @opindex -P
 @opindex --no-dereference
 @cindex symbolic links, copying
-コピー元がシンボリックリンクの場合、それが指しているファイルを
-コピーするのではなく、シンボリックリンクとしてコピーする。この
-オプションが作用を及ぼすのは、コピー元のシンボリックリンクに対して
-だけであり、コピー先に指定されたシンボリックリンクについては、
-可能なかぎり常に参照先がたどられる。
+コピー元がシンボリックリンクの場合、それが指しているファイルをコピーするのではなく、
+シンボリックリンクとしてコピーする。このオプションが作用を及ぼすのは、
+コピー元のシンボリックリンクに対してだけであり、
+コピー先に指定されたシンボリックリンクについては、可能なかぎり常に参照先がたどられる。
 
 @item -p
-@itemx @w{@kbd{--preserve}[=@var{attribute_list}]}
+@itemx --preserve[=@var{attribute_list}]
 @opindex -p
 @opindex --preserve
 @cindex file information, preserving, extended attributes, xattr
 コピー元ファイルの属性のうち、指定されたものをコピー先でも維持する。
-@var{attribute_list} を指定する場合は、一つ以上の以下の文字列をコンマで
-区切ったリストでなければならない。
+@var{attribute_list} を指定する場合は、一つ以上の以下の文字列をコンマで区切ったリストでなければならない。
 
 @table @samp
 @item mode
-ファイルのモードビット (訳注: 一般にアクセス権とか、許可属性と
-言われるもの) やアクセス・コントロール・リストを維持する。
+ファイルのモードビット (訳注: 一般にアクセス権とか、許可属性と言われるもの)
+やアクセス・コントロール・リストを維持する。
 @item ownership
 所有者とグループを維持する。ほとんどの最近のシステムでは、
-ファイルの所有者を変更できるのは、しかるべき権限を持ったユーザ
-だけである。また、一般ユーザにファイルのグループが維持できるの
-は、維持しようとするグループに、たまたまそのユーザが属している
-ときのみである。
+ファイルの所有者を変更できるのは、しかるべき権限を持ったユーザだけである。
+また、一般ユーザがファイルのグループを維持できるのは、
+維持しようとするグループに、たまたまそのユーザが属しているときのみである。
 @item timestamps
-最終アクセス日時 (last access time) と最終更新日時 (last
-modification time) を、可能ならば、維持する。古いシステム
-では、対象となるファイルがシンボリックリンクの場合、そうした
-属性を維持することができない。それに対して、最近のシステム
-では、たいていのものが @code{utimensat} 関数を用意しているので、
-シンボリックリンクの場合でも、日時関係の属性維持が可能である。
+最終アクセス日時 (last access time) と最終更新日時 (last modification time)
+を、可能ならば、維持する。古いシステムでは、対象となるファイルがシンボリックリンクの場合、
+そうした属性を維持することができない。
+それに対して、最近のシステムでは、たいていのものが @code{utimensat}
+関数を用意しているので、シンボリックリンクの場合でも、日時関係の属性維持が可能である。
 @item links
-コピー元のファイル同士が (ハードリンクであれ、シンボリック
-リンクであれ)リンクの関係にあるとき、コピー先の対応する
-ファイル同士でも、その関係を維持する。ただし、@option{-L} や @option{-H} と
-一緒に使った場合、このオプションがシンボリックリンクを
-ハードリンクに変更することがあるのに、注意していただきたい。
-一例を挙げる。
+コピー元のファイル同士が (ハードリンクであれ、シンボリックリンクであれ)
+リンクの関係にあるとき、コピー先の対応するファイル同士でも、その関係を維持する。
+ただし、@option{-L} や @option{-H} と一緒に使った場合、
+このオプションがシンボリックリンクをハードリンクに変更することがあるのに、
+注意していただきたい。一例を挙げる。
 @example
 $ mkdir c; : > a; ln -s a b; cp -aH a b c; ls -i1 c
 74161745 a
 74161745 b
 @end example
 @noindent
-コピー元に注目していただきたい。@file{b} は、通常ファイル @file{a} を
-指すシンボリックリンクである。ところが、コピー先ディレクトリ
-@file{c/} の二つのファイルは、ハードリンクになっている。@option{-a} は
-@option{--no-dereference} を意味するのだから、シンボリックリンクが
-コピーされそうに思えるが、この場合は、後に続く @option{-H} が、
-コマンドライン引数の参照をたどるように @command{cp} に命じているので、
-@command{cp} には、同じ inode 番号を持った 2 個のファイルがコマンド
-ラインで指定されているように見えるのである。さらに、@option{-a} は
-@option{--preserve=links} オプションを意味してもいるので、この働きに
-よって、ハードリンクと認識された両ファイルの関係が、コピー先で
-維持されることになるのである。
+コピー元に注目していただきたい。@file{b} は、通常ファイル @file{a} を指すシンボリックリンクである。
+ところが、コピー先ディレクトリ @file{c/} の二つのファイルは、ハードリンクになっている。
+@option{-a} は @option{--no-dereference} を意味するのだから、
+シンボリックリンクがコピーされそうに思えるが、この場合は、後に続く
+@option{-H} が、コマンドライン引数の参照をたどるように @command{cp}
+に命じているので、@command{cp} には、同じ inode 番号を持った
+2 個のファイルがコマンドラインで指定されているように見えるのである。
+さらに、@option{-a} は @option{--preserve=links} オプションを意味してもいるので、
+この働きによって、ハードリンクと認識された両ファイルの関係が、コピー先でも維持されることになるのである。
 
 次のものは、@command{cp} の @option{-L} を使った場合の類似例である。
 @smallexample
@@ -8762,36 +8584,34 @@ $ mkdir b c; (cd b; : > a; ln -s a b); cp -aL b c; ls -i1 c/b
 
 @item context
 ファイルの SELinux セキュリティ・コンテキストを維持する。
-それができないときは、詳細なエラーメッセージを出し、失敗の
-ステータスで終了する。
+それができないときは、詳細なエラーメッセージを出し、失敗のステータスで終了する。
 @item xattr
-ファイルの拡張属性を維持する。それができないときは、詳細な
-エラーメッセージを出し、失敗のステータスで終了する。@command{cp} が
-xattr のサポートなしでビルドされている場合は、このオプション
-は無視される。SELinux コンテキスト、ACL、ケーパビリティなどを
-xattr を使って実装している場合には、そうした属性もこのオプ
-ションによって、明示的な指定がない場合でも維持される。すなわち、
-@option{--preserve=mode} や @option{--preserve=context} を指定しないでも維持
-されるわけだ。
+ファイルの拡張属性を維持する。それができないときは、詳細なエラーメッセージを出し、失敗のステータスで終了する。
+@command{cp} が xattr のサポートなしでビルドされている場合は、このオプションは無視される。
+SELinux コンテキスト、ACL、ケーパビリティなどを xattr を使って実装している場合には、
+そうした属性もこのオプションによって、明示的な指定がない場合でも維持される。
+すなわち、@option{--preserve=mode} や @option{--preserve=context}
+を指定しないでも維持されるわけだ。
 @item all
-ファイルの属性をすべて維持する。上記のすべてを指定するのと
-同じことだが、SELinux セキュリティ・コンテキストや拡張属性の
-維持に失敗しても、@command{cp} の終了ステータスが変わらないという点が
-異なっている。@option{-a} とは違って、@samp{Operation not supported} 以外のすべての
-警告メッセージを出力する。
+ファイルの属性をすべて維持する。上記のすべてを指定するのと同じことだが、
+SELinux セキュリティ・コンテキストや拡張属性の維持に失敗しても、
+@command{cp} の終了ステータスが変わらないという点が異なっている。
+@option{-a} とは違って、@samp{Operation not supported}
+以外のすべての警告メッセージを出力する。
 @end table
 
 @var{attribute_list} なしで @option{--preserve} を使用するのは、
 @option{--preserve=mode,ownership,timestamps} と同じことである。
 
-このオプションを使わない場合、コピー先ファイルがすでに存在して
-いる場合は、その許可属性は変更されない。一方、新しくファイルが
-作成される場合は、各コピー先ファイルのモードビットは、対応する
-コピー元ファイルのモードビットを元にして、そこから umask で設定
-されているビットと、set-user-ID や set-group-ID ビットを落とした
-ものになる。@xref{File permissions}.
+このオプションを使わない場合、コピー先ファイルがすでに存在している場合は、
+その許可属性は変更されない。一方、新しくファイルが作成される場合は、
+対応するコピー元ファイルのモードを元にして、
+そこから set-user-ID ビット、set-group-ID ビット、スティッキー・ビットを落としたものが、
+各ファイルに付けられ、そしてさらに、オペレーティング・システムが
+umask なり、デフォルトの ACL なりを適用する。
+結果はより厳しいファイルモードになるかもしれない。 @xref{File permissions}.
 
-@item @w{@kbd{--no-preserve}=@var{attribute_list}}
+@item --no-preserve=@var{attribute_list}
 @cindex file information, preserving
 指定された属性を維持しない。@var{attribute_list} の書式は、@option{--preserve}
 の場合と同じである。
@@ -8799,10 +8619,10 @@ xattr を使って実装している場合には、そうした属性もこの
 @item --parents
 @opindex --parents
 @cindex parent directories and @command{cp}
-コピー先の各ファイル名を生成する際、出力先に指定されたディレクトリ
\81®æ\9c«å°¾ã\81«ã\82¹ã\83©ã\83\83ã\82·ã\83¥ã\82\92ä»\98ã\81\91ã\80\81ã\81\9dã\81®å¾\8cã\82\8dã\81«ã\82³ã\83\94ã\83¼å\85\83ã\81¨ã\81\97ã\81¦æ\8c\87å®\9aã\81\95ã\82\8cã\81\9f
-ファイル名を付け足すことによってそれを行う。@command{cp} に渡す最後の
-引数は、実在するディレクトリの名前でなければならない。一例を挙げる。
+コピー先の各ファイル名を生成する際、出力先に指定されたディレクトリの末尾にスラッシュを付け、
\81\9dã\81®å¾\8cã\82\8dã\81«ã\82³ã\83\94ã\83¼å\85\83ã\81¨ã\81\97ã\81¦æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\83\95ã\82¡ã\82¤ã\83«å\90\8dã\82\92ä»\98ã\81\91足ã\81\99ã\81\93ã\81¨ã\81«ã\82\88ã\81£ã\81¦ã\81\9dã\82\8cã\82\92è¡\8cã\81\86ã\80\82
+@command{cp} に渡す最後の引数は、実在するディレクトリの名前でなければならない。
+一例を挙げる。
 
 @example
 cp --parents a/b/c existing_dir
@@ -8810,8 +8630,8 @@ cp --parents a/b/c existing_dir
 
 @noindent
 ファイル @file{a/b/c} を上記のコマンドでコピーすると、ファイル
-@file{existing_dir/a/b/c} が出来る。途中のディレクトリが存在して
-いなければ、それも作成される。
+@file{existing_dir/a/b/c} が出来る。
+途中のディレクトリが存在していなければ、それも作成される。
 
 @item -R
 @itemx -r
@@ -8824,20 +8644,18 @@ cp --parents a/b/c existing_dir
 @cindex recursively copying directories
 @cindex non-directories, copying as special files
 ディレクトリを再帰的にコピーする。デフォルトでは、@option{--link} (@option{-l})
-オプションが同時に使われていないかぎり、コピー元にあるシンボリック
-リンクの参照先をたどることをしない。@option{--archive} (@option{-a}), @option{-d},
-@option{--dereference} (@option{-L}), @option{--no-dereference}
-(@option{-P}), @option{-H} などの
-オプションを参照。スペシャルファイルについては、コピーする際に、
-コピー元ファイルと同じファイル型のコピー先ファイルを作成する。
-@option{--copy-contents} を参照。シンボリックリンクやスペシャルファイルの
-コピーに @option{-r} オプションを使用するのは、どのシステムでも通用する
-ことではない。GNU 以外のシステムの中には、歴史的な理由から、
-@option{-r} が、@option{-L} と @option{--copy-contents} を同時に指定するのと等価になっている
-ものもあるのだ。また、シンボリックリンクをコピーするのに @option{-R} を
-使用するのも、@option{-P} も併せて指定しないかぎり、どのシステムでも通用
-することではない。デフォルトでシンボリックリンクの参照先をたどる
-実装が、POSIX で認められているからである。
+オプションが同時に使われていないかぎり、コピー元にあるシンボリックリンクの参照をたどることをしない。
+@option{--archive} (@option{-a}), @option{-d}, @option{--dereference}
+(@option{-L}), @option{--no-dereference} (@option{-P}), @option{-H}
+などのオプションを参照。スペシャルファイルについては、
+コピーする際に、コピー元ファイルと同じファイル型のコピー先ファイルを作成する。
+@option{--copy-contents} を参照。シンボリックリンクやスペシャルファイルのコピーに
+@option{-r} オプションを使用するのは、どのシステムでも通用することではない。
+GNU 以外のシステムの中には、歴史的な理由から @option{-r} が、@option{-L} と
+@option{--copy-contents} を同時に指定するのと等価になっているものもあるからだ。
+また、シンボリックリンクをコピーするのに @option{-R} を使用するのも、@option{-P}
+も併せて指定しないかぎり、どのシステムでも通用することではない。
+デフォルトでシンボリックリンクの参照先をたどる実装が、POSIX で認められているからである。
 
 @item --reflink[=@var{when}]
 @opindex --reflink[=@var{when}]
@@ -8845,20 +8663,18 @@ cp --parents a/b/c existing_dir
 @cindex clone
 @cindex copy on write
 ファイルシステムがサポートしていれば、軽便コピー、すなわち、
-書き込み時コピー(copy-on-write (COW) copy) を行う。留意すべきは、
-これが成功した場合、コピー元とコピー先のファイルは、どちらかに
-対して変更が加えられるまで、ディスクの同じデータブロックを共有
-しているということである。従って、ディスク I/O エラーが起きて、
-片方のファイルのデータブロックが損傷を受ければ、もう一方の
-ファイルも同じ被害に会う。
+書き込み時コピー(copy-on-write (COW) copy) を行う。
+留意すべきは、これが成功した場合、コピー元とコピー先のファイルは、
+どちらかに対して変更が加えられるまで、ディスクの同じデータブロックを共有しているということである。
+従って、ディスク I/O エラーが起きて、片方のファイルのデータブロックが損傷を受ければ、
+もう一方のファイルも同じ被害に会う。
 
 @var{when} の値には、次のうちの一つが使える。
 
 @table @samp
 @item always
-デフォルトの動作である。copy-on-write がサポートされていない
-場合は、各ファイルについて失敗した旨を報告し、失敗を示す
-ステータスで終了する。
+デフォルトの動作である。copy-on-write がサポートされていない場合は、
+各ファイルについて失敗した旨を報告し、失敗を示すステータスで終了する。
 
 @item auto
 copy-on-write 操作がサポートされていない場合は、copy-on-write
@@ -8867,9 +8683,9 @@ copy-on-write 操作がサポートされていない場合は、copy-on-write
 
 このオプションは、@option{--link}, @option{--symbolic-link}
 @option{--attributes-only}
-オプションによって無効になるので、データをコピーする際の @command{cp} の
\83\87ã\83\95ã\82©ã\83«ã\83\88å\8b\95ä½\9cã\81®è¨­å®\9aã\81«ä½¿ç\94¨ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\80\82ã\81\9fã\81¨ã\81\88ã\81°ã\80\81次ã\81®ã\82¨ã\82¤ã\83ª
-アスを使うと、@command{cp} は、ファイルシステムがサポートする範囲で、
+オプションによって無効になるので、データをコピーする際の @command{cp}
\81®ã\83\87ã\83\95ã\82©ã\83«ã\83\88å\8b\95ä½\9cã\81®è¨­å®\9aã\81«ä½¿ç\94¨ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\80\82
\81\9fã\81¨ã\81\88ã\81°ã\80\81次ã\81®ã\82¨ã\82¤ã\83ªã\82¢ã\82¹ã\82\92使ã\81\86ã\81¨ã\80\81@command{cp} ã\81¯ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\82·ã\82¹ã\83\86ã\83 ã\81\8cã\82µã\83\9dã\83¼ã\83\88ã\81\99ã\82\8bç¯\84å\9b²ã\81§ã\80\81
 ディスクスペースの使用を最少に留めるようになる。
 
 @example
@@ -8878,49 +8694,45 @@ alias cp='cp --reflink=auto --sparse=always'
 
 @item --remove-destination
 @opindex --remove-destination
-コピー先ファイルがすでに存在する場合、その各々についてオープンを
-試みる前に、削除する (上述の @option{-f} と比較すること)。
+コピー先ファイルがすでに存在する場合、その各々についてオープンを試みる前に、削除する
+(上述の @option{-f} と比較すること)。
 
 @item --sparse=@var{when}
 @opindex --sparse=@var{when}
 @cindex sparse files, copying
 @cindex holes, copying files with
 @findex read @r{system call, and holes}
-穴空きファイル (@dfn{sparse file}) とは、穴 (@dfn{holes}) を含むファイル
-である。穴というのは、物理的なディスクブロック上には存在しない
-ゼロバイトの連続で、@samp{read} システムコールがそれを読む込むとき、
-ゼロの連続として扱うものである。バイナリ・ファイルには、連続する
-ゼロバイトがたくさん含まれていることが多いので、この仕組みは、
-ディスクスペースを大いに節約してくれるし、動作速度の向上を
-もたらしてもくれる。デフォルトで @command{cp} は、かなり大雑把な発見的
-手法を使って、コピー元ファイルにある穴を検出し、対応するコピー先
-ファイルも穴空きファイルにする。なお、穴空きファイルにできるのは、
-通常ファイルだけである。
+穴空きファイル (@dfn{sparse file}) とは、穴 (@dfn{holes}) を含むファイルである。
+穴というのは、物理的なディスクブロック上には存在しないゼロバイトの連続で、
+@samp{read} システムコールがそれを読む込むとき、ゼロの連続として扱うものである。
+バイナリ・ファイルには、連続するゼロバイトがたくさん含まれていることが多いので、
+この仕組みは、ディスクスペースを大いに節約してくれるし、動作速度の向上をもたらしてもくれる。
+デフォルトで @command{cp} は、かなり大雑把な発見的手法を使って、
+コピー元ファイルにある穴を検出し、対応するコピー先ファイルも穴空きファイルにする。
+なお、穴空きファイルにできるのは、通常ファイルだけである。
 
 @var{when} の値には、次のうちの一つが使える。
 
 @table @samp
 @item auto
 デフォルトの動作である。すなわち、コピー元が穴空きファイルなら、
-コピー先も穴空きファイルにしようとする。ただし、コピー先
\83\95ã\82¡ã\82¤ã\83«ã\81\8cã\81\99ã\81§ã\81«å­\98å\9c¨ã\81\97ã\80\81é\80\9a常ã\83\95ã\82¡ã\82¤ã\83«ä»¥å¤\96ã\82\92æ\8c\87ã\81\97ã\81¦ã\81\84ã\82\8bå ´å\90\88は、
+コピー先も穴空きファイルにしようとする。
\81\9fã\81 ã\81\97ã\80\81ã\82³ã\83\94ã\83¼å\85\88ã\83\95ã\82¡ã\82¤ã\83«ã\81\8cã\81\99ã\81§ã\81«å­\98å\9c¨ã\81\97ã\81¦ã\81\84ã\81¦ã\82\82ã\80\81é\80\9a常ã\83\95ã\82¡ã\82¤ã\83«ä»¥å¤\96ã\82\92æ\8c\87ã\81\97ã\81¦ã\81\84ã\82\8bå ´å\90\88ã\81«は、
 それを穴空きにしようとはしない。
 
 @item always
-たとえ、コピー元ファイルが穴空きファイルに見えなくても、十分に
-長いゼロバイトの連続があれば、その各々に対応する穴をコピー先
-ファイルに設けようとする。この動作が役に立つのは、コピー元
-ファイルが、穴空きファイルをサポートしていないファイルシステム
-にあるのに対し (たとえば、SGI IRIX 5.3 以前の @samp{efs} ファイル
-システム)、コピー先ファイルは穴空きファイルをしっかりサポート
-するタイプのファイルシステムにある場合である。穴を作ることが
-できるのは、通常ファイルだけなので、コピー先が通常ファイル以外
-なら、@command{cp} がそのファイルを穴空きにしようと試みることもない。
+たとえ、コピー元ファイルが穴空きファイルに見えなくても、十分に長いゼロバイトの連続があれば、
+その各々に対応する穴をコピー先ファイルに設けようとする。この動作が役に立つのは、
+コピー元ファイルが、穴空きファイルをサポートしていないファイルシステムにあるのに対し
+(たとえば、SGI IRIX 5.3 以前の @samp{efs} ファイルシステム)、
+コピー先ファイルは穴空きファイルをしっかりサポートするタイプのファイルシステムにある場合である。
+穴を作ることができるのは、通常ファイルだけなので、コピー先が通常ファイル以外なら、
+@command{cp} がそのファイルを穴空きにしようと試みることもない。
 
 @item never
-コピー先ファイルを穴空きにしない。これは、@command{mkswap} コマンドで
-使用するファイルを作成するときに役に立つ。そうしたファイルには、
-穴があってはならないからである。
+コピー先ファイルを穴空きにしない。
+これは、@command{mkswap} コマンドで使用するファイルを作成するときに役に立つ。
+そうしたファイルには、穴があってはならないからである。
 @end table
 
 @optStripTrailingSlashes
@@ -8930,11 +8742,10 @@ alias cp='cp --reflink=auto --sparse=always'
 @opindex -s
 @opindex --symbolic-link
 @cindex symbolic links, copying with
-コピー元がディレクトリ以外の場合、コピーする代わりに、シンボリック
-リンクを作成する。出力先ファイルをカレント・ディレクトリに作成する
-場合を除いて、コピー元ファイルの名前は、すべて (@samp{/} で始まる) 絶対
-パス表記でなければならない。シンボリックリンクをサポートしていない
-システムでは、このオプションはエラーメッセージを出すだけである。
+コピー元がディレクトリ以外の場合、コピーする代わりに、シンボリックリンクを作成する。
+出力先ファイルをカレント・ディレクトリに作成する場合を除いて、
+コピー元ファイルの名前は、すべて (@samp{/} で始まる) 絶対パス表記でなければならない。
+シンボリックリンクをサポートしていないシステムでは、このオプションはエラーメッセージを出すだけである。
 
 @optBackupSuffix
 
@@ -8948,17 +8759,16 @@ alias cp='cp --reflink=auto --sparse=always'
 @opindex --update
 @cindex newer files, copying only
 ディレクトリ以外のものをコピーする際、それがコピー先にも存在し、
-しかもその更新日時 (modification time) がコピー元と同じか、より
-新しい場合、コピーを行わない。コピー元からコピー先へタイムスタンプを
-引き継がせている場合には、コピー元のタイムスタンプの精度を、コピー先
-のファイルシステム、及びタイプスタンプの更新に使われるシステムコール
-の精度に落とした上で、比較を行う。これは、同じコピー元とコピー先の
-ファイルに対して @samp{cp -pu} コマンドを何回か実行する場合に、余計な
-コピー作業が起きるのを避けるためである。@option{--preserve=links} が一緒に
-指定されている場合は (たとえば、@samp{cp -au} だとそうなる)、そちらが
-優先されることになる。その結果、コピー元でファイルが処理される順番
-によっては、コピー元のハードリンクを反映させるために、コピー先の
-より新しいファイルが置き換えられることもある。
+しかもその更新日時 (modification time) がコピー元と同じか、より新しい場合、
+コピーを行わない。コピー元からコピー先へタイムスタンプを引き継がせている場合には、
+コピー元のタイムスタンプの精度を、コピー先のファイルシステム、
+及びタイプスタンプの更新に使われるシステムコールの精度に落とした上で、比較を行う。
+これは、同じコピー元とコピー先のファイルに対して @samp{cp -pu}
+コマンドを何回か実行する場合に、余計なコピー作業が起きるのを避けるためである。
+@option{--preserve=links} が一緒に指定されている場合は
+(たとえば、@samp{cp -au} だとそうなる)、そちらが優先されることになる。
+その結果、コピー元でファイルが処理される順番によっては、
+コピー元のハードリンクを反映させるために、コピー先のより新しいファイルが置き換えられることもある。
 
 @item -v
 @itemx --verbose
@@ -8971,9 +8781,8 @@ alias cp='cp --reflink=auto --sparse=always'
 @opindex -x
 @opindex --one-file-system
 @cindex file systems, omitting copying to different
-あるファイルシステムでコピーを始めた場合、別のファイルシステム
-にあるサブディレクトリをスキップする。ただし、マウントポイントの
-ディレクトリはコピーされる。
+あるファイルシステムでコピーを始めた場合、別のファイルシステムにあるサブディレクトリをスキップする。
+ただし、マウントポイントのディレクトリはコピーされる。
 
 @macro optContext
 @item -Z
@@ -8983,17 +8792,16 @@ alias cp='cp --reflink=auto --sparse=always'
 @cindex SELinux, setting/restoring security context
 @cindex security context
 @var{context} が指定されていない場合は、出力するファイルの SELinux
-セキュリティ・コンテキストを、出力先におけるシステムのデフォルト
\81®ã\82¿ã\82¤ã\83\97ã\81«ã\82\88ã\81£ã\81¦èª¿æ\95´ã\81\99ã\82\8bã\80\82ã\81\93ã\82\8cã\81¯ã\80\81@command{restorecon} ã\82³ã\83\9eã\83³ã\83\89ã\81®å\8b\95ä½\9cã\81«
-似ている。このオプションの長い形式を使って、コンテキストを明示的に
-指定した場合、そのコンテキストが設定されるのは、新しく作成される
\83\95ã\82¡ã\82¤ã\83«ã\81«å¯¾ã\81\97ã\81¦ã\81®ã\81¿ã\81§ã\81\82ã\82\8bã\80\82ã\82³ã\83³ã\83\86ã\82­ã\82¹ã\83\88ã\82\92æ\8c\87å®\9aã\81\97ã\81\9få ´å\90\88ã\81«ã\80\81SELinux
-が無効になっていると、警告メッセージを出す。
+セキュリティ・コンテキストを、出力先におけるシステムのデフォルトのタイプに合わせて調整する。
\81\93ã\82\8cã\81¯ã\80\81@command{restorecon} ã\82³ã\83\9eã\83³ã\83\89ã\81®å\8b\95ä½\9cã\81«ä¼¼ã\81¦ã\81\84ã\82\8bã\80\82
+このオプションの長い形式を使って、コンテキストを明示的に指定した場合、
+そのコンテキストが設定されるのは、新しく作成されるファイルに対してのみである。
\82³ã\83³ã\83\86ã\82­ã\82¹ã\83\88ã\82\92æ\8c\87å®\9aã\81\97ã\81\9få ´å\90\88ã\81«ã\80\81SELinux ã\81¨ SMACK ã\81®ã\81©ã\81¡ã\82\89ã\82\82ç\84¡å\8a¹ã\81«ã\81ªã\81£ã\81¦ã\81\84ã\82\8bã\81¨ã\80\81
+警告メッセージを出す。
 @end macro
 @optContext このオプションと
-@option{--preserve=context} を一緒に使うことはできない。また、この
-オプションは @option{--preserve=all} や @option{-a} オプションに優先する。
-(coreutils-8.22 の新機能)
+@option{--preserve=context} オプションは、どちらか一方しか指定できない。
+また、このオプションは @option{--preserve=all} や @option{-a} オプションに優先する。
 
 @end table
 
@@ -9006,10 +8814,10 @@ alias cp='cp --reflink=auto --sparse=always'
 @pindex dd
 @cindex converting while copying a file
 
-@command{dd} はファイルをコピーする (デフォルトでは、標準入力から標準出力へ
\82³ã\83\94ã\83¼ã\81\99ã\82\8b\80\82ã\81\9dã\81®é\9a\9bã\80\81å\85¥å\87ºå\8a\9bã\81®ã\83\96ã\83­ã\83\83ã\82¯ã\82µã\82¤ã\82ºã\82\92å¤\89æ\9b´ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\80\82
\81¾ã\81\9fã\80\81ã\82³ã\83\94ã\83¼ã\81¨å\90\8cæ\99\82ã\81«ã\83\87ã\83¼ã\82¿å½¢å¼\8fã\81®å¤\89æ\8f\9bã\82\92è¡\8cã\81\86こともできる。
-@sp 1
+@command{dd} はファイルをコピーする (デフォルトでは、標準入力から標準出力へコピーする)。
+その際、入出力のブロックサイズを変更することができる。
\81¾ã\81\9fã\80\81ã\83\87ã\83¼ã\82¿å½¢å¼\8fã\81®å¤\89æ\8f\9bã\82\92è¡\8cã\81\84ã\81¤ã\81¤ã\82³ã\83\94ã\83¼ã\81\99ã\82\8bこともできる。
+
 書式:
 
 @example
@@ -9018,9 +8826,9 @@ dd @var{option}
 @end example
 
 指定できるオプションは、@option{--help} と @option{--version} だけである。
-@xref{Common options}.  @command{dd} では、以下のオペランドが使える。オペランドの
-書式の元になったのは、OS/360 の JCL (Job Control Language) の DD 文
-(Data Definition statement) である。
+@xref{Common options}.  @command{dd} では、以下のオペランドが使える。
+オペランドの書式の元になったのは、OS/360 の JCL (Job Control Language) の
+DD 文 (Data Definition statement) である。
 
 @table @samp
 
@@ -9030,9 +8838,9 @@ dd @var{option}
 
 @item of=@var{file}
 @opindex of
-標準出力の代わりに、@var{file} に書き出す。@samp{conv=notrunc} が指定されて
\81\84ã\81ªã\81\84å ´å\90\88ã\80\81@command{dd} ã\81¯ã\80\81å\87ºå\8a\9bã\82\92é\96\8bå§\8bã\81\99ã\82\8bå\89\8dã\81«ã\80\81@var{file} ã\82\92 0 ã\83\90ã\82¤ã\83\88ã\81«
-(あるいは、@samp{seek=} で指定されたサイズに) 短縮する。
+標準出力の代わりに、@var{file} に書き出す。@samp{conv=notrunc}
\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84å ´å\90\88ã\80\81@command{dd} ã\81¯ã\80\81å\87ºå\8a\9bã\82\92é\96\8bå§\8bã\81\99ã\82\8bå\89\8dã\81«ã\80\81@var{file} ã\82\92
+0 バイトに (あるいは、@samp{seek=} で指定されたサイズに) 短縮する。
 
 @item ibs=@var{bytes}
 @opindex ibs
@@ -9053,9 +8861,9 @@ dd @var{option}
 @cindex block size
 入力、出力、両方のブロックサイズを @var{bytes} にする。@command{dd} が
 1 ブロック @var{bytes} バイトで読み書きを行うようになり、@samp{ibs} や @samp{obs}
\81®æ\8c\87å®\9aã\81¯ã\80\81ã\81\82ã\81£ã\81¦ã\82\82ç\84¡å\8a¹ã\81«ã\81ªã\82\8bã\80\82ã\81\95ã\82\89ã\81«、データ変換を行う @option{conv}
\82ªã\83\97ã\82·ã\83§ã\83³ã\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84å ´å\90\88ã\81«ã\81¯ã\80\81å\85¥å\8a\9bã\81¯ã\80\81ã\81\9dã\82\8cã\81\8cã\83\96ã\83­ã\83\83ã\82¯ã\82µã\82¤ã\82º
-より小さくても、読み込まれるやいなや、出力にコピーされることになる。
\81®æ\8c\87å®\9aã\81¯ã\80\81ã\81\82ã\81£ã\81¦ã\82\82ç\84¡å\8a¹ã\81«ã\81ªã\82\8bã\80\82ã\81ªã\81\8a、データ変換を行う @option{conv}
\82ªã\83\97ã\82·ã\83§ã\83³ã\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84å ´å\90\88ã\81¯ã\80\81å\85¥å\8a\9bã\81¯ã\80\81ã\81\9dã\82\8cã\81\8cã\83\96ã\83­ã\83\83ã\82¯ã\82µã\82¤ã\82ºã\82\88ã\82\8aå°\8fã\81\95ã\81\8fã\81¦ã\82\82ã\80\81
+読み込まれるやいなや、出力にコピーされることになる。
 
 @item cbs=@var{bytes}
 @opindex cbs
@@ -9063,52 +8871,58 @@ dd @var{option}
 @cindex conversion block size
 @cindex fixed-length records, converting to variable-length
 @cindex variable-length records, converting to fixed-length
-変換ブロックサイズを @var{bytes} にする。可変長のレコードを固定長の
-レコードに変換するときや (@option{conv=block})、その逆を行うとき
+変換ブロックサイズを @var{bytes} にする。
+可変長のレコードを固定長のレコードに変換するときや
+(@option{conv=block})、その逆を行うとき
 (@option{conv=unblock})、固定長レコードの長さとして @var{bytes} の値を使用する。
 
 @item skip=@var{n}
 @opindex skip
 入力ファイルで @samp{ibs} バイトのブロックを @var{n} 個読み飛ばしてから、
-コピーを行う。@samp{iflag=skip_bytes} が指定されている場合は、@var{n} は
-ブロック数ではなく、バイト数と見なされる。
+コピーを行う。@samp{iflag=skip_bytes} が指定されている場合は、@var{n}
\81¯ã\83\96ã\83­ã\83\83ã\82¯æ\95°ã\81§ã\81¯ã\81ªã\81\8fã\80\81ã\83\90ã\82¤ã\83\88æ\95°ã\81¨è¦\8bã\81ªã\81\95ã\82\8cã\82\8bã\80\82
 
 @item seek=@var{n}
 @opindex seek
 出力ファイルで @samp{obs} バイトのブロックを @var{n} 個スキップしてから、
-コピーを行う。@samp{oflag=seek_bytes} が指定されている場合は、 @var{n} は
-ブロック数ではなく、バイト数と見なされる。
+コピーを行う。@samp{oflag=seek_bytes} が指定されている場合は、 @var{n}
\81¯ã\83\96ã\83­ã\83\83ã\82¯æ\95°ã\81§ã\81¯ã\81ªã\81\8fã\80\81ã\83\90ã\82¤ã\83\88æ\95°ã\81¨è¦\8bã\81ªã\81\95ã\82\8cã\82\8bã\80\82
 
 @item count=@var{n}
 @opindex count
 入力ファイルの末尾まで全部ではなく、@samp{ibs} バイトのブロックを @var{n}
-個だけ入力ファイルからコピーする。@samp{iflag=count_bytes} が指定
-されている場合は、@var{n} はブロック数ではなく、バイト数と見なされる。
-なお、次のことに注意してほしい。パイプから読み込んでいる場合
-などに時おり起きることだが、入力からの読み込みがブロックの
-大きさに足りないことがある。そうした場合に @samp{iflag=fullblock} が
-指定してあると、@samp{count=} は、一杯になるまで読み込むブロックの
-個数に対応するようになる。入力から読み込みを実行する回数という
-POSIX で規定されている伝統的な動作には、対応しなくなるのだ。
-
-@item status=@var{which}
+個だけ入力ファイルからコピーする。@samp{iflag=count_bytes}
+が指定されている場合は、@var{n} はブロック数ではなく、バイト数と見なされる。
+なお、次のことに注意してほしい。パイプから読み込んでいる場合などに時おり起きることだが、
+入力からの読み込みがブロックの大きさに足りないことがある。そうした場合に
+@samp{iflag=fullblock} が指定してあると、@samp{count=}
+は、一杯になるまで読み込むブロックの個数を意味するようになる。
+入力から読み込みを実行する回数という POSIX で規定されている伝統的な動作ではなくなるのだ。
+
+@item status=@var{level}
 @opindex status
 通常では @samp{INFO} シグナルを受け取った時点や、@command{dd} が終了したときに、
-転送情報が標準エラーに出力される。@var{which} を指定することで、どの情報
-を表示しないかを設定できる。
+転送情報が標準エラーに出力される。
+@var{level} の指定によって、表示する情報の量を調節することができる。
+指定された @var{level} のうち、最後のものが優先される。
 
 @table @samp
 
-@item noxfer
-@opindex noxfer @r{dd status=}
-転送速度や転送量の統計を表示しない。通常は、そうした情報が
-ステータス表示の最後の行になる。
-
 @item none
 @opindex none @r{dd status=}
 情報メッセージや警告メッセージを標準エラーに全く表示しない。
 エラーメッセージは通常どおり出力する。
 
+@item noxfer
+@opindex noxfer @r{dd status=}
+最終的な転送速度や転送量の統計を表示しない。通常は、そうした情報がステータス表示の最後の行になる。
+
+@item progress
+@opindex progress @r{dd status=}
+各入力ブロックを処理するとき、転送速度と転送量の統計を標準エラーに表示する。
+転送量の統計は 1 行に表示され、最も頻繁な場合、1 秒ごとに出力されるが、
+I/O 待ちが起きると、更新が遅れることがある。
+
 @end table
 
 @item conv=@var{conversion}[,@var{conversion}]@dots{}
@@ -9122,34 +8936,36 @@ POSIX で規定されている伝統的な動作には、対応しなくなる
 
 @item ascii
 @opindex ascii@r{, converting to}
-POSIX が規定している変換テーブルを使って、EBCDIC を ASCII に
-変換する。変換テーブル中の 256 バイトのすべてについて、
-1 対 1 の変換が行われる。
+POSIX が規定している変換テーブルを使って、EBCDIC を ASCII に変換する。
+変換テーブル中の 256 バイトのすべてについて、1 対 1 の変換が行われる。
+このオプションを指定すると、@samp{conv=unblock} も指定されることになる。
+入力はまず ASCII に変換され、その後で末尾のスペースが除去される。
 
 @item ebcdic
 @opindex ebcdic@r{, converting to}
-ASCII を EBCDIC に変換する。これは @samp{ascii} 変換の逆の動作で
-ある。
+ASCII を EBCDIC に変換する。これは @samp{ascii} 変換の逆の動作である。
+このオプションを指定すると、@samp{conv=block} も指定されることになる。
+末尾にスペースが追加されてから、EBCDIC に変換される。
 
 @item ibm
 @opindex alternate ebcdic@r{, converting to}
-POSIX が規定しているもう一つの変換テーブルを使って、ASCII を
-EBCDIC の別の形式に変換する。こちらは 1 対 1 の変換ではない
\81\8cã\80\81@samp{~}, @samp{[}, @samp{]} ã\81«ã\81¤ã\81\84ã\81¦ã\80\81ã\82\88ã\81\8f使ã\82\8fã\82\8cã\82\8bä¼\9dçµ±ç\9a\84ã\81ªæ\85£è¡\8cã\82\92å\8f\8dæ\98 
-している。
+この指定の動作は @samp{conv=ebcdic} に似ている。
+ただし、POSIX が規定しているもう一つの変換テーブルを使って、変換する点が違う。
\81\93ã\81¡ã\82\89ã\81¯ 1 å¯¾ 1 ã\81®å¤\89æ\8f\9bã\81§ã\81¯ã\81ªã\81\84ã\81\8cã\80\81@samp{~}, @samp{[}, @samp{]}
\81«ã\81¤ã\81\84ã\81¦ã\80\81ã\82\88ã\81\8f使ã\82\8fã\82\8cã\82\8bä¼\9dçµ±ç\9a\84ã\81ªæ\85£è¡\8cã\82\92å\8f\8dæ\98 ã\81\97ã\81¦ã\81\84ã\82\8bã\80\82
 
 @samp{ascii}, @samp{ebcdic}, @samp{ibm} は、どれか一つしか指定できない。
+こうしたオプションの一つを使う場合は、@samp{cbs=} も指定すべきである。
 
 @item block
 @opindex block @r{(space-padding)}
-入力 1 行あたり、@samp{cbs} バイト分を出力する。入力中の改行は
-スペースに置き換え、@samp{cbs} バイトに足りない分はスペースで
-埋める。
+入力 1 行あたり、@samp{cbs} バイトを出力する。
+入力中の改行はスペースに置き換え、@samp{cbs} バイトに足りない分はスペースで埋める。
 
 @item unblock
 @opindex unblock
-@samp{cbs} バイトの大きさからなる各入力ブロックに対して、末尾に
\82¹ã\83\9aã\83¼ã\82¹ã\81\8cã\81\82ã\82\8cã\81°ã\80\81ã\81\9dã\82\8cã\82\92ã\81\99ã\81¹ã\81¦å\89\8aé\99¤ã\81\97ã\80\81æ\94¹è¡\8cã\82\92追å\8a ã\81\99ã\82\8bã\80\82
+@samp{cbs} バイトの大きさからなる各入力ブロックに対して、末尾にスペースがあれば、
+それをすべて削除し、改行を追加する。
 
 @samp{block} と @samp{unblock} は、どちらか一方しか指定できない。
 
@@ -9165,60 +8981,52 @@ EBCDIC の別の形式に変換する。こちらは 1 対 1 の変換ではな
 
 @item sparse
 @opindex sparse
-出力ブロックが NUL のみからなっているとき、それを書き出さず
-に、seek を試みる。穴空きファイル (sparse file) をサポート
-しているシステムでは、この動作は、出力ファイルを書き出して
-いるときに、穴空きの出力を作成することになる。このオプションを
-@samp{conv=notrunc} や @samp{oflag=append} と一緒に使う際は、気をつけ
-なければならない。@samp{conv=notrunc} が付いていると、入力中の NUL
-ブロックに対応する位置にある、出力ファイル中の存在するデータは、
+出力ブロックが NUL のみからなっているとき、それを書き出さずに、seek を試みる。
+穴空きファイル (sparse file) をサポートしているシステムでは、
+この動作は、出力ファイルを書き出しているときに、穴空きの出力を作成することになる。
+このオプションを @samp{conv=notrunc} や @samp{oflag=append}
+と一緒に使う際は、気をつけなければならない。@samp{conv=notrunc} が付いていると、
+入力中の NUL ブロックに対応する位置にある、出力ファイル中の存在するデータは、
 そのまま保持されることになる。@samp{oflag=append} を付けた場合は、
-seek は行っても効果がない。なお、@samp{conv=sparse} では、出力先が
-ファイルではなく、デバイスの場合も、入力中の NUL ブロックは
-やはりコピーされない。そんなわけで、このオプションが最も役に
-立つのは、仮想デバイスや、前もって 0 で初期化したデバイスに
-対してである。
+seek は行っても効果がない。なお、@samp{conv=sparse} では、
+出力先がファイルではなく、デバイスの場合も、入力中の NUL ブロックはやはりコピーされない。
+そんなわけで、このオプションが最も役に立つのは、仮想デバイスや、前もって
+0 で初期化したデバイスに対してである。
 
 @item swab
 @opindex swab @r{(byte-swapping)}
 @cindex byte-swapping
-入力された全バイトを 2 個づつ組にして、前後を入れ替える。GNU
-の @command{dd} は、他の @command{dd} とは違って、読み込むバイトが奇数個でも
-動作する。最後のバイトは (入れ替えるものがないので) そのまま
-コピーするのである。
+入力された全バイトを 2 個づつ組にして、前後を入れ替える。GNU の
+@command{dd} は、他の @command{dd} とは違って、読み込むバイトが奇数個でも動作する。
+最後のバイトは (入れ替えるものがないので) そのままコピーするのである。
 
 @item sync
 @opindex sync @r{(padding with ASCII NULs)}
-すべての入力ブロックに対して @samp{ibs} の大きさになるまで、末尾を
-ゼロバイトで埋める。@samp{block} や @samp{unblock} と一緒に使用する
-と、ゼロバイトの代わりにスペースで埋める。
+すべての入力ブロックに対して @samp{ibs} の大きさになるまで、末尾をゼロバイトで埋める。
+@samp{block} や @samp{unblock} と一緒に使用すると、ゼロバイトの代わりにスペースで埋める。
 
 @end table
 
-以下の @var{conversion} は、実のところファイルの扱いに関するフラグ
-なので、内的な処理には影響を及ぼさない。
+以下の @var{conversion} は、実のところファイルの扱いに関するフラグなので、内的な処理には影響を及ぼさない。
 
 @table @samp
 @item excl
 @opindex excl
 @cindex creating output file, requiring
 出力ファイルがすでに存在する場合は、実行に失敗する。
-言い換えれば、@command{dd} が出力ファイルを自分で作成しなければ
-ならないということである。
+言い換えれば、@command{dd} が出力ファイルを自分で作成しなければならないということである。
 
 @item nocreat
 @opindex nocreat
 @cindex creating output file, avoiding
-出力ファイルを作成しない。言い換えれば、出力ファイルは前もって
-存在していなければならないということだ。
+出力ファイルを作成しない。言い換えれば、出力ファイルは前もって存在していなければならないということだ。
 
 @samp{excl} と @samp{nocreat} は、どちらか一方しか指定できない。
 
 @item notrunc
 @opindex notrunc
 @cindex truncating output file, avoiding
-出力ファイルに対して短縮操作をしない (訳注: @samp{of=@var{file}} の項を
-参照)。
+出力ファイルに対して短縮操作をしない (訳注: @samp{of=@var{file}} の項を参照)。
 
 @item noerror
 @opindex noerror
@@ -9228,27 +9036,26 @@ seek は行っても効果がない。なお、@samp{conv=sparse} では、出
 @item fdatasync
 @opindex fdatasync
 @cindex synchronized data writes, before finishing
-コマンドを終了する直前に、出力データを同期させる。すなわち、
-出力データをディスクに実際に書き込む。
+コマンドを終了する直前に、出力データを同期させる。
+すなわち、出力データをディスクに実際に書き込む。
 
 @item fsync
 @opindex fsync
 @cindex synchronized data and metadata writes, before finishing
-コマンドを終了する直前に、出力データだけでなく、メタデータも
-同期させる。すなわち、出力データとメタデータをディスクに
-実際に書き込む。
+コマンドを終了する直前に、出力データだけでなく、メタデータも同期させる。
+すなわち、出力データとメタデータをディスクに実際に書き込む。
 
 @end table
 
 @item iflag=@var{flag}[,@var{flag}]@dots{}
 @opindex iflag
-引数 @var{flag} によって指定されたフラグを使って、入力ファイルに
-アクセスする。(コンマの前後にスペースを入れてはいけない。)
+引数 @var{flag} によって指定されたフラグを使って、入力ファイルにアクセスする。
+(コンマの前後にスペースを入れてはいけない。)
 
 @item oflag=@var{flag}[,@var{flag}]@dots{}
 @opindex oflag
-引数 @var{flag} によって指定されたフラグを使って、出力ファイルに
-アクセスする。(コンマの前後にスペースを入れてはいけない。)
+引数 @var{flag} によって指定されたフラグを使って、出力ファイルにアクセスする。
+(コンマの前後にスペースを入れてはいけない。)
 
 フラグには次のものがある。どのオペレーティング・システムでも、
 すべてのフラグが使えるわけではない。
@@ -9258,52 +9065,47 @@ seek は行っても効果がない。なお、@samp{conv=sparse} では、出
 @item append
 @opindex append
 @cindex appending to the output file
-追加モードで書き込む。従って、何か別のプロセスが問題の
-ファイルに書き出している場合でも、@command{dd} の書き込みは、
-書き込むたびに、そのファイルの今現在の内容に追加されること
-になる。このフラグは出力に対してしか意味がない。なお、この
-フラグを @samp{of=@var{file}} オペランドと組み合わせて使うのなら、
-@samp{conv=notrunc} も一緒に指定した方がよい。さもないと、出力
-ファイルは、追加書き込みが始まる前に、短縮操作を受けること
-になる。
+追加モードで書き込む。従って、何か別のプロセスが問題のファイルに書き出している場合でも、
+@command{dd} の書き込みは、書き込むたびに、そのファイルの今現在の内容に追加されることになる。
+このフラグは出力に対してしか意味がない。なお、このフラグを
+@samp{of=@var{file}} オペランドと組み合わせて使うのなら、
+@samp{conv=notrunc} も一緒に指定した方がよい。
+さもないと、出力ファイルは、追加書き込みが始まる前に、短縮操作を受けることになる。
 
 @item cio
 @opindex cio
 @cindex concurrent I/O
-データに対してコンカレント I/O (CIO) モードを使用する。この
-モードでは、ダイレクト I/O を行いつつ、同じファイルに対する
-すべての I/O は順番に行わなければならないという POSIX の
-要件は無視する。一つのファイルを CIO モードと標準的な方法の
-両方で同時にオープンすることはできない。
+データに対してコンカレント I/O (CIO) モードを使用する。
+このモードでは、ダイレクト I/O を行いつつ、同じファイルに対するすべての
+I/O は順番に行わなければならないという POSIX の要件は無視する。
+一つのファイルを CIO モードと標準的な方法の両方で同時にオープンすることはできない。
 
 @item direct
 @opindex direct
 @cindex direct I/O
-データに対してダイレクト I/O を使用し、バッファ・キャッシュを
-介さないようにする。カーネルが read バッファや write バッファ
-のサイズに制限をかけていることがあるのに注意していただきたい。
+データに対してダイレクト I/O を使用し、バッファ・キャッシュを介さないようにする。
+カーネルが read バッファや write バッファのサイズに制限をかけていることがあるのに注意していただきたい。
 たとえば、出力先のファイルシステムが ext4 で、カーネルが linux
-ベースの場合、出力バッファのサイズが 512 の倍数でなければ、
-@samp{oflag=direct} を指定すると、@code{EINVAL} で書き込みに失敗する。
+ベースの場合、出力バッファのサイズが 512 の倍数でなければ、@samp{oflag=direct}
+を指定すると、@code{EINVAL} で書き込みに失敗することになる。
 
 @item directory
 @opindex directory
 @cindex directory I/O
 
-ファイルがディレクトリでなければ、実行に失敗する。ほとんどの
\82ªã\83\9aã\83¬ã\83¼ã\83\86ã\82£ã\83³ã\82°ã\83»ã\82·ã\82¹ã\83\86ã\83 ã\81\8cã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81«å¯¾ã\81\99ã\82\8b I/O ã\82\92許ã\81\97ã\81¦
-いない。従って、このフラグが役に立つ機会はめったにない。
+ファイルがディレクトリでなければ、実行に失敗する。
\81»ã\81¨ã\82\93ã\81©ã\81®ã\82ªã\83\9aã\83¬ã\83¼ã\83\86ã\82£ã\83³ã\82°ã\83»ã\82·ã\82¹ã\83\86ã\83 ã\81\8cã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81«å¯¾ã\81\99ã\82\8b I/O
\82\92許ã\81\97ã\81¦ã\81\84ã\81ªã\81\84ã\80\82å¾\93ã\81£ã\81¦ã\80\81ã\81\93ã\81®ã\83\95ã\83©ã\82°ã\81\8cå½¹ã\81«ç«\8bã\81¤æ©\9fä¼\9aã\81¯ã\82\81ã\81£ã\81\9fã\81«ã\81ªã\81\84ã\80\82
 
 @item dsync
 @opindex dsync
 @cindex synchronized data reads
 データに対して同期 I/O を使用する。出力ファイルについては、
-このフラグは、各書き込みごとに出力データをディスクに実際に
-書き込ませる。入力ファイルについてこのフラグが意味を持つかも
-しれないのは、読み込んでいるのがリモートのファイルであり、
-それが何か他のプロセスによって同期的に書き込まれているとき
-である。メタデータ (たとえば、最終アクセス日時や最終更新日時)
-は、必ずしも同期されない。
+このフラグは、各書き込みごとに出力データをディスクに実際に書き込ませる。
+入力ファイルについてこのフラグが意味を持つかもしれないのは、
+読み込んでいるのがリモートのファイルであり、
+それが何か他のプロセスによって同期的に書き込まれているときである。
+メタデータ (たとえば、最終アクセス日時や最終更新日時) は、必ずしも同期されない。
 
 @item sync
 @opindex sync
@@ -9313,12 +9115,18 @@ seek は行っても効果がない。なお、@samp{conv=sparse} では、出
 @item nocache
 @opindex nocache
 @cindex discarding file cache
-ファイルのデータ・キャッシュを廃棄する。count=0 の場合は、
-キャッシュが全部捨てられる。それ以外の場合は、ファイルの
-キャッシュのうち、処理の対象になる部分だけが捨てられる。
-また、count=0 のとき、キャッシュの廃棄に失敗すると、その旨
-メッセージが表示され、終了ステータスに反映する。以下に、
-使用法の例をいくつか挙げておく。
+システムの持つファイルのデータ・キャッシュを廃棄するよう要求する。
+count=0 の場合は、ファイルのキャッシュされたデータ全体を指定することになる。
+それ以外の場合は、ファイルのキャッシュのうち、処理の対象になった部分だけが捨てられる。
+また、count=0 のとき、キャッシュの廃棄に失敗すると、
+その旨メッセージが表示され、終了ステータスに反映する。
+
+念のために言っておくと、
+ストレージへの書き込みがまだ終了していないデータが、キャッシュから捨てられることはない。
+そこで、下記の用例で ``sync'' オプションを使っていることに注目していただきたい。
+@samp{nocache} フラグの効率を最大にするために使用しているのである。
+
+用例をいくつか挙げておく。
 
 @example
 # ファイル全体のキャッシュを捨てるように指示する。
@@ -9331,7 +9139,8 @@ dd of=ofile oflag=nocache conv=notrunc,fdatasync count=0
 dd if=ifile iflag=nocache skip=10 count=10 of=/dev/null
 
 # read-ahead キャッシュのみを使って、データを転送する。
-dd if=ifile of=ofile iflag=nocache oflag=nocache
+# @samp{direct} フラグの項も参照すること。
+dd if=ifile of=ofile iflag=nocache oflag=nocache,sync
 @end example
 
 @item nonblock
@@ -9344,16 +9153,15 @@ dd if=ifile of=ofile iflag=nocache oflag=nocache
 @cindex access time
 ファイルのアクセス日時を更新しない。古いシステムの中には、
 エラーや警告も出さずに、このフラグを無視するものがある。
-そこで、このフラグを使用する前に、有効かどうか、お手元の
-ファイルで試してみるとよい。
+そこで、このフラグを使用する前に、有効かどうか、お手元のファイルで試してみるとよい。
 
 @item noctty
 @opindex noctty
 @cindex controlling terminal
-入力 (または、出力) ファイルを @command{dd} の制御端末にしない。この
\83\95ã\83©ã\82°ã\81¯ã\80\81ã\81\9dã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81\8c端æ\9c«ã\81§ã\81ªã\81\91ã\82\8cã\81°ã\80\81å\8a¹æ\9e\9cã\81\8cã\81ªã\81\84ã\80\82ã\81\93ã\81®
\83\95ã\83©ã\82°ã\81\8cå\85¨ã\81\8få\8a¹æ\9e\9cã\82\92æ\8c\81ã\81\9fã\81ªã\81\84ã\83\9bã\82¹ã\83\88ã\81\8cã\80\81ã\81\9fã\81\8fã\81\95ã\82\93ã\81\82ã\82\8b (ã\81\9fã\81¨ã\81\88ã\81°ã\80\81
-GNU/Linux ホストがそうである)。
+入力 (または、出力) ファイルを @command{dd} の制御端末にしない。
\81\93ã\81®ã\83\95ã\83©ã\82°ã\81¯ã\80\81ã\81\9dã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81\8c端æ\9c«ã\81§ã\81ªã\81\91ã\82\8cã\81°ã\80\81å\8a¹æ\9e\9cã\81\8cã\81ªã\81\84ã\80\82
\81\93ã\81®ã\83\95ã\83©ã\82°ã\81\8cå\85¨ã\81\8få\8a¹æ\9e\9cã\82\92æ\8c\81ã\81\9fã\81ªã\81\84ã\83\9bã\82¹ã\83\88ã\81\8cã\80\81ã\81\9fã\81\8fã\81\95ã\82\93ã\81\82ã\82\8b
+(たとえば、GNU/Linux ホストがそうである)。
 
 @item nofollow
 @opindex nofollow
@@ -9368,82 +9176,75 @@ GNU/Linux ホストがそうである)。
 @item binary
 @opindex binary
 @cindex binary I/O
-バイナリ I/O を使用する。このフラグは、バイナリ I/O と
-テキスト I/O を区別する非標準的なプラットフォームでしか
-効果がない。
+バイナリ I/O を使用する。このフラグは、バイナリ I/O とテキスト I/O
+を区別する非標準的なプラットフォームでしか効果がない。
 
 @item text
 @opindex text
 @cindex text I/O
-テキスト I/O を使用する。このフラグが標準的なプラットフォーム
-で効果がないのは、@samp{binary} と同様である。
+テキスト I/O を使用する。このフラグが標準的なプラットフォームで効果がないのは、
+@samp{binary} と同様である。
 
 @item fullblock
 @opindex fullblock
-各ブロックが一杯になるまで入力から読み込む。@code{read} システム
-コールは、入力がブロックの分量に足りない場合、早めに戻って
-くることがある。そうした場合に、@code{read} の呼び出しを繰り返
-して、ブロックの残りを埋めようとする。このフラグは、@code{iflag}
-でのみ使える。このフラグが役に立つのは、たとえばパイプと組み
-合わせて使うときである。パイプとの組み合わせでは、入力からの
-読み込みがブロックの大きさに足りないことがあるからだ。そうした
-場合に、@samp{count=} の引数が、読み込み動作の回数ではなく、読み
-込むブロック数だと間違いなく解釈されるようにするには、この
-フラグが必要になる。
+各ブロックが一杯になるまで入力から読み込む。@code{read} システムコールは、
+入力がブロックの分量に足りない場合、早めに戻ってくることがある。
+そうした場合に、@code{read} の呼び出しを繰り返して、ブロックの残りを埋めようとする。
+このフラグは、@code{iflag} でのみ使用できる。
+このフラグが役に立つのは、たとえばパイプと組み合わせて使うときである。
+パイプとの組み合わせでは、入力からの読み込みがブロックの大きさに足りないことがあるからだ。
+そうした場合に、@samp{count=} の引数が、読み込み動作の回数ではなく、
+読み込むブロック数だと確実に解釈されるようにするには、このフラグが必要になる。
 
 @item count_bytes
 @opindex count_bytes
-@samp{count=} オペランドをブロック数ではなく、バイト数の指定と
-見なす。そうすることで、I/O ブロックサイズの倍数ではない
-長さが、指定できるようになるわけだ。このフラグは @code{iflag}
-でしか使用できない。
+@samp{count=} オペランドをブロック数ではなく、バイト数の指定と見なす。
+そうすることで、I/O ブロックサイズの倍数ではない長さが、指定できるようになるわけだ。
+このフラグは @code{iflag} でしか使用できない。
 
 @item skip_bytes
 @opindex skip_bytes
-@samp{skip=} オペランドをブロック数ではなく、バイト数の指定と
-見なす。そうすることで、I/O ブロックサイズの倍数ではない
-オフセットが、指定できるようになるわけだ。このフラグは
-@code{iflag} でしか使用できない。
+@samp{skip=} オペランドをブロック数ではなく、バイト数の指定と見なす。
+そうすることで、I/O ブロックサイズの倍数ではないオフセットが、指定できるようになるわけだ。
+このフラグは @code{iflag} でしか使用できない。
 
 @item seek_bytes
 @opindex seek_bytes
-@samp{seek=} オペランドをブロック数ではなく、バイト数の指定と
-見なす。そうすることで、I/O ブロックサイズの倍数ではない
-オフセットが、指摘できるようになるわけだ。このフラグは
-@code{oflag} でしか使用できない。
+@samp{seek=} オペランドをブロック数ではなく、バイト数の指定と見なす。
+そうすることで、I/O ブロックサイズの倍数ではないオフセットが、指定できるようになるわけだ。
+このフラグは @code{oflag} でしか使用できない。
 
 @end table
 
 以上のフラグは、すべてのシステムでサポートされているわけではなく、
-サポートされていないシステムで使用しようとすると、@samp{dd} に拒否
-される。標準入力から読み込んでいる場合や、標準出力に書き出して
-いる場合は、@samp{nofollow} や @samp{noctty} フラグは指定するべきではない。
-また、他のフラグ (たとえば @samp{nonblock}) は、対象となるファイルの
-ファイル・ディスクリプタに対する他のプロセスの動作に、@command{dd} が
-終了した後までも、影響を及ぼすかもしれない。
+サポートされていないシステムで使用しようとすると、@samp{dd} に拒否される。
+標準入力から読み込んでいる場合や、標準出力に書き出している場合は、
+@samp{nofollow} や @samp{noctty} フラグは指定するべきではない。
+また、他のフラグ (たとえば @samp{nonblock}) は、
+対象となるファイルのファイル・ディスクリプタに対する他のプロセスの動作に、@command{dd}
+終了した後までも、影響を及ぼすかもしれない。
 
 @end table
 
 @cindex multipliers after numbers
-上記中の数値を表す文字列  (@var{n} や @var{bytes}) には、乗数を示す文字を後ろに
-付けることができる。すなわち、@samp{b}=512, @samp{c}=1, @samp{w}=2, @samp{x@var{m}}=@var{m}
-といった
-文字である (訳注: 最後のものは、10xM という表記は 10M と書くのと同じだ
-ということ)。あるいは、@samp{k}=1024 のような、ブロックサイズに付ける標準の
-接尾辞の一つを続けてもよい (@pxref{Block size})。
+上記中の数値を表す文字列  (@var{n} や @var{bytes}) には、乗数を示す文字を後ろに付けることができる。
+すなわち、@samp{b}=512, @samp{c}=1, @samp{w}=2, @samp{x@var{m}}=@var{m}
+といった文字である (訳注: 最後のものは、10xM という表記は 10M と書くのと同じだということ)。
+あるいは、@samp{k}=1024 のような、ブロックサイズに付ける標準の接尾辞の一つを続けてもよい
+(@pxref{Block size})。
 
 @samp{bs=}, @samp{ibs=}, @samp{obs=}, "@samp{cbs=} を使って指定するブロックサイズは、
 大きすぎない方がよい。数メガバイトを越える値は、一般的に言って無駄だし、
 (ギガバイト @dots{} エクサバイトを使ったときのように) 全く逆効果だったり、
 エラーの元になったりする。
 
-データのオフセット位置やサイズが I/O ブロックサイズの倍数ではない
-場合に、そうしたデータを処理するには、@samp{skip_bytes}, @samp{seek_bytes},
-@samp{count_bytes} といったフラグを使用すればよい。あるいは、@command{dd} を別々に
-呼び出すという伝統的な手法を使用することもできる。一例を挙げると、
»¥ä¸\8bã\81®ã\82·ã\82§ã\83«ã\82³ã\83\9eã\83³ã\83\89ã\81¯ã\80\811 ã\83\96ã\83­ã\83\83ã\82¯ ã\82\92 512 KiB ã\81«ã\81\97ã\81¦ã\80\81ã\83\87ã\82£ã\82¹ã\82¯ã\81¨
\83\86ã\83¼ã\83\97ã\81®é\96\93ã\81§ã\83\87ã\83¼ã\82¿ã\82\92ã\82³ã\83\94ã\83¼ã\81\97ã\81¦ã\81\84ã\82\8bã\80\82ã\81\9fã\81 ã\81\97ã\80\81ã\83\87ã\82£ã\82¹ã\82¯ã\81®å\85\88é ­ã\81«ã\81\82ã\82\8b
-4 KiB のラベルについては、保存も復元も行っていない。
+データのオフセット位置やサイズが I/O ブロックサイズの倍数ではない場合に、
+そうしたデータを処理するには、@samp{skip_bytes}, @samp{seek_bytes},
+@samp{count_bytes} といったフラグを使用すればよい。あるいは、@command{dd}
+を別々に呼び出すという伝統的な手法を使用することもできる。
¸\80ä¾\8bã\82\92æ\8c\99ã\81\92ã\82\8bã\81¨ã\80\81以ä¸\8bã\81®ã\82·ã\82§ã\83«ã\82³ã\83\9eã\83³ã\83\89ã\81¯ã\80\811 ã\83\96ã\83­ã\83\83ã\82¯ ã\82\92 512 KiB
\81«ã\81\97ã\81¦ã\80\81ã\83\87ã\82£ã\82¹ã\82¯ã\81¨ã\83\86ã\83¼ã\83\97ã\81®é\96\93ã\81§ã\83\87ã\83¼ã\82¿ã\82\92ã\82³ã\83\94ã\83¼ã\81\97ã\81¦ã\81\84ã\82\8bã\80\82
+ただし、ディスクの先頭にある 4 KiB のラベルについては、保存も復元も行っていない。
 
 @example
 disk=/dev/rdsk/c0t1d0s2
@@ -9457,24 +9258,62 @@ tape=/dev/rmt/0
 (dd bs=4k seek=1 count=0 && dd bs=512k) <$tape >$disk
 @end example
 
-実行中の @command{dd} のプロセスに @samp{INFO} シグナルを送ると、@command{dd} は入出力の
-統計情報を標準エラーに書き出してから、コピー作業を続行する。以下の
-例では、@command{dd} がバックグラウンドで動作し、1 千万ブロックのコピーを行って
-いる。@command{kill} コマンドが実行されると、@command{dd} は実行途中の入出力統計を
-表示する。そして、正常に作業を完了するか、@code{SIGINT} シグナルによって
-中断されたとき、最終的な統計情報を出力する。
+@cindex ddrescue
+@cindex disks, failing
+壊れかけたディスクについては、様々なおまけ機能が付いたツールが他にあり、
+そうしたものを使えば、ディスクが本当にダメになってしまう前に、できるだけ多くのデータを救済することが容易になる。
+たとえば、@uref{http://www.gnu.org/software/ddrescue/, GNU @command{ddrescue}
+がその一つだ}。
+しかしながら、場合によっては、そうしたツールが使えないこともあるし、
+管理者にとって @command{dd} を操作する方が安心できるということもある。
+そうした場合は、簡単なレスキュー方法として、@command{dd} を以下の例で示すように実行すればよい。
+@samp{conv=noerror,sync} オプションを使っているのは、リードエラーがあっても続行し、
+読み込めなかった部分 (bad read) を NUL で埋めるためである。
+また、@samp{iflag=fullblock} は、ショートリードに対する用心だ
+(そうしたことが磁気ディスクを使っているデバイスで起きたことは、これまでにないけれど)。
+
+@example
+# 壊れかけたディスクのパーティションから (マウントしていない
+# パーティションだ!) データを救済する。
+dd conv=noerror,sync iflag=fullblock </dev/sda1 > /mnt/rescue.img
+@end example
+
+実行中の @command{dd} のプロセスに @samp{INFO} シグナルを送ると
+(それが使えないシステムでは、@samp{USR1} シグナルを送る)、
+@command{dd} は入出力の統計情報を標準エラーに書き出し、それからコピー作業を続行する。
+以下の例では、@command{dd} をバックグラウンドで実行し
+5GB のデータのコピーを行っている。@command{kill} コマンドが実行されると、
+@command{dd} は実行途中の入出力統計を表示する。
+そして、正常に作業を完了するか、@code{SIGINT} シグナルによって中断されたとき、
+最終的な統計情報を出力する。
 
 @example
-$ dd if=/dev/zero of=/dev/null count=10MB & pid=$!
-$ kill -s INFO $pid; wait $pid
-3385223+0 records in
-3385223+0 records out
-1733234176 bytes (1.7 GB) copied, 6.42173 seconds, 270 MB/s
-10000000+0 records in
-10000000+0 records out
-5120000000 bytes (5.1 GB) copied, 18.913 seconds, 271 MB/s
+# シェルが子プロセスである dd をうっかり終了させてしまうことが
+# 絶対にないように、USR1 シグナルを「無視する」にしておく。
+# なお、SIGINFO が利用できる場合は、これをやる必要はない。
+trap '' USR1
+
+# シグナルを受けることが引き鉄になって、ショートリードが起きるかも
+# しれない。それを避けるために、dd を iflag=fullblock で実行する。
+dd iflag=fullblock if=/dev/zero of=/dev/null count=5000000 bs=1000 & pid=$!
+
+# 1 秒ごとに統計情報を出力する。
+while kill -s USR1 $pid 2>/dev/null; do sleep 1; done
+@end example
+
+上記のスクリプトの出力は、次のようなフォーマットになる。
+
+@example
+3441325+0 records in
+3441325+0 records out
+3441325000 bytes (3.4 GB, 3.2 GiB) copied, 1.00036 s, 3.4 GB/s
+5000000+0 records in
+5000000+0 records out
+5000000000 bytes (5.0 GB, 4.7 GiB) copied, 1.44433 s, 3.5 GB/s
 @end example
 
+@samp{status=progress} オプションを付けると、転送統計を表す上記の最後の行が定期的に更新される。
+
 @vindex POSIXLY_CORRECT
 @samp{INFO} シグナルが存在しないシステムでは、 環境変数 @env{POSIXLY_CORRECT}
 が設定されていないかぎり、@command{dd} は @samp{INFO} の代わりに @samp{USR1} に反応する。
@@ -9491,7 +9330,7 @@ $ kill -s INFO $pid; wait $pid
 @command{install} はファイルをコピーするとき、ファイルのモードビット
 (訳注: 一般にアクセス権とか、許可属性と言われるもの) をセットし、可能ならば、
 所有者やグループも設定する。
-@sp 1
+
 書式:
 
 @example
@@ -9503,31 +9342,30 @@ install [@var{option}]@dots{} -d @var{directory}@dots{}
 
 @itemize @bullet
 @item
-ファイル名を二つ指定すると、@command{install} は最初のファイルを 2 番目の
-ファイルにコピーする。
+ファイル名を二つ指定すると、@command{install} は最初のファイルを
+2 番目のファイルにコピーする。
 
 @item
-@option{--target-directory} (@option{-t}) オプションを指定した場合や、あるいは
-それを指定しないでも、最後のファイルがディレクトリであり、しかも
+@option{--target-directory} (@option{-t}) オプションを指定した場合や、
\81\82ã\82\8bã\81\84ã\81¯ã\81\9dã\82\8cã\82\92æ\8c\87å®\9aã\81\97ã\81ªã\81\84ã\81§ã\82\82ã\80\81æ\9c\80å¾\8cã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81\8cã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81§ã\81\82ã\82\8aã\80\81ã\81\97ã\81\8bã\82\82
 @option{--no-target-directory} (@option{-T}) オプションを指定していない場合は、
 @command{install} は各 @var{source} ファイルを指定されたディレクトリに、@var{source}
 の名前でコピーする。
 
 @item
 @option{--directory} (@option{-d}) を指定すると、@command{install} は各
-@var{directory} を
-ä½\9cæ\88\90ã\81\99ã\82\8bã\80\82ã\81\93ã\81®ã\81¨ã\81\8dã\80\81親ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81\8cå­\98å\9c¨ã\81\97ã\81ªã\81\91ã\82\8cã\81°ã\80\81ã\81\9dã\82\8cã\82\82
-ä½\9cæ\88\90ã\81\99ã\82\8bã\80\82ä½\9cæ\88\90ã\81\95ã\82\8cã\82\8b親ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81®ã\83¢ã\83¼ã\83\89ã\81¯ã\80\81@option{-m} ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81®
-指定や現在の umask にかかわりなく、@samp{u=rwx,go=rx} (755) になる。
-親ディレクトリの set-user-ID ビットや set-group-ID ビットの継承に
-ついては、次の節を参照していただきたい。@xref{Directory Setuid and Setgid}.
+@var{directory} を作成する。
+ã\81\93ã\81®ã\81¨ã\81\8dã\80\81親ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81\8cå­\98å\9c¨ã\81\97ã\81ªã\81\91ã\82\8cã\81°ã\80\81ã\81\9dã\82\8cã\82\82ä½\9cæ\88\90ã\81\99ã\82\8bã\80\82
+ä½\9cæ\88\90ã\81\95ã\82\8cã\82\8b親ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81®ã\83¢ã\83¼ã\83\89ã\81¯ã\80\81@option{-m} ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81®æ\8c\87å®\9aã\82\84ç\8f¾å\9c¨ã\81® umask
+にかかわりなく、@samp{u=rwx,go=rx} (755) になる。
+親ディレクトリの set-user-ID ビットや set-group-ID ビットの継承については、
+次の節を参照していただきたい。@xref{Directory Setuid and Setgid}.
 @end itemize
 
 @cindex Makefiles, installing programs in
-@command{install} は @command{cp} に似ているが、コピー先ファイルの属性を自由に
-設定できる点が違う。@command{install} は通常、Makefile の中で、プログラムを
-目標のディレクトリにコピーするために使用される。@command{install} では、ファイル
-をそれ自身にコピーすることはできない。
+@command{install} は @command{cp} に似ているが、コピー先ファイルの属性を自由に設定できる点が違う。
+@command{install} は通常、Makefile の中で、プログラムを目標のディレクトリにコピーするために使用される。
+@command{install} では、ファイルをそれ自身にコピーすることはできない。
 
 @cindex extended attributes, xattr
 @command{install} が拡張属性 (xattr) を保存することはない。
@@ -9543,18 +9381,17 @@ install [@var{option}]@dots{} -d @var{directory}@dots{}
 @opindex -C
 @opindex --compare
 インストール元とインストール先の対応するファイルを比較し、
\82¤ã\83³ã\82¹ã\83\88ã\83¼ã\83«å\85\88ã\81«ã\81\82ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\81\8cã\82¤ã\83³ã\82¹ã\83\88ã\83¼ã\83«å\85\83ã\81¨å\90\8cã\81\98å\86\85容ã\82\92æ\8c\81ã\81¡
\82¤ã\83³ã\82¹ã\83\88ã\83¼ã\83«å\85\88ã\81«ã\81\82ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\81\8cã\82¤ã\83³ã\82¹ã\83\88ã\83¼ã\83«å\85\83ã\81¨å\86\85容ã\81\8cå\90\8cã\81\98ã\81§
 しかも、所有者、グループ、許可属性、場合によっては SELinux
-コンテキストについて、そのどれもが指定されているものと同一で
-あるときは、インストール先ファイルを全く変更しない。このオプ
-ションは、@option{--user}, @option{--group}, @option{--mode} オプションと組み合わせて
-使うのが、最善である。そうしたオプションと組み合わせて使えば、
-@command{install} コマンドが、(たとえば、ディレクトリに setgid が付いて
-いるか否かや、POSIX のデフォルトの ACL を顧慮しないせいで)、
-インストールされるファイルがデフォルトで持つはずの属性を不正確に
-決めてしまうのを避けることができる。そういうことがあると、
-無駄なコピーが行われたり、属性が正しいデフォルト値に設定し直され
-なかったりといった不都合が生じかねないのだ。
+コンテキストについて、そのどれもが指定されているものと同一であるときは、
+インストール先ファイルを全く変更しない。
+このオプションは、@option{--user}, @option{--group}, @option{--mode}
+オプションと併せて使うとき、最も役に立つ。そうしない場合、
+@command{install} コマンドが、(たとえば、ディレクトリに
+setgid が付いていることや、POSIX のデフォルトの ACL を顧慮しないせいで)、
+インストールされるファイルがデフォルトで持つはずの属性を不正確に決めてしまうかもしれないのだ。
+そんなことがあると、無駄なコピーが行われたり、
+属性のデフォルト値が正しくないものに設定し直されたりといった不都合が生じかねない。
 
 @item -c
 @opindex -c
@@ -9563,10 +9400,10 @@ install [@var{option}]@dots{} -d @var{directory}@dots{}
 
 @item -D
 @opindex -D
-@var{dest} の指定中に存在していない親ディレクトリがあれば、それを作成
\81\97ã\81¦ã\81\8bã\82\89ã\80\81@var{source} ã\82\92 @var{dest} ã\81«ã\82³ã\83\94ã\83¼ã\81\99ã\82\8bã\80\82ã\82¤ã\83³ã\82¹ã\83\88ã\83¼ã\83«å\85\88ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ª
-が @option{--target-directory=DIR} によって指定されている場合は、この
\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯ç\84¡è¦\96ã\81\95ã\82\8cる。
+@var{dest} の指定中に存在していない親ディレクトリがあれば、
\81\9dã\82\8cã\82\92ä½\9cæ\88\90ã\81\97ã\81¦ã\81\8bã\82\89ã\80\81@var{source} ã\82\92 @var{dest} ã\81«ã\82³ã\83\94ã\83¼ã\81\99ã\82\8bã\80\82
+@option{-D} とともに明示的に @option{--target-directory=@var{dir}}
\82\92æ\8c\87å®\9aã\81\97ã\81\9få ´å\90\88ã\82\82ã\80\81ã\82\84ã\81¯ã\82\8aå\87ºå\8a\9bå\85\88ã\81®ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªé\9a\8e層ã\81\8c確å®\9fã\81«å­\98å\9c¨ã\81\99ã\82\8bã\82\88ã\81\86ã\81«ã\81ªる。
 
 @item -d
 @itemx --directory
@@ -9575,35 +9412,34 @@ install [@var{option}]@dots{} -d @var{directory}@dots{}
 @cindex directories, creating with given attributes
 @cindex parent directories, creating missing
 @cindex leading directories, creating missing
-まず、存在していない親ディレクトリがあれば作成し、それにデフォルトの
-属性を与える。それから、指定された各ディレクトリを作成し、所有者、
-グループ、許可属性を、コマンドラインで指定されたとおりに、または
-デフォルトの値に設定する。
+まず、存在していない親ディレクトリがあれば作成し、それにデフォルトの属性を与える。
+それから、指定された各ディレクトリを作成し、所有者、グループ、許可属性を、
+コマンドラインで指定されたとおりに、またはデフォルトの値に設定する。
 
 @item -g @var{group}
 @itemx --group=@var{group}
 @opindex -g
 @opindex --group
 @cindex group ownership of installed files, setting
-インストールするファイルやディレクトリの所有グループを @var{group} に
-設定する。デフォルトは、プロセスの現在のグループである。@var{group} は、
-グループ名でも、グループの ID 番号でもよい。
+インストールするファイルやディレクトリの所有グループを @var{group} にする。
+デフォルトでは、プロセスの現在のグループになる。
+@var{group} は、グループ名でも、グループの ID 番号でもよい。
 
 @item -m @var{mode}
 @itemx --mode=@var{mode}
 @opindex -m
 @opindex --mode
 @cindex permissions of installed files, setting
-インストールするファイルやディレクトリのモードビットを @var{mode} に
-設定する。@var{mode} の指定は、@samp{a=} (誰にもアクセスを許さない) を
-基点として行い、8 進数でも、@command{chmod} で使うようなシンボリック
-モードでもよい (@pxref{File permissions})。デフォルトのモードは、
-@samp{u=rwx,go=rx,a-s} である。すなわち、所有者には読み、書き、実行を
-許可し、グループとその他のユーザには読みと実行のみを許可、
+インストールするファイルやディレクトリのモードビットを @var{mode} にする。
+@var{mode} の指定は、@samp{a=} (誰にもアクセスを許さない) を基点として行い、
+8 進数でも、@command{chmod} で使うようなシンボリックモードでもよい
+(@pxref{File permissions})。デフォルトのモードは、
+@samp{u=rwx,go=rx,a-s} である。すなわち、所有者には読み、書き、実行を許可し、
+グループとその他のユーザには読みと実行のみを許可、
 set-user-ID と set-group-ID は無効にする。このデフォルトは、@samp{755}
-と全く同じではない。なぜなら、デフォルトの方は、ディレクトリに
-ついて set-user-ID や set-group-ID を引き継がず、無効にしている
-からである。 @xref{Directory Setuid and Setgid}. 
+と全く同じではない。なぜなら、デフォルトの方は、ディレクトリについて
+set-user-ID や set-group-ID を引き継がず、無効にしているからである。
+@xref{Directory Setuid and Setgid}. 
 
 @item -o @var{owner}
 @itemx --owner=@var{owner}
@@ -9612,32 +9448,31 @@ set-user-ID と set-group-ID は無効にする。このデフォルトは、@sa
 @cindex ownership of installed files, setting
 @cindex appropriate privileges
 @vindex root @r{as default owner}
-@command{install} が適切な権限を持っている場合に (つまり、root 権限で
-実行されている場合に)、インストールするファイルやディレクトリの
-所有者を @var{owner} に設定する。デフォルトは @code{root} である。@var{owner} の
-指定は、ユーザ名でも、ユーザの ID 番号でもよい。
+@command{install} が適切な権限を持っている場合に
+(つまり、root 権限で実行されている場合に)、インストールするファイルやディレクトリの所有者を
+@var{owner} にする。デフォルトでは @code{root} になる。@var{owner}
+指定は、ユーザ名でも、ユーザの ID 番号でもよい。
 
 @item --preserve-context
 @opindex --preserve-context
 @cindex SELinux
 @cindex security context
-ファイルやディレクトリの SElinux セキュリティ・コンテキストを引き
-継ぐ。ファイルやディレクトリすべてのセキュリティ・コンテキストを
-引き継げなかった場合は、終了ステータスが 1 になる。SElinux が
-無効になっているときは、警告を出し、このオプションを無視する。
+ファイルやディレクトリの SElinux セキュリティ・コンテキストを引き継ぐ。
+ファイルやディレクトリすべてのセキュリティ・コンテキストを引き継げなかった場合は、
+終了ステータスが 1 になる。SElinux が無効になっているときは、警告を出し、
+このオプションを無視する。
 
 @item -p
 @itemx --preserve-timestamps
 @opindex -p
 @opindex --preserve-timestamps
 @cindex timestamps of installed files, preserving
-インストール先各ファイルの最終アクセス日時 (last access time) と
-最終更新日時 (last modification time) を、対応するインストール元
-各ファイルのそれぞれの日時に合わせる。このオプションを付けずに
-インストールした場合、各ファイルの最終アクセス日時と最終更新日時は、
-両方ともインストールした日時になる。インストール先ファイルの最終
-更新日時を、最後にインストールした日付ではなく、最後にビルドした
-日付の記録として使用したい場合、このオプションは便利である。
+インストール先各ファイルの最終アクセス日時 (last access time) と最終更新日時
+(last modification time) を、対応するインストール元各ファイルのそれぞれの日時に合わせる。
+このオプションを付けずにインストールした場合、各ファイルの最終アクセス日時と最終更新日時は、
+両方ともインストールした日時になる。インストール先ファイルの最終更新日時を、
+最後にインストールした日付ではなく、最後にビルドした日付の記録として使用したい場合、
+このオプションは便利である。
 
 @item -s
 @itemx --strip
@@ -9645,18 +9480,17 @@ set-user-ID と set-group-ID は無効にする。このデフォルトは、@sa
 @opindex --strip
 @cindex symbol table information, stripping
 @cindex stripping symbol table information
-インストールされるバイナリの実行ファイルからシンボル・テーブルを
-取り除く。
+インストールされるバイナリの実行ファイルからシンボル・テーブルを取り除く。
 
 @item --strip-program=@var{program}
 @opindex --strip-program
 @cindex symbol table information, stripping, program
-バイナリからシンボル・テーブルを取り除くために使用するプログラムを
-指定する。
+バイナリからシンボル・テーブルを取り除くために使用するプログラムを指定する。
 
 @optBackupSuffix
 
-@optTargetDirectory
+@optTargetDirectory @option{-D} オプションも指定すると、
+ディレクトリの存在が保証される。
 
 @optNoTargetDirectory
 
@@ -9682,7 +9516,7 @@ set-user-ID と set-group-ID は無効にする。このデフォルトは、@sa
 @pindex mv
 
 @command{mv} は、ファイル (やディレクトリ) の移動、または名前の変更を行う。
-@sp 1
+
 書式:
 
 @example
@@ -9693,56 +9527,57 @@ mv [@var{option}]@dots{} -t @var{directory} @var{source}@dots{}
 
 @itemize @bullet
 @item
-ファイル名を二つ指定すると、@command{mv} は最初のファイルを 2 番目の
-ファイルに移動する。
+ファイル名を二つ指定すると、@command{mv} は最初のファイルを 2 番目のファイルに移動する。
 
 @item
-@option{--target-directory} (@option{-t}) オプションを指定した場合や、あるいは
-それを指定しないでも、最後のファイルがディレクトリであり、しかも
+@option{--target-directory} (@option{-t}) オプションを指定した場合や、
\81\82ã\82\8bã\81\84ã\81¯ã\81\9dã\82\8cã\82\92æ\8c\87å®\9aã\81\97ã\81ªã\81\84ã\81§ã\82\82ã\80\81æ\9c\80å¾\8cã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81\8cã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81§ã\81\82ã\82\8aã\80\81ã\81\97ã\81\8bã\82\82
 @option{--no-target-directory} (@option{-T}) オプションを指定していない場合は、
-@command{mv} は各 @var{source} ファイルを指定されたディレクトリに、@var{source} の
-名前で移動する。
+@command{mv} は各 @var{source} ファイルを指定されたディレクトリに、@var{source}
+名前で移動する。
 @end itemize
 
-@command{mv} はいかなるタイプのファイルでも、一つのファイルシステムから
-別のファイルシステムへ移動させることができる。fileutils パッケージの
-バージョン @code{4.0} 以前では、@command{mv} がファイルシステム間を移動させる
-ことができたのは、通常ファイルだけだった。それに対して、現在の @command{mv}
-では、たとえば、スペシャル・デバイスファイルを含むディレクトリ階層の
-全体を、あるパーティションから別のパーティションへ移動させることが
-可能になっている。@command{mv} は、まず @code{cp -a} が使用するのと同じコードを
-使って、指定されたディレクトリやファイルをコピーし、その後で (コピーに
-成功した場合は) コピー元を削除する。コピーに失敗した場合は、移動先の
-パーティションにすでにコピーした部分を消去することになる。仮に、ある
-パーティションから別のパーティションに、3 個のディレクトリをコピー
-しようとして、最初のディレクトリのコピーには成功したものの、2 番目の
-ディレクトリのコピーに失敗したとしよう。その場合、最初のディレクトリ
-は、移動先のパーティションに残るが、2 番目と 3 番目のディレクトリは、
-元のパーティションに残ることになる。
+@command{mv} はいかなるタイプのファイルでも、
+一つのファイルシステムから別のファイルシステムへ移動させることができる。
+fileutils パッケージのバージョン @code{4.0} 以前では、@command{mv}
+がファイルシステム間を移動させることができたのは、通常ファイルだけだった。
+それに対して、現在の @command{mv} では、
+たとえば、スペシャル・デバイスファイルを含むディレクトリ階層の全体を、
+あるパーティションから別のパーティションへ移動させることが可能になっている。
+@command{mv} は、まず @code{cp -a} が使用するのと同じコードを使って、
+指定されたディレクトリやファイルをコピーし、その後で (コピーに成功した場合は) コピー元を削除する。
+コピーに失敗した場合は、移動先のパーティションにすでにコピーした部分を消去することになる。
+仮に、あるパーティションから別のパーティションに、3 個のディレクトリをコピーしようとして、
+最初のディレクトリのコピーには成功したものの、2 番目のディレクトリのコピーに失敗したとしよう。
+その場合、最初のディレクトリは、移動先のパーティションに残るが、2 番目と
+3 番目のディレクトリは、元のパーティションに残ることになる。
 
 @cindex extended attributes, xattr
-@command{mv} は拡張属性 (xattr) を常にコピーしようとする。この拡張属性は、
-SELinux コンテキストや ACL、ケーパビリティであってもよい。拡張属性の
-コピーに失敗したときは、@samp{Operation not supported} 以外のすべての
-警告が出力される。
+@command{mv} は拡張属性 (xattr) を常にコピーしようとする。
+この拡張属性は、SELinux コンテキストや ACL、ケーパビリティであってもよい。
+拡張属性のコピーに失敗したときは、@samp{Operation not supported}
+以外のすべての警告が出力される。
 
 @cindex prompting, and @command{mv}
-移動先ファイルがすでに存在し、それが普通なら書き込みのできないもの
-である場合、標準入力が端末であり、@option{-f} や @option{--force} オプションが指定
-されていなければ、@command{mv} はプロンプトを出して、ファイルを置き換えるか
-どうか、ユーザに問い合わせる (ファイルの書き込み権限がなくても、自分
-がそのファイルの所有者であったり、そのディレクトリの書き込み権限を
-持っていたりすることは、ありえることである)。答えが肯定でなければ、
-そのファイルはスキップされる。
-
-警告: 名前変更の対象 (または、移動元) がディレクトリへのシンボリック
-リンクかもしれないときは、その名前を指定する際に、末尾にスラッシュを
-付けてはいけない。さもないと、@command{mv} の動作は内部で使っている rename
+移動先ファイルがすでに存在し、それが普通なら書き込みのできないものである場合、
+標準入力が端末であり、@option{-f} や @option{--force} オプションが指定されていなければ、
+@command{mv} はプロンプトを出して、ファイルを置き換えるかどうか、ユーザに問い合わせる
+(ファイルの書き込み権限がなくても、自分がそのファイルの所有者であったり、
+そのディレクトリの書き込み権限を持っていたりすることは、ありえることである)。
+答えが肯定でなければ、そのファイルはスキップされる。
+
+警告: 名前変更の対象 (または、移動元) がディレクトリへのシンボリックリンクかもしれないときは、
+その名前を指定する際に、末尾にスラッシュを付けてはいけない。
+さもないと、@command{mv} の動作は内部で使っている rename
 システムコール次第なので、全く予想外のことが起きるかもしれないのだ。
 Linux ベースの最近のカーネルを使っているシステムでは、@code{errno=ENOTDIR}
-で実行に失敗する。しかし、他のシステムでは (少なくとも、FreeBSD 6.1
-や Solaris 10 では)、シンボリックリンクではなく、リンクが参照している
-ディレクトリの名前の方を、警告なしで変更するのである。 @xref{Trailing slashes}.
+で実行に失敗する。しかし、他のシステムでは (少なくとも、FreeBSD 6.1 や
+Solaris 10 では)、シンボリックリンクではなく、リンクが参照しているディレクトリの名前の方を、
+警告なしで変更するのである。 @xref{Trailing slashes}.
+
+注意: @command{mv} が移動先にあるディレクトリを置き換えるのは、そのディレクトリが空のときだけである。
+移動先にある名前の衝突する (訳注: 要するに移動元ディレクトリと同名の) ディレクトリにファイルがあるときは、
+「ディレクトリが空ではない」旨のメッセージを出して、そのディレクトリをスキップする。
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 
@@ -9755,13 +9590,10 @@ Linux ベースの最近のカーネルを使っているシステムでは、@c
 @opindex -f
 @opindex --force
 @cindex prompts, omitting
-移動先のファイルを消去する前に、プロンプトを出してユーザに問い合わ
-せることをしない。
+移動先のファイルを消去する前に、プロンプトを出してユーザに問い合わせることをしない。
 @macro mvOptsIfn
-@option{-i}, @option{-f}, @option{-n} オプションを
-同時に指定している
-場合は、最後に指定したもののみが
-効果を持つ。
+@option{-i}, @option{-f}, @option{-n} オプションを同時に指定している場合は、
+最後に指定したもののみが効果を持つ。
 @end macro
 @mvOptsIfn
 
@@ -9770,9 +9602,8 @@ Linux ベースの最近のカーネルを使っているシステムでは、@c
 @opindex -i
 @opindex --interactive
 @cindex prompts, forcing
-ファイルの許可属性に関係なく、存在する各移動先ファイルを上書き
-するかどうかを、プロンプトを出してユーザに問い合わせる。答えが
-肯定でなければ、そのファイルをスキップする。@mvOptsIfn
+ファイルの許可属性に関係なく、存在する各移動先ファイルを上書きするかどうかを、プロンプトを出してユーザに問い合わせる。
+答えが肯定でなければ、そのファイルをスキップする。@mvOptsIfn
 
 @item -n
 @itemx --no-clobber
@@ -9787,14 +9618,13 @@ Linux ベースの最近のカーネルを使っているシステムでは、@c
 @opindex -u
 @opindex --update
 @cindex newer files, moving only
-ディレクトリ以外のものを移動する際、それが移動先にも存在し、
-しかもその更新日時 (modification time) が移動元と同じか、より
-新しい場合には、移動を行わない。移動が別のファイルシステムに
-向かって行われる場合、タイムスタンプの比較は、移動元のタイム
-スタンプを移動先のファイルシステム、及びタイムスタンプの更新に
-使われるシステムコールの精度に落とした上で行われる。これは、
-同じ移動元と移動先に対して、@samp{mv -u} コマンドが何回か実行される
-場合に、コピー作業が繰り返されるのを避けるためである。
+ディレクトリ以外のものを移動する際、それが移動先にも存在し、しかもその更新日時
+(modification time) が移動元と同じか、より新しい場合には、移動を行わない。
+移動が別のファイルシステムに向かって行われる場合、
+タイムスタンプの比較は、移動元のタイムスタンプを移動先のファイルシステム、
+及びタイムスタンプの更新に使われるシステムコールの精度に落とした上で行われる。
+これは、同じ移動元と移動先に対して、@samp{mv -u} コマンドが何回か実行される場合に、
+コピー作業が繰り返されるのを避けるためである。
 
 @item -v
 @itemx --verbose
@@ -9816,10 +9646,9 @@ Linux ベースの最近のカーネルを使っているシステムでは、@c
 @opindex --context
 @cindex SELinux, restoring security context
 @cindex security context
-このオプションは @command{restorecon} と同様の働きをする。すなわち、
-移動先ファイルの SELinux セキュリティ・コンテキストを、移動先に
-おけるシステムのデフォルトのタイプによって調整する。(coreutils-8.22
-の新機能)
+このオプションは @command{restorecon} と似た働きをする。
+すなわち、移動先における SELinux セキュリティ・コンテキストを、
+移動先のファイルやそこに作られる各ディレクトリに対する、システムのデフォルトのタイプに合わせて調整する。
 
 @end table
 
@@ -9832,9 +9661,9 @@ Linux ベースの最近のカーネルを使っているシステムでは、@c
 @pindex rm
 @cindex removing files or directories
 
-@command{rm} は、指定された各ファイルを削除する。デフォルトでは、ディレクトリ
-の削除は行わない。
-@sp 1
+@command{rm} は、指定された各ファイルを削除する。
\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81§ã\81¯ã\80\81ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81®å\89\8aé\99¤ã\81¯è¡\8cã\82\8fã\81ªã\81\84ã\80\82
+
 書式:
 
 @example
@@ -9843,26 +9672,24 @@ rm [@var{option}]@dots{} [@var{file}]@dots{}
 
 @cindex prompting, and @command{rm}
 @option{-I} または @option{--interactive=once} オプションが指定されている場合に、
-削除するファイルが 4 個以上あるか、あるいは @option{-r}, @option{-R}, @option{--recursive}
-などのオプションが指定されていると、@command{rm} はプロンプトを出して、作業を
-最後まで行うかどうか、ユーザに問い合わせる。答えが肯定でなければ、
-コマンド全体が中止になる。
+削除するファイルが 4 個以上あるか、あるいは @option{-r}, @option{-R},
+@option{--recursive} などのオプションが指定されていると、@command{rm}
+はプロンプトを出して、作業を最後まで行うかどうか、ユーザに問い合わせる。
+答えが肯定でなければ、コマンド全体が中止になる。
 
-それ以外の場合でも、削除するファイルが書き込み不可で、標準入力が
-端末、しかも @option{--force} (@option{-f}) オプションが指定されていない場合や、@option{-i}
+それ以外の場合でも、削除するファイルが書き込み不可で、標準入力が端末、しかも
+@option{--force} (@option{-f}) オプションが指定されていない場合や、@option{-i}
 または @option{--interactive=always} オプションが指定されている場合には、@command{rm}
-はプロンプトを出して、そのファイルを削除するかどうか、ユーザに問い合わ
-せる。答えが肯定でなければ、そのファイルをスキップする。
+はプロンプトを出して、そのファイルを削除するかどうか、ユーザに問い合わせる。
+答えが肯定でなければ、そのファイルをスキップする。
 
-ファイル名の最後の構成要素 (訳注: ファイル名 (いわゆるパス名) の
-最後の / より後ろの部分) が @file{.} や @file{..} であるファイルを削除しようと
-しても、@command{rm} はそれを実行せず、ユーザに問い合わせることもない。これは
-POSIX が要求している動作である。
+ファイル名の最後の構成要素 (訳注: ファイル名 (いわゆるパス名) の最後の / より後ろの部分)
+が @file{.} や @file{..} であるファイルを削除しようとしても、@command{rm}
+はそれを実行せず、ユーザに問い合わせることもない。これは POSIX が要求している動作である。
 
-警告: @command{rm} を使って、ファイルを削除しても、たいていの場合、その
-ファイルの内容を復元することが可能である。ファイルの内容が間違いなく
-復元不可能であるとの、より一層の保証が欲しいのなら、@command{shred} コマンドの
-使用をお考えになるとよい。
+警告: @command{rm} を使って、ファイルを削除しても、たいていの場合、そのファイルの内容を復元することが可能である。
+ファイルの内容が間違いなく復元不可能であるとの、より一層の保証が欲しいのなら、
+@command{shred} コマンドの使用をお考えになるとよい。
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 
@@ -9879,84 +9706,82 @@ POSIX が要求している動作である。
 @itemx --force
 @opindex -f
 @opindex --force
-指定したファイルが存在しなかったり、ユーザが削除の対象を一つも
-指定しなかったりしても、問題にしない (訳注: 言い換えれば、エラー
\81«ã\81ªã\82\89ã\81ªã\81\84\80\82ã\81¾ã\81\9fã\80\81ã\83¦ã\83¼ã\82¶ã\81«å¯¾ã\81\99ã\82\8bå\95\8fã\81\84å\90\88ã\82\8fã\81\9bã\82\82å\85¨ã\81\8fè¡\8cã\82\8fã\81ªã\81\84ã\80\82
+指定したファイルが存在しなかったり、削除の対象を一つも指定しなかったりしても、
+問題にしない (訳注: 言い換えれば、エラーにならない)。
+また、ユーザに対する問い合わせも全く行わない。
 @option{--interactive} (@option{-i}) オプションが前にあっても、それを無視する。
 
 @item -i
 @opindex -i
-プロンプトを出して、各ファイルを削除するかどうか、ユーザに問い
-合わせる。答えが肯定でなければ、そのファイルをスキップする。
+プロンプトを出して、各ファイルを削除するかどうか、ユーザに問い合わせる。
+答えが肯定でなければ、そのファイルをスキップする。
 @option{--force} (@option{-f}) オプションが前にあっても、それを無視する。
 
 @item -I
 @opindex -I
-4 個以上のファイルが指定された場合や、再帰的な削除が要求された
-場合に、プロンプトを出して、コマンドを続行するかどうか、ユーザに
-一度だけ尋ねる。@option{--force} (@option{-f}) オプションが前にあっても、それを
-無視する。@option{--interactive=once} と同じである。
+4 個以上のファイルが指定された場合や、再帰的な削除が要求された場合に、
+プロンプトを出して、コマンドを続行するかどうか、ユーザに一度だけ尋ねる。
+@option{--force} (@option{-f}) オプションが前にあっても、それを無視する。
+@option{--interactive=once} と同じである。
 
 @item --interactive [=@var{when}]
 @opindex --interactive
-問い合わせのプロンプトをいつ出すかを指定する。@var{when} には以下の一つを
-指定できるが、なくてもよい。
+問い合わせのプロンプトをいつ出すかを指定する。@var{when} には以下の一つを指定できるが、なくてもよい。
 @itemize @bullet
 @item never
 @vindex never @r{interactive option}
 - 問い合わせを全くしない。
 @item once
 @vindex once @r{interactive option}
-- 4 個以上のファイルが指定された場合や、再帰的な削除が
-要求された場合に、一度だけ問い合わせをする。@option{-I} と同じ。
+- 4 個以上のファイルが指定された場合や、再帰的な削除が要求された場合に、
+一度だけ問い合わせをする。@option{-I} と同じ。
 @item always
 @vindex always @r{interactive option}
-- 削除されるすべてのファイルに対して問い合わせをする。
-@option{-i} と同じ。
+- 削除されるすべてのファイルに対して問い合わせをする。@option{-i} と同じ。
 @end itemize
-@option{--interactive} に @var{when} を指定しないのは、@option{--interactive=always} と
-同じである。
+@option{--interactive} に @var{when} を指定しないのは、@option{--interactive=always}
+同じである。
 
 @item --one-file-system
 @opindex --one-file-system
 @cindex one file system, restricting @command{rm} to
-ディレクトリ階層を再帰的に削除する際に、コマンドラインで引数として
-指定したディレクトリが存在するファイルシステムとは別のファイル
\82·ã\82¹ã\83\86ã\83 ä¸\8aã\81«ã\81\82ã\82\8bã\80\81ã\81\84ã\81\8bã\81ªã\82\8bã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\82\82å\89\8aé\99¤ã\81\97ã\81ªã\81\84ã\80\82
+ディレクトリ階層を再帰的に削除する際に、
+コマンドラインで引数として指定したディレクトリが存在するファイルシステムとは別のファイルシステム上にある、
+いかなるディレクトリも削除しない。
 
 @cindex bind mount
-このオプションが役に立つのは、ビルド用の ``chroot'' ディレクトリ
-階層を削除する場合である。通常、そうしたディレクトリ階層に重要な
-データは含まれていない。しかしながら、普段使っているスタートアップ・
-ファイルを利用しやすくするために、そうしたディレクトリ階層に
-@file{/home} を bind-mount するのは、珍しいことではない。問題は、@file{/home}
-のアンマウントを忘れやすいことである。アンマウントをやり忘れたまま、
-@command{rm -rf} を使って、通常使い捨てにする chroot 環境を削除しようと
-すると、@file{/home} 以下にあるすべてまで削除してしまうことになる。
+このオプションが役に立つのは、ビルド用の ``chroot'' ディレクトリ階層を削除する場合である。
+通常、そうしたディレクトリ階層に重要なデータは含まれていない。
+しかしながら、普段使っているスタートアップ・ファイルを利用しやすくするために、
+そうしたディレクトリ階層に @file{/home} を bind-mount するのは、珍しいことではない。
+問題は、@file{/home} のアンマウントを忘れやすいことである。
+アンマウントをやり忘れたまま、@command{rm -rf} を使って、通常使い捨てにする
+chroot 環境を削除しようとすると、@file{/home} 以下にあるすべてまで削除してしまうことになる。
 @option{--one-file-system} オプションを使えば、@command{rm} は警告を出した上で、
 他のファイルシステムにあるディレクトリをスキップしてくれる。
-当然ながら、@file{/home} と chroot 環境が同じファイルシステムにある
-場合は、このオプションを使っても、@file{/home} が助かるわけではない。
+当然ながら、@file{/home} と chroot 環境が同じファイルシステムにある場合は、
+このオプションを使っても、@file{/home} が助かるわけではない。
 
 @item --preserve-root
 @opindex --preserve-root
 @cindex root directory, disallow recursive destruction
 @option{--recursive} オプションと一緒に使った場合、ルートディレクトリ
-(@file{/}) ã\82\92å\89\8aé\99¤ã\81\97ã\82\88ã\81\86ã\81¨ã\81\99ã\82\8bã\81¨ã\80\81ã\82¨ã\83©ã\83¼ã\81«ã\81ªã\82\8bã\80\82ã\81\93ã\82\8cã\81\8cã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81®
-動作である。 @xref{Treating / specially}.
-@sp 1
+(@file{/}) ã\82\92å\89\8aé\99¤ã\81\97ã\82\88ã\81\86ã\81¨ã\81\97ã\81\9fæ\99\82ç\82¹ã\81§ã\80\81å®\9fè¡\8cã\81«å¤±æ\95\97ã\81\99ã\82\8bã\80\82ã\81\93ã\82\8cã\81\8cã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81®å\8b\95ä½\9cã\81§ã\81\82ã\82\8bã\80\82
+@xref{Treating / specially}.
+
 (訳注: 確かに @option{--preserve-root} が有効になっていれば、@code{rm -rf /}
-とした場合に、ルートディレクトリを保護することになる。だが、
-@code{rm -rf /*} とした場合には、あまり役に立たない。なぜなら、@file{/*} は、
-@file{/bin}, @file{/usr}, @file{/home} などに展開されるが、そうしたディレクトリの
-消去は、@option{--preserve-root} によっては止められないからである。)
+とした場合に、ルートディレクトリが保護されることになる。
+だが、@code{rm -rf /*} とした場合には、あまり役に立たない。なぜなら、@file{/*}
+は、@file{/bin}, @file{/usr}, @file{/home}
+などに展開されるが、そうしたディレクトリの消去は、@option{--preserve-root}
+によっては止められないからである。)
 
 @item --no-preserve-root
 @opindex --no-preserve-root
 @cindex root directory, allow recursive destruction
-再帰的に削除を行う際、@file{/} を特別扱いしない。コンピュータ上にある
\81\99ã\81¹ã\81¦ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82\92æ\9c¬å½\93ã\81«å\89\8aé\99¤ã\81\97ã\81\9fã\81\84å ´å\90\88以å¤\96ã\80\81ã\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81®ä½¿ç\94¨ã\81¯
-お勧めできない。 @xref{Treating / specially}.
+再帰的に削除を行う際、@file{/} を特別扱いしない。
\82³ã\83³ã\83\94ã\83¥ã\83¼ã\82¿ä¸\8aã\81«ã\81\82ã\82\8bã\81\99ã\81¹ã\81¦ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82\92æ\9c¬å½\93ã\81«å\89\8aé\99¤ã\81\97ã\81\9fã\81\84å ´å\90\88以å¤\96ã\80\81
\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81®ä½¿ç\94¨ã\81¯ã\81\8aå\8b§ã\82\81ã\81§ã\81\8dã\81ªã\81\84ã\80\82 @xref{Treating / specially}.
 
 @item -r
 @itemx -R
@@ -9977,12 +9802,12 @@ POSIX が要求している動作である。
 
 @cindex files beginning with @samp{-}, removing
 @cindex @samp{-}, removing files beginning with
-よくある質問の一つに、名前が @samp{-} で始まるファイルを削除するには、
\81©ã\81\86ã\81\97ã\81\9fã\82\89ã\82\88ã\81\84ã\81\8bã\80\81ã\81¨ã\81\84ã\81\86ã\82\82ã\81®ã\81\8cã\81\82ã\82\8bã\80\82GNU ã\81® @command{rm} ã\81§ã\81¯ã\80\81@code{getopt} ã\82\92
-使用して引数の解析を行っているあらゆるプログラムと同様、@samp{--} オプション
\82\92使ã\81£ã\81¦ã\80\81以ä¸\8bã\81®å¼\95æ\95°ã\81¯ã\81\99ã\81¹ã\81¦ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81§ã\81¯ã\81ªã\81\84ã\80\81ã\81¨ç¤ºã\81\99ã\81\93ã\81¨ã\81\8cå\8f¯è\83½ã\81«
\81ªã\81£ã\81¦ã\81\84ã\82\8bã\80\82ã\82«ã\83¬ã\83³ã\83\88ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81«ã\81\82ã\82\8b @file{-f} ã\81¨ã\81\84ã\81\86ã\83\95ã\82¡ã\82¤ã\83«ã\82\92å\89\8aé\99¤ã\81\99ã\82\8b
-には、次のどちらかをタイプすればよい。
+よくある質問の一つに、名前が @samp{-} で始まるファイルを削除するには、どうしたらよいか、
\81¨ã\81\84ã\81\86ã\82\82ã\81®ã\81\8cã\81\82ã\82\8bã\80\82GNU ã\81® @command{rm} ã\81§ã\81¯ã\80\81@code{getopt}
+を使用して引数の解析を行っているあらゆるプログラムと同様、@samp{--}
\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92使ã\81£ã\81¦ã\80\81以ä¸\8bã\81®å¼\95æ\95°ã\81¯ã\81\99ã\81¹ã\81¦ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81§ã\81¯ã\81ªã\81\84ã\80\81ã\81¨ç¤ºã\81\99ã\81\93ã\81¨ã\81\8cå\8f¯è\83½ã\81«ã\81ªã\81£ã\81¦ã\81\84ã\82\8bã\80\82
\82«ã\83¬ã\83³ã\83\88ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81«ã\81\82ã\82\8b @file{-f} ã\81¨ã\81\84ã\81\86ã\83\95ã\82¡ã\82¤ã\83«ã\82\92å\89\8aé\99¤ã\81\99ã\82\8bã\81«ã\81¯ã\80\81
+次のどちらかをタイプすればよい。
 
 @example
 rm -- -f
@@ -9997,7 +9822,7 @@ rm ./-f
 
 @opindex - @r{and Unix @command{rm}}
 Unix の @command{rm} プログラムが、この用途に @samp{-} を 1 個だけ使っていたのは、
-getopt の標準シンタックスが開発される以前のことである。
+@code{getopt} の標準シンタックスが開発される以前のことである。
 
 @exitstatus
 
@@ -10009,73 +9834,65 @@ getopt の標準シンタックスが開発される以前のことである。
 @cindex data, erasing
 @cindex erasing data
 
-@command{shred} はデバイスやファイルを上書きして、非常に高価な装置を使用
-しても、データの復元ができないようにする。
-
-通常、ファイルを削除しても (@pxref{rm invocation})、データが実際に
-消去されるわけではない。単に、ファイルが格納されている場所をリストした
-インデックスが破棄されるだけであり、そうすることで、そのデータの
-格納場所が再利用可能になるのである。世の中には、インデックスの再構築を
-試みる復元ソフト (undelete utilities) というものが存在する。そうした
-ものは、ファイルの存在したスペースが再利用されていなければ、ファイルを
-復元することができるのだ。
-
-頻繁に使われているシステムで、ディスクがほとんど一杯になっている
-場合、スペースは数秒のうちに再利用されるかもしれない。だが、それを
-確実に知る方法は全くない。また、他人に見られては困るデータがあった
-ところで、見られても構わないデータでそのファイルを上書きしてしまえ
-ば、復元は絶対不可能だと考えたいかもしれない。
-
-しかしながら、そういうことをした後でも、ディスクを研究所に持ち
-込んで、高感度の (そして高価な) 装置を山ほど使用すれば、上書きされた
-データの下にある元のデータのかすかな「痕跡 (echoes)」を検出することが
-可能なのだ。もし、データがたった一回しか上書きされていなかったら、
-それはさほど難しいことでもない。
-
-データを復元できないように消去する最善の方法は、それが載っている
-メディアを酸で破壊するとか、熱で溶かすとかすることである。フロッピー
-ディスクのような廉価なリムーバブル・メディアの場合、それがよく使わ
-れる方法だ。だが、ハードディスクは高価だし、熱で溶かすのも難しい。
-そこで、@command{shred} ユーティリティは、物質的な破壊以外の方法で、同様の
-効果を実現しようとするのである。
-
-そのためには、元のデータに与える損傷を最大にするように選ばれた
-データパターンで繰り返し上書きするという方法が採られる。この方法は、
-フロッピーディスクにも効果があるものの、パターンはハードディスクで
-最も効果を上げるように工夫されたものだ。詳細については、ソースコード
-や、第 6 回 USENIX セキュリティ・シンポジウム (San Jose, California,
-July 22--25, 1996) の議事録にある Peter Gutmann の次の論文をご覧に
-なっていただきたい。@*
+@command{shred} はデバイスやファイルを上書きして、
+非常に高価な装置を使用しても、データの復元ができないようにする。
+
+通常、ファイルを削除しても (@pxref{rm invocation})、データが実際に消去されるわけではない。
+単に、ファイルが格納されている場所をリストしたインデックスが破棄されるだけであり、
+そうすることで、そのデータの格納場所が再利用可能になるのである。
+世の中には、インデックスの再構築を試みる復元ソフト (undelete utilities)
+というものが存在する。そうしたものは、ファイルの存在したスペースが再利用されていなければ、
+ファイルを復元することができるのだ。
+
+頻繁に使われているシステムで、ディスクがほとんど一杯になっている場合、
+スペースは数秒のうちに再利用されるかもしれない。だが、それを確実に知る方法は全くない。
+また、他人に見られては困るデータがあったところで、
+見られても構わないデータでそのファイルを上書きしてしまえば、
+復元は絶対不可能だと考えたいかもしれない。
+
+しかしながら、そういうことをした後でも、ディスクを研究所に持ち込んで、
+高感度の (そして高価な) 装置を山ほど使用すれば、
+上書きされたデータの下にある元のデータのかすかな「痕跡 (echoes)」を検出することが可能なのだ。
+もし、データがたった一回しか上書きされていなかったら、それはさほど難しいことでもない。
+
+データを復元できないように消去する最善の方法は、
+それが載っているメディアを酸で破壊するとか、熱で溶かすとかすることである。
+フロッピーディスクのような廉価なリムーバブル・メディアの場合、それがよく使われる方法だ。
+だが、ハードディスクは高価だし、熱で溶かすのも難しい。
+そこで、@command{shred} ユーティリティは、物質的な破壊以外の方法で、
+同様の効果を実現しようとするのである。
+
+そのためには、元のデータに与える損傷を最大にするように選ばれたデータパターンで繰り返し上書きするという方法が採られる。
+この方法は、フロッピーディスクにも効果があるものの、パターンはハードディスクで最も効果を上げるように工夫されたものだ。
+詳細については、ソースコードや、第 6 回 USENIX セキュリティ・シンポジウム
+(San Jose, California, July 22--25, 1996) の議事録にある
+Peter Gutmann の次の論文をご覧になっていただきたい。@*
 @uref{http://www.cs.auckland.ac.nz/~pgut001/pubs/secure_del.html,
 @cite{Secure Deletion of Data from Magnetic and Solid-State Memory}}
 
-ここで心に銘記してしていただきたいのは、@command{shred} には非常に重要な
-前提があるということである。すなわち、ファイルシステムはデータを、
\81\9dã\82\8cã\81\8cå­\98å\9c¨ã\81\99ã\82\8bå ´æ\89\80ã\81§ä¸\8aæ\9b¸ã\81\8dã\81\99ã\82\8bã\82\82ã\81®ã\81§ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82ã\81\9dã\82\8cã\81¯ã\80\81ã\81\93ã\81\86ã\81\97ã\81\9f
\93\8dä½\9cã\82\92è¡\8cã\81\86ã\81¨ã\81\8dã\81®ä¼\9dçµ±ç\9a\84ã\81ªæ\96¹æ³\95ã\81§ã\81\82ã\82\8bã\81\8cã\80\81æ\9c\80è¿\91ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82·ã\82¹ã\83\86ã\83 ã\81®è¨­è¨\88ã\81«ã\81¯ã\80\81
\81\93ã\81®å\89\8dæ\8f\90ã\82\92æº\80ã\81\9fã\81\95ã\81ªã\81\84ã\82\82ã\81®ã\81\8cå¤\9aã\81\84ã\80\82ã\81\9dã\81\86ã\81\97ã\81\9fä¾\8bå¤\96ã\81«ã\81¯ã\80\81次ã\81®ã\82\88ã\81\86ã\81ªã\82\82ã\81®ã\81\8cã\81\82ã\82\8bã\80\82
+ここで心に銘記してしていただきたいのは、@command{shred} には非常に重要な前提があるということである。
+すなわち、ファイルシステムはデータを、それが存在する場所で上書きするものでなければならない。
\81\9dã\82\8cã\81¯ã\80\81ã\81\93ã\81\86ã\81\97ã\81\9fæ\93\8dä½\9cã\82\92è¡\8cã\81\86ã\81¨ã\81\8dã\81®ä¼\9dçµ±ç\9a\84ã\81ªæ\96¹æ³\95ã\81§ã\81\82ã\82\8bã\81\8cã\80\81
\9c\80è¿\91ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82·ã\82¹ã\83\86ã\83 ã\81®è¨­è¨\88ã\81«ã\81¯ã\80\81ã\81\93ã\81®å\89\8dæ\8f\90ã\82\92æº\80ã\81\9fã\81\95ã\81ªã\81\84ã\82\82ã\81®ã\81\8cå¤\9aã\81\84ã\80\82
+そうした例外には、次のようなものがある。
 
 @itemize @bullet
 
 @item
 ログ構造化 (log-structured) ファイルシステムや、ジャーナル化
-(journaled) ファイルシステム。たとえば、ATX や Solaris で
-提供されているもの。JFS, ReiserFS, XFS, Ext3 (@code{data=journal}
-モードの場合), BFS, NTFS などが、「データ」のジャーナリングを
-するように設定されている場合もこれに当たる。
+(journaled) ファイルシステム。たとえば、ATX や Solaris
+で提供されているもの。JFS, ReiserFS, XFS, Ext3 (@code{data=journal} モードの場合),
+BFS, NTFS などが、「データ」のジャーナリングをするように設定されている場合もこれに当たる。
 
 @item
-データを冗長化して書き込んだり、一部の書き込みに失敗することが
-あっても、動作し続けるファイルシステム。たとえば、RAID ベースの
-ファイルシステム。
+データを冗長化して書き込んだり、一部の書き込みに失敗することがあっても、
+動作し続けるファイルシステム。たとえば、RAID ベースのファイルシステム。
 
 @item
-Network Appliance の NFS サーバのように、スナップショットを作成する
-ファイルシステム。
+Network Appliance の NFS サーバのように、スナップショットを作成するファイルシステム。
 
 @item
-NFS バージョン 3 のクライアントのように、一時領域にキャッシュを作る
-ファイルシステム。
+NFS バージョン 3 のクライアントのように、一時領域にキャッシュを作るファイルシステム。
 
 @item
 圧縮ファイルシステム。
@@ -10083,40 +9900,39 @@ NFS バージョン 3 のクライアントのように、一時領域にキャ
 
 特に ext3 ファイルシステムについて言うと、上記の例外に当てはまるのは
 (その結果、@command{shred} が限定された効果しか持たないのは)、@code{data=journal}
-モードの場合だけである。これは、メタデータだけでなく、ファイルデータも
\82¸ã\83£ã\83¼ã\83\8aã\83ªã\83³ã\82°ã\81\99ã\82\8bã\83¢ã\83¼ã\83\89ã\81 ã\80\82@code{data=ordered} (ã\83\87ã\83\95ã\82©ã\83«ã\83\88) ã\81¨
-@code{data=writeback} の両モードでは、@command{shred} は通常どおり役に立つ。ext3 の
-ジャーナリング・モードを変更するには、mount のマニュアルに書いてある
-ように (man mount)、@file{/etc/fstab} ファイルで問題のファイルシステムの
-マウントオプションに @code{data=something} オプションを追加すればよい。
+モードの場合だけである。これは、メタデータだけでなく、
\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\83¼ã\82¿ã\82\82ã\82¸ã\83£ã\83¼ã\83\8aã\83ªã\83³ã\82°ã\81\99ã\82\8bã\83¢ã\83¼ã\83\89ã\81 ã\80\82@code{data=ordered} (ã\83\87ã\83\95ã\82©ã\83«ã\83\88)
+と @code{data=writeback} の両モードでは、@command{shred} は通常どおり役に立つ。
+ext3 のジャーナリング・モードを変更するには、mount のマニュアルに書いてあるように
+(man mount)、@file{/etc/fstab} ファイルで問題のファイルシステムのマウントオプションに
+@code{data=something} オプションを追加すればよい。
 
 ファイルシステムがどういう動作をしているか、よくわからない場合は、
 データをそれが存在する場所で上書きしていないと考えておいた方がよい。
-すなわち、そのファイルシステムでは、通常ファイルに対する @command{shred} の
-動作は、信頼できないということである。
-
-一般的に言って、@command{shred} は、ファイルよりデバイスに対して使った方が
-信頼できる。そうすれば、上に述べたファイルシステムの設計の問題を回避
-できるからだ。しかしながら、@command{shred} のデバイスに対する使用も、必ずしも
-全面的に信頼できるわけではない。たとえば、ほとんどのディスクが、バッド
-セクターを使用に割り当てる領域から外して、アプリケーションから見えない
-ようにしている。そこで、バッドセクターに他人に見られたくないデータが
-ある場合、@command{shred} はそれを破壊できないことになる。
-
-@command{shred} は、バックアップに対して何の対処も行おうとしないが、バッド
-セクターの問題についても全く同様で、検知しようともしないし、通知しよう
-ともしない。それでも、@command{shred} はファイルに対して行うより、デバイスに
-対して行う方が信頼できるので、デフォルトでは、出力ファイルをサイズ 0 に
-短縮したり、削除したりしないようになっている。このデフォルトは、ファイル
-よりデバイスに適した動作だ。デバイスは一般に短縮できないし、削除するべき
-でもないからである。
+すなわち、そのファイルシステムでは、通常ファイルに対する @command{shred}
+の動作は、信頼できないということである。
+
+一般的に言って、@command{shred} は、ファイルよりデバイスに対して使った方が信頼できる。
+そうすれば、上に述べたファイルシステムの設計の問題を回避できるからだ。
+しかしながら、@command{shred} のデバイスに対する使用も、必ずしも全面的に信頼できるわけではない。
+たとえば、ほとんどのディスクが、バッドセクターを使用に割り当てる領域から外して、
+アプリケーションから見えないようにしている。
+そこで、バッドセクターに他人に見られたくないデータがある場合、@command{shred}
+はそれを破壊できないことになる。
+
+@command{shred} は、バックアップに対して何の対処も行おうとしないが、
+バッドセクターの問題についても全く同様で、検知しようともしないし、通知しようともしない。
+それでも、@command{shred} はファイルに対して行うより、デバイスに対して行う方が信頼できるので、
+デフォルトでは、出力ファイルをサイズ 0 に短縮したり、削除したりしないようになっている。
+このデフォルトは、ファイルよりデバイスに適した動作だ。
+デバイスは一般に短縮できないし、削除するべきでもないからである。
 
 最後になったが、バックアップやミラーの持つリスクも考慮した方がよい。
-削除することのできないファイルのコピーが、ファイルシステムのバックアップ
\82\84ã\83ªã\83¢ã\83¼ã\83\88ã\81®ã\83\9fã\83©ã\83¼ã\81«æ®\8bã\81£ã\81¦ã\81\84ã\82\8bã\81\93ã\81¨ã\82\82ã\81\82ã\82\8aã\81\88ã\82\8bã\80\82ã\81\9dã\81\97ã\81¦ã\80\81ã\81\9dã\81\86ã\81\97ã\81\9fã\82\82ã\81®ã\81\8c
-残っていれば、@command{shred} で破壊したファイルを後日復元することが可能に
\81ªã\82\8bã\81®ã\81 ã\80\82ã\81 ã\81\8bã\82\89ã\80\81å¾\8cã\81§ @command{shred} ã\82\92使ã\81£ã\81¦æ\8a¹æ¶\88ã\81\97ã\81\9fã\81\8fã\81ªã\82\8bã\82\88ã\81\86ã\81ªã\83\87ã\83¼ã\82¿ã\81\8c
\81\82ã\82\8bå ´å\90\88ã\81«ã\81¯ã\80\81ã\81\9dã\81®ã\83\90ã\83\83ã\82¯ã\82¢ã\83\83ã\83\97ã\82\84ã\83\9fã\83©ã\83¼ã\81\8cã\81ªã\81\84ã\81\93ã\81¨ã\82\92確èª\8dã\81\99ã\81¹ã\81\8dã\81ªã\81®ã\81§ã\81\82ã\82\8bã\80\82
+削除することのできないファイルのコピーが、ファイルシステムのバックアップやリモートのミラーに残っていることもありえる。
\81\9dã\81\97ã\81¦ã\80\81ã\81\9dã\81\86ã\81\97ã\81\9fã\82\82ã\81®ã\81\8cæ®\8bã\81£ã\81¦ã\81\84ã\82\8cã\81°ã\80\81@command{shred}
+で破壊したファイルを後日復元することが可能になるのだ。
\81 ã\81\8bã\82\89ã\80\81å¾\8cã\81§ @command{shred} ã\82\92使ã\81£ã\81¦æ\8a¹æ¶\88ã\81\97ã\81\9fã\81\8fã\81ªã\82\8bã\82\88ã\81\86ã\81ªã\83\87ã\83¼ã\82¿ã\81\8cã\81\82ã\82\8bå ´å\90\88ã\81«ã\81¯ã\80\81
+そのバックアップやミラーがないことを確認すべきなのである。
 
 @example
 shred [@var{option}]@dots{} @var{file}[@dots{}]
@@ -10133,23 +9949,22 @@ shred [@var{option}]@dots{} @var{file}[@dots{}]
 @cindex force deletion
 必要ならば、ファイルの許可属性を無視して、上書きできるようにする。
 
-@item -@var{number}
-@itemx -n @var{number}
+@item -n @var{number}
 @itemx --iterations=@var{number}
 @opindex -n @var{number}
 @opindex --iterations=@var{number}
 @cindex iterations, selecting the number of
-デフォルトで @command{shred} は、上書きを @value{SHRED_DEFAULT_PASSES} 回する。時間を節約するために、
-回数を減らすこともできるし、その方がよいと思えば、回数を増やすことも
-できる。25 回上書きすると、プログラムが内部に持っている上書き用の
-パターンのすべてが、少なくとも一回は使われたことになる。
+デフォルトで @command{shred} は、上書きを @value{SHRED_DEFAULT_PASSES} 回する。
+時間を節約するために、回数を減らすこともできるし、
+その方がよいと思えば、回数を増やすこともできる。
+25 回上書きすると、プログラムが内部に持っている上書き用のパターンのすべてが、
+少なくとも一回は使われたことになる。
 
 @item --random-source=@var{file}
 @opindex --random-source
 @cindex random source for shredding
 上書きに使用するランダムデータのソースとして @var{file} を使用する。
-また、このランダムデータは、上書きパターンの順番を決めるのにも
-使用される。
+また、このランダムデータは、上書きパターンの順番を決めるのにも使用される。
 
 @item -s @var{bytes}
 @itemx --size=@var{bytes}
@@ -10157,8 +9972,8 @@ shred [@var{option}]@dots{} @var{file}[@dots{}]
 @opindex --size=@var{bytes}
 @cindex size of file to shred
 ファイルの最初の @var{bytes} バイトを shred 処理する。デフォルトは、
-ファイル全体の shred である。@var{bytes} の後ろには、その何倍かを示す
-ために @samp{K}, @samp{M}, @samp{G} といった、サイズの指定を付けることができる。
+ファイル全体の shred である。@var{bytes} の後ろには、その何倍かを示すために
+@samp{K}, @samp{M}, @samp{G} といった、サイズの指定を付けることができる。
  @xref{Block size}.
 
 @item -u
@@ -10170,76 +9985,70 @@ shred [@var{option}]@dots{} @var{file}[@dots{}]
 @opindex --remove=wipesync
 @cindex removing files after shredding
 shred 処理したファイルを (可能ならば) サイズ 0 に短縮し
-(truncate)、その上で削除する。ファイルが複数のリンクを持って
-いる場合に、削除されるのは名前を指定されたリンクだけである。
-ファイルの名前は、ファイルの内容ほど秘密性を必要としないことも
-多い。そうした場合は、@var{how} パラメータを付けることで、各ディレ
-クトリエントリのより効率的な削除法を指定することができる。@var{how}
-パラメータに @samp{unlink} を指定した場合は、お定まりの unlink の
-呼び出しをするだけだが、@samp{wipe} を指定すると、unlink する前に
-ファイル名を構成するバイトの難読化を行う。@samp{wipesync} を指定した
-場合は、ファイル名を難読化するだけでなく、それを 1 バイトづつ
-ディスクに sync することまで行う。留意していただきたいのは、
-@samp{wipesync} はデフォルトの方法だが、すべてのファイル名のすべての
-文字ごとに sync を行うことになるので、負荷が重くなるかもしれない
-ということである。ファイル数が多い場合には、無視できない負荷に
-なるかもしれない。また、使用しているシステムがメタデータの
-同期アップデートを提供している場合には、やらないでもよいこと
-かもしれない。(@option{--remove} に対する @var{how} パラメータの指定は、
-coreutils-8.22 の新機能)
+(truncate)、その上で削除する。ファイルが複数のリンクを持っている場合に、
+削除されるのは名前を指定されたリンクだけである。
+ファイルの名前は、ファイルの内容ほど秘密性を必要としないことも多い。
+そうした場合は、長い書式のオプションでサポートされている @var{how}
+パラメータを付けることで、各ディレクトリエントリのより効率的な削除法を指定することができる。
+@var{how} パラメータに @samp{unlink} を指定した場合は、標準の unlink 呼び出しをするだけだが、
+@samp{wipe} を指定すると、unlink する前にファイル名を構成するバイトの難読化を行う。
+@samp{wipesync} を指定した場合は、ファイル名を難読化するだけでなく、
+それを 1 バイトづつディスクに sync することまで行う。
+留意していただきたいのは、@samp{wipesync} はデフォルトの方法だが、
+すべてのファイル名のすべての文字ごとに sync を行うことになるので、
+負荷が重くなるかもしれないということである。
+ファイル数が多い場合には、無視できない負荷になるかもしれない。
+また、使用しているシステムがメタデータの同期アップデートを提供している場合には、
+やらないでもよいことかもしれない。
 
 @item -v
 @itemx --verbose
 @opindex -v
 @opindex --verbose
-shred 処理が進行する間、更新される進行状態の情報のすべてを
-標準エラーに表示する。
+shred 処理が進行する間、更新される進行状態の情報のすべてを標準エラーに表示する。
 
 @item -x
 @itemx --exact
 @opindex -x
 @opindex --exact
-デフォルトでは、@command{shred} は、ファイルの最後のブロックを完全に消す
-ために、通常ファイルのサイズを、ファイルシステムのブロックサイズの
-倍数に切り上げることになっている。この動作を抑制したかったら、
-@option{--exact} オプションを使用すればよい。すなわち、デフォルトでは、
-1 ブロック 512 バイトのシステムで 10 バイトの通常ファイルを shred
\81\99ã\82\8bã\81¨ã\80\81çµ\90æ\9e\9cã\81¨ã\81\97ã\81¦ 512 ã\83\90ã\82¤ã\83\88ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81\8cå\87ºæ\9d¥ä¸\8aã\81\8cã\82\8bã\80\82ã\81¨ã\81\93ã\82\8dã\81\8cã\80\81
-このオプションを使えば、shred はファイルの見かけのサイズを増加
\81\95ã\81\9bã\81ªã\81\84ã\81®ã\81§ã\81\82ã\82\8b
+デフォルトでは、@command{shred} は、
+通常ファイルのサイズを、ファイルシステムのブロックサイズの倍数に切り上げて、
+ファイルの最後のブロックの不使用領域まで完全に抹消する。
+この領域には、システムによっては、たとえば、現在のシステムメモリの一部が入っているかもしれない。
+この動作を抑制するには、@option{--exact} オプションを使用すればよい。
\81\99ã\81ªã\82\8fã\81¡ã\80\81ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81§ã\81¯ã\80\811 ã\83\96ã\83­ã\83\83ã\82¯ 512 ã\83\90ã\82¤ã\83\88ã\81®ã\82·ã\82¹ã\83\86ã\83 ã\81§
+10 バイトの通常ファイルを shred すると、結果として 512 バイトのファイルが出来上がる。
\81 ã\81\8cã\80\81ã\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92使ã\81\88ã\81°ã\80\81shred ã\81¯ã\83\95ã\82¡ã\82¤ã\83«ã\81®è¦\8bã\81\8bã\81\91ã\81®ã\82µã\82¤ã\82ºã\82\92å¢\97å\8a ã\81\95ã\81\9bã\81ªã\81\84ã\81®ã\81 
 
 @item -z
 @itemx --zero
 @opindex -z
 @opindex --zero
 通常、@command{shred} は、最後の 1 回でもランダムデータを書き込む。
-そんなファイルがハードディスクにあると、(たとえば、暗号化された
-データに見えて) 目立ってしまうのではないかと思うのなら、あるいは、
-単にそっちの方がもっとすっきりしていると思うのなら、@option{--zero}
-オプションを指定して、もう一回、 すべて 0 ビットで上書きさせれば
-よい。これは、@option{--iterations} オプションで指定した上書き回数の
-ほかに、もう一回ということである。
+そんなファイルがハードディスクにあると、(たとえば、暗号化されたデータに見えて)
+目立ってしまうのではないかと思うのなら、あるいは、単にそっちの方がもっとすっきりしていると思うのなら、
+@option{--zero} オプションを指定して、もう一回、 すべて 0 ビットで上書きさせればよい。
+これは、@option{--iterations} オプションで指定した上書き回数のほかに、もう一回ということである。
 
 @end table
 
-第 1 ドライブのフロッピーディスクに作成したファイルシステムを跡形
-もなく消し去るには、次のコマンドを使えばよいだろう。このコマンドで
-``1.44MB'' (実際には 1440 KiB) のフロッピーを消去するには、約 20 分
-かかる。
+第 1 ドライブのフロッピーディスクに作成したファイルシステムを跡形もなく消し去るには、
+次のコマンドを使えばよいだろう。このコマンドで ``1.44MB'' (実際には 1440 KiB)
+のフロッピーを消去するには、約 20 分かかる。
 
 @example
 shred --verbose /dev/fd0
 @end example
 
-同様に、ハードディスクの選択したパーティションからすべてのデータを
-消去するには、以下のコマンドを打ち込めばよい。
+同様に、ハードディスクの選択したパーティションからすべてのデータを消去するには、
+以下のコマンドを打ち込めばよい。
 
 @example
 shred --verbose /dev/sda5
 @end example
 
-最近のディスクでは、1 回の書き込みで十分なはずだ。それならば、
-書き込みを 3 回行うデフォルトの 3 分の 1 の時間ですむ。
+最近のディスクでは、1 回の書き込みで十分なはずだ。
+それならば、書き込みを 3 回行うデフォルトの 3 分の 1 の時間ですむ。
 
 @example
 # 擬似ランダムデータを 1 回書き込む。デフォルトより 3 倍速い。
@@ -10248,13 +10057,13 @@ shred --verbose -n1 /dev/sda5
 
 念のため、少なくとも 1 回は擬似ランダムデータで上書きをした方がよい。
 言い換えると、つい使いたくなっても、@samp{-n0 --zero} を使ってはいけない。
-ディスク・コントローラの中には、すべてが 0 のブロックを書き込む際に、
-処理の最適化を行っているものがあり、そのため、ブロック中のバイト
-すべてがクリアされない恐れがあるからである。SSD の中には、まさにそう
-いうことをするものがある。
+ディスク・コントローラの中には、すべてが 0 のブロックを書き込む際に、処理の最適化を行っているものがあり、
+そのため、ブロック中のバイトすべてがクリアされない恐れがあるからである。
+SSD の中には、まさにそういうことをするものがある。
 
-@samp{-} という @var{file} は、標準出力を表している。これの使い道は、削除した
-テンポラリ・ファイルを shred することである。たとえば、次のようにだ。
+@samp{-} という @var{file} は、標準出力を表している。
+これの使い道は、削除したテンポラリ・ファイルを shred することである。
+たとえば、次のようにだ。
 
 @example
 i=$(mktemp)
@@ -10265,9 +10074,9 @@ shred - >&3
 exec 3>&-
 @end example
 
-しかしながら、@samp{shred - >file} というコマンドを使っても、ファイルの
-内容を shred することにはならない。なぜなら、シェルは @command{shred} を呼び
-出す前に、ファイルをサイズ 0 に短縮 (truncate) してしまうからである。
+しかしながら、@samp{shred - >file} というコマンドを使っても、ファイルの内容を
+shred することにはならない。なぜなら、シェルは @command{shred}
+を呼び出す前に、ファイルをサイズ 0 に短縮 (truncate) してしまうからである。
 @samp{shred file}、あるいは (Bourne 互換シェルをお使いなら) @samp{shred - 1<>file}
 というコマンドを、代わりに使った方がよい。
 
@@ -10280,22 +10089,21 @@ exec 3>&-
 @cindex special file types
 @cindex file types, special
 
-この章では、特殊なタイプのファイルを作成するコマンドの説明を行う
-(さらに @command{rmdir} の説明もするが、これはディレクトリという特殊な
-ファイル型の一つを削除するコマンドである)。
+この章では、特殊なタイプのファイルを作成するコマンドの説明を行う (さらに @command{rmdir}
+の説明もするが、これはディレクトリという特殊なファイル型の一つを削除するコマンドである)。
 
 @cindex special file types
 @cindex file types
-Unix 系統のオペレーティング・システムでは、ほかのオペレーティング・
-システムと比べて、特殊なファイル型というものが著しく少ないが、それでも
-普通のファイル (@dfn{normal files}) がそうであるような、のっぺらぼうなバイト
-ストリームとして、何でもかんでも扱えさえすればよいというものではない。
-たとえば、ファイルを作成したり、削除したりするとき、システムはその情報
\82\92è¨\98é\8c²ã\81\97ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\81\8cã\80\81ã\81\9dã\82\8cã\81¯ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ª (@dfn{directory}) --- ã\81\93ã\82\8cã\82\82
-特殊なタイプのファイルである --- に書き込まれる。もし興味があれば、
\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\82\92æ\99®é\80\9aã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81®ã\82\88ã\81\86ã\81«èª­ã\82\80ã\81\93ã\81¨ã\82\82ã\81§ã\81\8dã\82\8bã\81\8cã\80\81ã\82·ã\82¹ã\83\86ã\83 ã\81\8c
\82·ã\82¹ã\83\86ã\83 ã\81¨ã\81\97ã\81¦ã\81®å½¹å\89²ã\82\92æ\9e\9cã\81\9fã\81\99ã\81\9fã\82\81ã\81«ã\81¯ã\80\81ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81¯ã\81\9dã\81®ã\83\95ã\82¡ã\82¤ã\83«å\86\85容
-であるバイトに、構造というか、何らかの秩序を持っていなければならない。
+Unix 系統のオペレーティング・システムでは、ほかのオペレーティング・システムと比べて、
+特殊なファイル型というものが著しく少ないが、それでも普通のファイル
+(@dfn{normal files}) がそうであるような、のっぺらぼうなバイトストリームとして、
+何でもかんでも扱えさえすればよいというものではない。
+たとえば、ファイルを作成したり、削除したりするとき、
\82·ã\82¹ã\83\86ã\83 ã\81¯ã\81\9dã\81®æ\83\85å ±ã\82\92è¨\98é\8c²ã\81\97ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\81\8cã\80\81ã\81\9dã\82\8cã\81¯ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ª (@dfn{directory})
+--- これも特殊なタイプのファイルである --- に書き込まれる。
\82\82ã\81\97è\88\88å\91³ã\81\8cã\81\82ã\82\8cã\81°ã\80\81ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\82\92æ\99®é\80\9aã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81®ã\82\88ã\81\86ã\81«èª­ã\82\80ã\81\93ã\81¨ã\82\82ã\81§ã\81\8dã\82\8bã\81\8cã\80\81
\82·ã\82¹ã\83\86ã\83 ã\81\8cã\82·ã\82¹ã\83\86ã\83 ã\81¨ã\81\97ã\81¦ã\81®å½¹å\89²ã\82\92æ\9e\9cã\81\9fã\81\99ã\81\9fã\82\81ã\81«ã\81¯ã\80\81
\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81¯ã\81\9dã\81®ã\83\95ã\82¡ã\82¤ã\83«å\86\85容ã\81§ã\81\82ã\82\8bã\83\90ã\82¤ã\83\88ã\81«ã\80\81æ§\8bé\80 ã\81¨ã\81\84ã\81\86ã\81\8bã\80\81ä½\95ã\82\89ã\81\8bã\81®ç§©åº\8fã\82\92æ\8c\81ã\81£ã\81¦ã\81\84ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82
 そういう意味で、ディレクトリは、「特殊な」タイプのファイルなのである。
 
 ディレクトリ以外の特殊なファイル型としては、名前付きパイプ (FIFO)、
@@ -10303,14 +10111,15 @@ Unix 系統のオペレーティング・システムでは、ほかのオペレ
 (@dfn{special files}) がある。
 
 @menu
-* link invocation::     システムコール link を使って、ハードリンクを作成する。
-* ln invocation::       ファイル間のリンクを作成する。
-* mkdir invocation::    ディレクトリを作成する。
-* mkfifo invocation::   FIFO (名前付きパイプ) を作成する。
-* mknod invocation::    ブロック型やキャラクタ型のスペシャルファイルを作成する。
-* readlink invocation:: シムリンクの値、または正規化されたファイル名を表示する。
-* rmdir invocation::    空のディレクトリを削除する。
-* unlink invocation::   システムコール unlink を使って、ファイルを削除する。
+* link invocation::     システムコール link を使って、ハードリンクを作成する
+* ln invocation::       ファイル間のリンクを作成する
+* mkdir invocation::    ディレクトリを作成する
+* mkfifo invocation::   FIFO (名前付きパイプ) を作成する
+* mknod invocation::    ブロック型やキャラクタ型のスペシャルファイルを作成する
+* readlink invocation:: シムリンクの値、または正規化されたファイル名を表示する
+* rmdir invocation::    空のディレクトリを削除する
+* unlink invocation::   システムコール unlink を使って、ファイルを削除する
+
 @end menu
 
 
@@ -10322,12 +10131,12 @@ Unix 系統のオペレーティング・システムでは、ほかのオペレ
 @cindex hard links, creating
 @cindex creating links (hard only)
 
-@command{link} は、一度に 1 個のハードリンクを作成する。これは、システムが
-提供する @code{link} 関数への必要最小のインターフェースである。
+@command{link} は、一度に 1 個のハードリンクを作成する。
+これは、システムが提供する @code{link} 関数への必要最小のインターフェースである。
 @xref{Hard Links, , , libc, The GNU C Library Reference Manual}.
-従って、より一般に使われる @command{ln} コマンドの
-ような、様々な付加機能をあえて備えていない (@pxref{ln invocation})。
-@sp 1
+従って、より一般に使われる @command{ln} コマンドのような、様々な付加機能をあえて備えていない
+(@pxref{ln invocation})。
+
 書式:
 
 @example
@@ -10335,19 +10144,20 @@ link @var{filename} @var{linkname}
 @end example
 
 @var{filename} は、実在するファイルを指していなければならない。また、
-@var{linkname} は、実在するディレクトリ中の実在しないファイルを指していな
-ければならない。@command{link} は、リンクを作成するために、@code{link (@var{filename},
-@var{linkname})} をコールするだけである。
+@var{linkname} は、実在するディレクトリ中の実在しないファイルを指していなければならない。
+@command{link} は、リンクを作成するために、@code{link (@var{filename}, @var{linkname})}
+をコールするだけである。
 
 GNU のシステムでは、このコマンドは、@samp{ln --directory
---no-target-directory @var{filename} @var{linkname}} と同様に振る舞う。しかし、
-@option{--directory} や @option{--no-target-directory} は、POSIX の規格にあるオプ
-ションではないので、@command{link} の方が、実用上より可搬性がある。
+--no-target-directory @var{filename} @var{linkname}} と同様に振る舞う。
+しかし、@option{--directory} や @option{--no-target-directory} は、POSIX
\81®è¦\8fæ ¼ã\81«ã\81\82ã\82\8bã\82ªã\83\97ã\82·ã\83§ã\83³ã\81§ã\81¯ã\81ªã\81\84ã\81®ã\81§ã\80\81@command{link} ã\81®æ\96¹ã\81\8cã\80\81å®\9fç\94¨ä¸\8aã\82\88ã\82\8aå\8f¯æ\90¬æ\80§ã\81\8cã\81\82ã\82\8bã\80\82
 
-@var{filename} がシンボリックリンクの場合、@var{linkname} がシンボリックリンク
-へのハードリンクになるか、シンボリックリンクの参照先へのハードリンクに
-なるかは、規定されていない。望む方の動作をはっきり指定するには、@command{ln -P} や
-@command{ln -L} を使用するべきである。
+@var{filename} がシンボリックリンクの場合、
+@var{linkname} がシンボリックリンクへのハードリンクになるか、
+シンボリックリンクの参照先へのハードリンクになるかは、規定されていない。
+どちらの動作を望むかをはっきり指定したければ、@command{ln -P} や @command{ln -L}
+を使用するべきである。
 
 @exitstatus
 
@@ -10362,10 +10172,10 @@ GNU のシステムでは、このコマンドは、@samp{ln --directory
 @cindex creating links (hard or soft)
 
 @cindex file systems and hard links
-@command{ln} はファイル間のリンクを作成する。デフォルトではハードリンクを作成
-するが、@option{-s} オプションを指定すると、シンボリックリンク (@dfn{soft} link
\81¨ã\82\82è¨\80ã\81\86) ã\82\92ä½\9cã\82\8bã\81\93ã\81¨ã\81«ã\81ªã\82\8bã\80\82
-@sp 1
+@command{ln} はファイル間のリンクを作成する。デフォルトではハードリンクを作成するが、
+@option{-s} オプションを指定すると、シンボリックリンク (@dfn{soft} linkとも言う)
+を作ることになる。
+
 書式:
 
 @example
@@ -10378,86 +10188,79 @@ ln [@var{option}]@dots{} -t @var{directory} @var{target}@dots{}
 @itemize @bullet
 
 @item
-ファイル名を二つ指定すると、@command{ln} は 1 番目に対するリンクを 2 番目
-の名前で作成する。
+ファイル名を二つ指定すると、@command{ln} は 1 番目に対するリンクを
+2 番目の名前で作成する。
 
 @item
-@var{target} のみを指定すると、@command{ln} はそのファイルに対するリンクを
-カレントディレクトリに作成する。
+@var{target} のみを指定すると、@command{ln} はそのファイルに対するリンクをカレントディレクトリに作成する。
 
 @item
-@option{--target-directory} (@option{-t}) オプションを指定した場合や、あるいは
-それを指定しないでも、最後のファイルがディレクトリであり、しかも
+@option{--target-directory} (@option{-t}) オプションを指定した場合や、
\81\82ã\82\8bã\81\84ã\81¯ã\81\9dã\82\8cã\82\92æ\8c\87å®\9aã\81\97ã\81ªã\81\84ã\81§ã\82\82ã\80\81æ\9c\80å¾\8cã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81\8cã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81§ã\81\82ã\82\8aã\80\81ã\81\97ã\81\8bã\82\82
 @option{--no-target-directory} (@option{-T}) オプションを指定していない場合は、
-@command{ln} は各 @var{target} ファイルに対するリンクを、指定されたディレクトリに
-@var{target} の名前で作成する。
+@command{ln} は各 @var{target} ファイルに対するリンクを、
+指定されたディレクトリに @var{target} の名前で作成する。
 
 @end itemize
 
-通常 @command{ln} は存在するファイルを削除しない。既存のファイルを無条件で
-削除するには、@option{--force} (@option{-f}) オプションを使う。また、ユーザに問い
-合わせた上で削除するには、@option{--interactive} (@option{-i}) オプションを使う。
-既存のファイルを、名前を変更して残すには、@option{--backup} (@option{-b}) オプション
-を使用する。(訳注: ここで述べているのは、存在するファイルの名前を
-リンクファイル名として使う場合の話である。)
+通常 @command{ln} は存在するファイルを削除しない。
+既存のファイルを無条件で削除するには、@option{--force} (@option{-f}) オプションを使う。
+また、ユーザに問い合わせた上で削除するには、@option{--interactive} (@option{-i})
+オプションを使う。既存のファイルを、名前を変更して残すには、@option{--backup}
+(@option{-b}) オプションを使用する。(訳注: ここで述べているのは、
+存在するファイルの名前をリンクファイル名として使う場合の話である。)
 
 @cindex hard link, defined
 @cindex inode, and hard links
-ハードリンク (@dfn{hard link}) というのは、存在するファイルが持つ別の名前
-である。だから、リンクとオリジナルは、区別ができない。専門的な言い方を
-すると、両者は同じ inode を共有するものである。inode には、ファイルに
-関する情報がすべて含まれているので、全くのところ、inode こそファイルで
-あると言っても、過言ではないほどだ。たいていのシステムでは、ディレクトリ
-に対するハードリンクの作成は禁じられている。許可されているシステムでも、
-それができるのは、スーパーユーザだけである (その場合でも、ファイル
-システムにループが生じると、ほかの様々なユーティリティ・プログラムで
-問題が起きるので、慎重にやらなければならない)。なお、ハードリンクは、
-ファイルシステムの境界を越えることができない。(もっとも、ハードリンクに
-対するこうした制限は、POSIX で規定されているわけではない。)
+ハードリンク (@dfn{hard link}) というのは、存在するファイルが持つ別の名前である。
+だから、リンクとオリジナルは、区別ができない。専門的な言い方をすると、両者は同じ
+inode を共有するものである。inode には、ファイルに関する情報がすべて含まれているので、
+全くのところ、inode こそファイルであると言っても、過言ではないほどだ。
+たいていのシステムでは、ディレクトリに対するハードリンクの作成は禁じられている。
+許可されているシステムでも、それができるのは、スーパーユーザだけである
+(その場合でも、ファイルシステムにループが生じると、
+ほかの様々なユーティリティ・プログラムで問題が起きるので、慎重に行わなければならない)。
+なお、ハードリンクは、ファイルシステムの境界を越えることができない。
+(もっとも、ハードリンクに対するこうした制限は、POSIX で規定されているわけではない。)
 
 @cindex dereferencing symbolic links
 @cindex symbolic link, defined
 それに対して、シンボリックリンク (@dfn{symbolic link}、略称はシムリンク
-@dfn{symlink}) は、特殊なファイル型の一つである (すべてのカーネルがサポート
-しているわけではない。たとえば、System V release 3 やそれ以前の
-システムにはシムリンクが存在しない)。このファイル型では、リンク
-ファイルは、実際には別のファイルを、名前を使って参照している。
-ほとんどのファイル操作では (ファイルのオープン、読み込み、書き出し
-など)、シンボリックリンク・ファイルが渡されると、カーネルが自動的に
-リンクの参照を読み解いて (@dfn{dereference})、リンクの参照先を操作の
-対象にする。ただし、操作によっては (たとえば、ファイルの削除)、
-参照先ではなく、リンクファイルそのものを対象にするものもある。
-シムリンクの所有者やグループは、リンクを通して行われるファイルアクセス
-に対して意味を持たないが、削除制限ビットが立っているディレクトリから
-シンボリックリンクを削除する際には、かかわりを持ってくる。GNU の
-システムでは、シムリンクのモードには意味がなく、変更することもでき
-ない。だが、BSD システムの中には、モードが変更でき、ファイル名の解決に
-おいてシムリンクをたどるかどうかに影響するものもある。
+@dfn{symlink}) は、特殊なファイル型の一つである
+(すべてのカーネルがサポートしているわけではない。たとえば、System V release 3
+やそれ以前のシステムにはシムリンクが存在しない)。
+このファイル型では、リンクファイルは、実際には別のファイルを、名前を使って参照している。
+ほとんどのファイル操作では (ファイルのオープン、読み込み、書き出しなど)、
+シンボリックリンク・ファイルが渡されると、カーネルが自動的にリンクの参照を読み解いて
+(@dfn{dereference})、リンクの参照先を操作の対象にする。ただし、操作によっては
+(たとえば、ファイルの削除)、参照先ではなく、リンクファイルそのものを対象にするものもある。
+シムリンクの所有者やグループは、リンクを通して行われるファイルアクセスに対して意味を持たないが、
+削除制限ビットが立っているディレクトリからシンボリックリンクを削除する際には、かかわりを持ってくる。
+GNU のシステムでは、シムリンクのモードには意味がなく、変更することもできない。
+だが、BSD システムの中には、モードが変更でき、ファイル名の解決においてシムリンクをたどるかどうかに影響するものもある。
 @xref{Symbolic Links,,, libc, The GNU C Library Reference Manual}.
 
 シンボリックリンクの中身には、どんな文字列が含まれていてもよい。
-シンボリックリンクに含まれる文字列が、実在するファイルの名前になって
-いないときは、リンク切れ (@dfn{dangling symlink}) が生ずる。リンク切れの
-シンボリックリンクを作成することは、禁止されているわけではない。
-シムリンクの作成に絶対パスを使うか、相対パスを使うかには、それぞれ
-一長一短がある。絶対パスのシムリンクは、リンクファイルの存在する
-ディレクトリが移動しても、常に同じファイルを指す。もっとも、その
-シムリンクが複数のマシンから見えるような場合には (たとえば、ネット
-ワークでつながったファイルシステムにあるような場合には)、リンクが
-指しているファイルは、必ずしも同じではないかもしれない。相対パスの
-シンボリックリンクの方は、それが存在しているディレクトリからの相対パス
-で参照先が決まる。そこで、リンクファイルがネットワークでつながっている
-マシンからアクセスされることがある場合に、リンクと同じデバイス上に
-存在するファイルを、そのデバイスのマウントポイントが何という名前かを
-気にせずに指示することができて、便利であることが多い。
+シンボリックリンクに含まれる文字列が、実在するファイルの名前になっていないときは、
+リンク切れ (@dfn{dangling symlink}) が生ずる。
+リンク切れのシンボリックリンクを作成することは、禁止されているわけではない。
+シムリンクの作成に絶対パスを使うか、相対パスを使うかには、それぞれ一長一短がある。
+絶対パスのシムリンクは、リンクファイルの存在するディレクトリが移動しても、常に同じファイルを指す。
+もっとも、そのシムリンクが複数のマシンから見えるような場合には
+(たとえば、ネットワークでつながったファイルシステムにあるような場合には)、
+リンクが指しているファイルは、必ずしも同じではないかもしれない。
+相対パスのシンボリックリンクの方は、それが存在しているディレクトリからの相対パスで参照先が決まる。
+そこで、リンクファイルがネットワークでつながっているマシンからアクセスされることがある場合に、
+リンクと同じデバイス上に存在するファイルを、そのデバイスのマウントポイントが何という名前かを気にせずに指示することができて、
+便利であることが多い。
 
 相対パスのシムリンクをカレントディレクトリ以外の場所に作成すると、
-そのシムリンクが実際に指しているファイルは、同じ文字列がカレント
-ディレクトリを基点として指しているファイルとは別のものになる。
-そのため、ユーザの多くが、まずカレントディレクトリを変更して、相対
-パスのシムリンクを作成する場所へ移動することを好んでいる。そうすれば、
\82¿ã\83\96è£\9cå®\8cã\81ªã\81©ã\81®ã\83\95ã\82¡ã\82¤ã\83«å\90\8då\8f\82ç\85§æ\96¹æ³\95ã\82\92ç\94¨ã\81\84ã\81¦ã\80\81ã\82·ã\83 ã\83ªã\83³ã\82¯ã\81«æ ¼ç´\8dã\81\99ã\82\8bå\8f\82ç\85§å\85\88ã\81®
-適切な相対パスを見つけることができるからである。
+そのシムリンクが実際に指しているファイルは、
+同じ文字列がカレントディレクトリを基点として指しているファイルとは別のものになる。
+そのため、ユーザの多くが、まずカレントディレクトリを変更して、
+相対パスのシムリンクを作成する場所へ移動することを好んでいる。
\81\9dã\81\86ã\81\99ã\82\8cã\81°ã\80\81ã\82¿ã\83\96è£\9cå®\8cã\81ªã\81©ã\81®ã\83\95ã\82¡ã\82¤ã\83«å\90\8då\8f\82ç\85§æ\96¹æ³\95ã\82\92ç\94¨ã\81\84ã\81¦ã\80\81
+シムリンクに格納する参照先の適切な相対パスを見つけることができるからである。
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 
@@ -10472,78 +10275,74 @@ ln [@var{option}]@dots{} -t @var{directory} @var{target}@dots{}
 @opindex -F
 @opindex --directory
 @cindex hard links to directories
-ユーザが適切な権限を持っていれば、ディレクトリに対するハードリンク
-を作成しようとしても許可する。とは言え、たぶんシステムによって禁止
-されているので、たとえスパーユーザでも作成に失敗するだろう。
+ユーザが適切な権限を持っていれば、
+ディレクトリに対するハードリンクを作成しようとしても許可する。
+とは言え、たぶんシステムによって禁止されているので、
+たとえスパーユーザでも作成に失敗するだろう。
 
 @item -f
 @itemx --force
 @opindex -f
 @opindex --force
-リンクの作成先に、作成するリンクファイルと同名のファイルがすでに
-存在していたら、それを削除する。
+リンクの作成先に、作成するリンクファイルと同名のファイルがすでに存在していたら、それを削除する。
 
 @item -i
 @itemx --interactive
 @opindex -i
 @opindex --interactive
 @cindex prompting, and @command{ln}
-リンクの作成先に、作成するリンクファイルと同名のファイルがすでに
­\98å\9c¨ã\81\97ã\81¦ã\81\84ã\81\9fã\82\89ã\80\81å\89\8aé\99¤ã\81\99ã\82\8bã\81\8bã\81©ã\81\86ã\81\8bã\80\81ã\83¦ã\83¼ã\82¶ã\81«å\95\8fã\81\84å\90\88ã\82\8fã\81\9bã\82\8bã\80\82
+リンクの作成先に、作成するリンクファイルと同名のファイルがすでに存在していたら、
+削除するかどうか、ユーザに問い合わせる。
 
 @item -L
 @itemx --logical
 @opindex -L
 @opindex --logical
-@option{-s} オプションが有効になっていないとき、リンク対象として指定
-されたファイル (訳注: 上記書式の @var{target}) がシンボリックリンク
-ならば、シンボリックリンクそのものではなく、シンボリックリンクが
-参照しているファイルへのハードリンクを作成する。
+@option{-s} オプションが有効になっていないとき、リンク対象として指定されたファイル
+(訳注: 上記書式の @var{target}) がシンボリックリンクならば、
+シンボリックリンクそのものではなく、シンボリックリンクが参照しているファイルへのハードリンクを作成する。
 
 @item -n
 @itemx --no-dereference
 @opindex -n
 @opindex --no-dereference
-最後のオペランドがディレクトリに対するシンボリックリンクである
-とき、それをディレクトリとして特別扱いしない (訳注: すなわち、
-ディレクトリ内に @var{target} と同名でリンクを作ることはしない)。
+最後のオペランドがディレクトリに対するシンボリックリンクであるとき、それをディレクトリとして特別扱いしない
+(訳注: すなわち、ディレクトリ内に @var{target} と同名でリンクを作ることはしない)。
 むしろ、普通のファイルであるかのように扱う。
 
-リンクの作成先として指定されたのが (ディレクトリに対するシムリンク
-ではなく) 本物のディレクトリならば、曖昧なところは全くない。その
\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªå\86\85ã\81«ã\83ªã\83³ã\82¯ã\82\92ä½\9cã\82\8bã\81 ã\81\91ã\81®è©±ã\81 ã\80\82ã\81¨ã\81\93ã\82\8dã\81\8cã\80\81æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fä½\9cæ\88\90å\85\88
\81\8cã\80\81ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81«å¯¾ã\81\99ã\82\8bã\82·ã\83 ã\83ªã\83³ã\82¯ã\81®å ´å\90\88ã\81¯ã\80\81ã\83¦ã\83¼ã\82¶ã\81®è¦\81æ±\82ã\82\92å\87¦ç\90\86ã\81\99ã\82\8b
-のに、二つの行き方がある。@command{ln} は、通常のディレクトリを扱う場合と
-全く同じように作成先を扱って、そこにリンクを作成することができる。
-あるいは、作成先をディレクトリではないもの、すなわち、他ならぬシム
-リンクと見なすことも可能だ。後者の場合、@command{ln} は、新しいリンクを
-作成する前に、そのシムリンクを消去するなり、バックアップするなり
-しなければならない。@command{ln} のデフォルトは、作成先がディレクトリに
-対するシムリンクであっても、ディレクトリと全く同様に扱うことである。
-
-このオプションは、@option{--no-target-directory} (@option{-T}) の弱いバージョン
-である。従って、両方のオプションを指定した場合、こちらは効果がない。
+リンクの作成先として指定されたのが (ディレクトリに対するシムリンクではなく)
+本物のディレクトリならば、曖昧なところは全くない。
\81\9dã\81®ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªå\86\85ã\81«ã\83ªã\83³ã\82¯ã\82\92ä½\9cã\82\8bã\81 ã\81\91ã\81®è©±ã\81 ã\80\82ã\81¨ã\81\93ã\82\8dã\81\8cã\80\81æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fä½\9cæ\88\90å\85\88ã\81\8cã\80\81
\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81«å¯¾ã\81\99ã\82\8bã\82·ã\83 ã\83ªã\83³ã\82¯ã\81®å ´å\90\88ã\81¯ã\80\81ã\83¦ã\83¼ã\82¶ã\81®è¦\81æ±\82ã\82\92å\87¦ç\90\86ã\81\99ã\82\8bã\81®ã\81«ã\80\81äº\8cã\81¤ã\81®è¡\8cã\81\8dæ\96¹ã\81\8cã\81\82ã\82\8bã\80\82
+@command{ln} は、通常のディレクトリを扱う場合と全く同じように作成先を扱って、
+そこにリンクを作成することができる。
+あるいは、作成先をディレクトリではないもの、すなわち、他ならぬシムリンクと見なすことも可能だ。
+後者の場合、@command{ln} は、新しいリンクを作成する前に、
+そのシムリンクを消去するなり、バックアップするなりしなければならない。
+@command{ln} のデフォルトは、作成先がディレクトリに対するシムリンクであっても、
+ディレクトリと全く同様に扱うことである。
+
+このオプションは、@option{--no-target-directory} (@option{-T})
\81®å¼±ã\81\84ã\83\90ã\83¼ã\82¸ã\83§ã\83³ã\81§ã\81\82ã\82\8bã\80\82å¾\93ã\81£ã\81¦ã\80\81両æ\96¹ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92æ\8c\87å®\9aã\81\97ã\81\9få ´å\90\88ã\80\81ã\81\93ã\81¡ã\82\89ã\81¯å\8a¹æ\9e\9cã\81\8cã\81ªã\81\84ã\80\82
 
 @item -P
 @itemx --physical
 @opindex -P
 @opindex --physical
-@option{-s} オプションが有効になっていないとき、リンク対象として指定
-されたファイル (訳注: 上記書式の @var{target}) がシンボリックリンク
-ならば、シンボリックリンクそのものへのハードリンクを作成する。
-そういった動作をカーネルがサポートしていないプラットホームでは、
-このオプションを指定すると、リンク対象のシンボリックリンクと全く
-同じ内容を持つシンボリックリンクが作成される。このとき、シンボ
-リックリンクの内容に手が加えられることは決してないので、どちらの
-シンボリックリンクを使って行われるファイル名の解決も、シンボリック
-リンクへのハードリンクが作成された場合と結局同じになる。
+@option{-s} オプションが有効になっていないとき、リンク対象として指定されたファイル
+(訳注: 上記書式の @var{target}) がシンボリックリンクならば、
+シンボリックリンクそのものへのハードリンクを作成する。
+そういった動作をカーネルがサポートしていないプラットホームでは、このオプションを指定すると、
+リンク対象のシンボリックリンクと全く同じ内容を持つシンボリックリンクが作成される。
+このとき、シンボリックリンクの内容に手が加えられることは決してないので、
+どちらのシンボリックリンクを使って行われるファイル名の解決も、
+シンボリックリンクへのハードリンクが作成された場合と結局同じになる。
 
 @item -r
 @itemx --relative
 @opindex -r
 @opindex --relative
-リンクファイルを置く場所を基点とする相対パスのシンボリックリンクを
-作成する。
+リンクファイルを置く場所を基点とする相対パスのシンボリックリンクを作成する。
 
 用例:
 
@@ -10552,13 +10351,13 @@ ln -srv /a/file /tmp
 '/tmp/file' -> '../a/file'
 @end smallexample
 
-相対パスのシンボリックリンクは、それを置くディレクトリと参照先の
\83\95ã\82¡ã\82¤ã\83«å\90\8dã\82\92æ­£è¦\8få\8c\96ã\81\97ã\81\9fä¸\8aã\81§ã\80\81ã\81\9dã\82\8cã\81«å\9fºã\81¥ã\81\84ã\81¦ä½\9cæ\88\90ã\81\95ã\82\8cã\82\8bã\80\82ã\81\99ã\81ªã\82\8fã\81¡ã\80\81
\81\9dã\81\86ã\81\97ã\81\9fã\83\95ã\82¡ã\82¤ã\83«å\90\8d中ã\81«ã\81\82ã\82\8bã\81\99ã\81¹ã\81¦ã\81®ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81¯ã\80\81å®\9fä½\93ã\81«
-還元されることになるわけだ。なお、@command{realpath} コマンドを使用すれば、
+相対パスのシンボリックリンクは、
\81\9dã\82\8cã\82\92ç½®ã\81\8fã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81¨å\8f\82ç\85§å\85\88ã\81®ã\83\95ã\82¡ã\82¤ã\83«å\90\8dã\82\92æ­£è¦\8få\8c\96ã\81\97ã\81\9fä¸\8aã\81§ã\80\81ã\81\9dã\82\8cã\81«å\9fºã\81¥ã\81\84ã\81¦ä½\9cæ\88\90ã\81\95ã\82\8cã\82\8bã\80\82
\81\99ã\81ªã\82\8fã\81¡ã\80\81ã\81\9dã\81\86ã\81\97ã\81\9fã\83\95ã\82¡ã\82¤ã\83«å\90\8d中ã\81«ã\81\82ã\82\8bã\81\99ã\81¹ã\81¦ã\81®ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81¯ã\80\81å®\9fä½\93ã\81«é\82\84å\85\83ã\81\95ã\82\8cã\82\8bã\81\93ã\81¨ã\81«ã\81ªã\82\8bã\82\8fã\81\91ã\81 ã\80\82
+なお、@command{realpath} コマンドを使用すれば、
 以下の例に示すように、相対パスを生成する際にもっと融通が利く
-(訳注: たとえば、@command{realpath} を使うと、ファイル名中のシンボリック
-リンクをシンボリックリンクのままにしておくこともできる)。
+(訳注: たとえば、@command{realpath} を使うと、
\83\95ã\82¡ã\82¤ã\83«å\90\8d中ã\81®ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\82\92ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81®ã\81¾ã\81¾ã\81«ã\81\97ã\81¦ã\81\8aã\81\8fã\81\93ã\81¨ã\82\82ã\81§ã\81\8dã\82\8b\80\82
 @xref{realpath invocation}.
 
 @example
@@ -10578,9 +10377,9 @@ ln--relative() {
 @itemx --symbolic
 @opindex -s
 @opindex --symbolic
-ハードリンクではなく、シンボリックリンクを作る。このオプションは、
\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\82\92ã\82µã\83\9dã\83¼ã\83\88ã\81\97ã\81¦ã\81\84ã\81ªã\81\84ã\82·ã\82¹ã\83\86ã\83 ã\81§ã\81¯ã\80\81ã\82¨ã\83©ã\83¼ã\83»
-メッセージを表示するだけである。
+ハードリンクではなく、シンボリックリンクを作る。
\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯ã\80\81ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\82\92ã\82µã\83\9dã\83¼ã\83\88ã\81\97ã\81¦ã\81\84ã\81ªã\81\84ã\82·ã\82¹ã\83\86ã\83 ã\81§ã\81¯ã\80\81
\82¨ã\83©ã\83¼ã\83»ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82\92表示ã\81\99ã\82\8bã\81 ã\81\91ã\81§ã\81\82ã\82\8bã\80\82
 
 @optBackupSuffix
 
@@ -10599,11 +10398,12 @@ ln--relative() {
 @cindex hard links to symbolic links
 @cindex symbolic links and @command{ln}
 @option{-L} と @option{-P} の両方を指定すると、最後に指定したものが効果を持つ。
-さらに @option{-s} も指定した場合は、エラーや警告は出ないが、@option{-L} や @option{-P} は
-無視される。@option{-L} と @option{-P} のどちらのオプションも指定しない場合、@command{ln} の
-この実装では、システムの @code{link} 関数がシンボリックリンクに対するハード
-リンクをサポートしていれば (たとえば、GNU のシステム)、デフォルトの
-動作は @option{-P} になる。@code{link} 関数がシンボリックリンクをたどるものならば
+さらに @option{-s} も指定した場合は、エラーや警告は出ないが、@option{-L} や
+@option{-P} は無視される。@option{-L} と @option{-P}
+のどちらのオプションも指定しない場合、@command{ln} のこの実装では、システムの
+@code{link} 関数がシンボリックリンクに対するハードリンクをサポートしていれば
+(たとえば、GNU のシステム)、デフォルトの動作は @option{-P} になる。
+@code{link} 関数がシンボリックリンクをたどるものならば
 (たとえば、BSD)、デフォルトの動作は @option{-L} である。
 
 @exitstatus
@@ -10638,7 +10438,8 @@ ln -s $(pwd)/a /some/dir/
 # かぎり、問題がない。また、ネットワークでつながったファイル
 # システム間でも通用する。
 ln -s afile anotherfile
-ln -s ../adir/afile yetanotherfile@end smallexample
+ln -s ../adir/afile yetanotherfile
+@end smallexample
 
 
 @node mkdir invocation
@@ -10649,16 +10450,16 @@ ln -s ../adir/afile yetanotherfile@end smallexample
 @cindex creating directories
 
 @command{mkdir} は、指定された名前でディレクトリを作成する。
-@sp 1
+
 書式:
 
 @example
 mkdir [@var{option}]@dots{} @var{name}@dots{}
 @end example
 
-@command{mkdir} は、@var{name} で指定された各ディレクトリを、指定された順番で
-作成する。@var{name} がすでに存在していると、エラーになり、その旨メッセージ
-を出すが、@var{name} がすでに存在していても、@option{-p} オプションが指定され、@var{name}
+@command{mkdir} は、@var{name} で指定された各ディレクトリを、指定された順番で作成する。
+@var{name} がすでに存在していると、エラーになり、その旨メッセージを出すが、
+@var{name} がすでに存在していても、@option{-p} オプションが指定され、@var{name}
 がディレクトリの場合は、エラーにならない。
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
@@ -10674,13 +10475,12 @@ mkdir [@var{option}]@dots{} @var{name}@dots{}
 @command{chmod} と同じ書式を使用し、@samp{a=rwx} (すべてのユーザに、読み、書き、
 実行を許可する) を基点とする。@xref{File permissions}. 
 
-通常、ディレクトリには、作成された時点で、要求したとおりのファイル
-モードビットが付く。GNU の拡張として、@var{mode} で特殊モードビットも指定
-できるが、その場合は、ディレクトリは存在しているが、特殊モードビット
-は要求どおりではないという、時間の隙間が生じるかもしれない。ディレ
-クトリの set-user-ID ビットと set-group-ID ビットが、このオプション
-を使って変更しない場合にどのように継承されるかについては、次の節を
-参照していただきたい。@xref{Directory Setuid and Setgid}.
+通常、ディレクトリには、作成された時点で、要求したとおりのファイル・モードビットが付く。
+GNU の拡張として、@var{mode} で特殊モードビットも指定できるが、
+その場合は、ディレクトリは存在しているが、特殊モードビットは要求どおりではないという、時間の隙間が生じるかもしれない。
+ディレクトリの set-user-ID ビットと set-group-ID ビットが、
+このオプションを使って変更しない場合にどのように継承されるかについては、
+次の節を参照していただきたい。@xref{Directory Setuid and Setgid}.
 
 @item -p
 @itemx --parents
@@ -10695,12 +10495,12 @@ mkdir [@var{option}]@dots{} @var{name}@dots{}
 新たに作成するいかなる親ディレクトリの許可属性ビットも、@samp{u+wx}
 を含むある一定の値に設定するには、@command{mkdir} を実行する前に、umask
 を設定すればよい。たとえば、@samp{(umask u=rwx,go=rx; mkdir -p P/Q)}
-というシェルコマンドで @file{P} という親ディレクトリを作れば、その
-許可属性ビットは @samp{u=rwx,go=rx} になる。また、親ディレクトリに特殊
-モードビットも設定するには、@command{chmod} を @command{mkdir} の後で実行すれば
-よい。新たに作成される親ディレクトリの set-user-ID ビットと
-set-group-ID ビットがどのように継承されるかについては、次の節を
-参照していただきたい。 @xref{Directory Setuid and Setgid}.
+というシェルコマンドで @file{P} という親ディレクトリを作れば、その許可属性ビットは
+@samp{u=rwx,go=rx} になる。また、親ディレクトリに特殊モードビットも設定するには、
+@command{chmod} を @command{mkdir} の後で実行すればよい。
+新たに作成される親ディレクトリの set-user-ID ビットと
+set-group-ID ビットがどのように継承されるかについては、
+次の節を参照していただきたい。 @xref{Directory Setuid and Setgid}.
 
 @item -v
 @itemx --verbose
@@ -10709,8 +10509,7 @@ set-group-ID ビットがどのように継承されるかについては、次
 ディレクトリを作成するごとに、メッセージを表示する。@option{--parents}
 と併せて使うと、大変便利である。
 
-@optContext (@var{context} を省略できる
-のは、coreutils-8.22 から)
+@optContext (@var{context} を省略できるのは、coreutils-8.22 から)
 
 @end table
 
@@ -10727,20 +10526,20 @@ set-group-ID ビットがどのように継承されるかについては、次
 
 @command{mkfifo} は、指定された名前で FIFO (名前付きパイプ @dfn{named pipes}
 とも言う) を作成する。
-@sp 1
+
 書式:
 
 @example
 mkfifo [@var{option}] @var{name}@dots{}
 @end example
 
-@dfn{FIFO} は特殊なファイル型の一つであり、これを利用すると、独立した
\83\97ã\83­ã\82»ã\82¹ã\81®é\96\93ã\81§ã\83\87ã\83¼ã\82¿ã\81®ã\82\84ã\82\8aã\81¨ã\82\8aã\81\8cå\8f¯è\83½ã\81«ã\81ªã\82\8bã\80\82ç\89\87æ\96¹ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81\8c FIFO ã\82\92
-書き出し用にオープンし、もう一方のプロセスが読み込み用にオープンする。
-そうすると、シェルなどにある普通の名前のない (anonymous) パイプを
-使ったときのように、データを一方から他方へ流すことができるのである。
+@dfn{FIFO} は特殊なファイル型の一つであり、
\81\93ã\82\8cã\82\92å\88©ç\94¨ã\81\99ã\82\8bã\81¨ã\80\81ç\8b¬ç«\8bã\81\97ã\81\9fã\83\97ã\83­ã\82»ã\82¹ã\81®é\96\93ã\81§ã\83\87ã\83¼ã\82¿ã\81®ã\82\84ã\82\8aã\81¨ã\82\8aã\81\8cå\8f¯è\83½ã\81«ã\81ªã\82\8bã\80\82
+片方のプロセスが FIFO を書き出し用にオープンし、もう一方のプロセスが読み込み用にオープンする。
+そうすると、シェルなどにある普通の名前のない (anonymous) パイプを使ったときのように、
+データを一方から他方へ流すことができるのである。
 
-このプログラムでは、以下のオプションが使える。参照: @ref{Common options}.
+このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 
 @table @samp
 
@@ -10749,13 +10548,12 @@ mkfifo [@var{option}] @var{name}@dots{}
 @opindex -m
 @opindex --mode
 @cindex modes of created FIFOs, setting
-作成する FIFO の許可属性を @var{mode} にする。@var{mode} は @command{chmod} で
-使用するのと同じシンボル表記であり、@samp{a=rw} (すべてのユーザに、
+作成する FIFO の許可属性を @var{mode} にする。@var{mode} は @command{chmod}
+使用するのと同じシンボル表記であり、@samp{a=rw} (すべてのユーザに、
 読み、書きを許可する) を基点として使う。@var{mode} で指定するのは、
 ファイルの許可属性ビットのみにするべきである。 @xref{File permissions}.
 
-@optContext (@var{context} を省略できる
-のは、coreutils-8.22 から)
+@optContext (@var{context} を省略できるのは、coreutils-8.22 から)
 
 @end table
 
@@ -10771,7 +10569,7 @@ mkfifo [@var{option}] @var{name}@dots{}
 
 @command{mknod} は、指定された名前で FIFO、キャラクター・スペシャルファイル、
 ブロック・スペシャルファイルを作成する。
-@sp 1
+
 書式:
 
 @example
@@ -10781,19 +10579,18 @@ mknod [@var{option}]@dots{} @var{name} @var{type} [@var{major} @var{minor}]
 @cindex special files
 @cindex block special files
 @cindex character special files
-これまでに使ってきた「特殊なファイル型 (``special file type''」
-という言い回しとは違って、「スペシャルファイル (@dfn{special file})」
-という用語には、Unix では技術的な意味が存在する。すなわち、それは、
-データを生成したり、受け取ったりできるもののことである。たいていの
-場合、それはハードウェアという物理的なものを指し、たとえば、プリンタ
-やディスクがそれに当たる。(なお、そうしたスペシャルファイルは、通常、
-システムの設定時に作られる。) @command{mknod} は、このタイプのファイルを
-作成するコマンドである。そうしたデバイスには、そこから一度に 1 文字
-(a character) づつしか読むことのできないものもあれば、一度に 1 ブロックを
+これまでに使ってきた「特殊なファイル型 (``special file type'')」という言い回しとは違って、
+「スペシャルファイル (@dfn{special file})」という用語には、Unix では技術的な意味が存在する。
+すなわち、それは、データを生成したり、受け取ったりできるもののことである。
+たいていの場合、それはハードウェアという物理的なものを指し、
+たとえば、プリンタやディスクがそれに当たる。(なお、そうしたスペシャルファイルは、
+通常、システムの設定時に作られる。) @command{mknod} は、
+このタイプのファイルを作成するコマンドである。そうしたデバイスには、そこから一度に
+1 文字 (a character) づつしか読むことのできないものもあれば、一度に 1 ブロックを
 (すなわち、たくさんの character を) 読み込むことのできるものもある。
-それ故、スペシャルファイルには、ブロック・スペシャルファイル (@dfn{block
-special} files) とキャラクタ・スペシャルファイル (@dfn{character special}
-files) があると言われるのである。
+それ故、スペシャルファイルには、ブロック・スペシャルファイル
+(@dfn{block special} files) とキャラクタ・スペシャルファイル
+(@dfn{character special} files) があると言われるのである。
 
 @c mknod is a shell built-in at least with OpenBSD's /bin/sh
 @mayConflictWithShellBuiltIn{mknod}
@@ -10821,12 +10618,12 @@ FIFO を作成する
 @end table
 
 ブロック型やキャラクタ型のスペシャルファイルを作成する際には、
-ファイルタイプに続いて、メージャー・デバイス番号とマイナー・デバイス
-番号を指定する必要がある。メージャーやマイナーのデバイス番号が @samp{0x} や
-@samp{0X} で始まっていれば、番号は 16 進数と見なされる。@samp{0} で始まっていれば
-8 進数、それ以外の場合は 10 進数である。
+ファイルタイプに続いて、メージャー・デバイス番号とマイナー・デバイス番号を指定する必要がある。
+メージャーやマイナーのデバイス番号が @samp{0x} や @samp{0X} で始まっていれば、
+番号は 16 進数と見なされる。@samp{0} で始まっていれば 8 進数、それ以外の場合は
+10 進数である。
 
-このプログラムでは、以下のオプションが使える。参照: @ref{Common options}.
+このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 
 @table @samp
 
@@ -10834,13 +10631,12 @@ FIFO を作成する
 @itemx --mode=@var{mode}
 @opindex -m
 @opindex --mode
-作成するファイルの許可属性を @var{mode} にする。@var{mode} は @command{chmod} で
-使用するのと同じシンボル表記であり、@samp{a=rw} を基点として使う。
+作成するファイルの許可属性を @var{mode} にする。@var{mode} は @command{chmod}
+使用するのと同じシンボル表記であり、@samp{a=rw} を基点として使う。
 @var{mode} で指定するのは、ファイルの許可属性ビットのみにするべきである。
 @xref{File permissions}.
 
-@optContext (@var{context} を省略できる
-のは、coreutils-8.22 から)
+@optContext (@var{context} を省略できるのは、coreutils-8.22 から)
 
 @end table
 
@@ -10862,15 +10658,14 @@ FIFO を作成する
 
 @item Readlink モード
 
-このモードでは、@command{readlink} は、指定されたシンボリックリンクの値を
-表示する。引数がシンボリックの名前以外だったときは、何も出力せず、
-0 以外の終了コードで終了する。
+このモードでは、@command{readlink} は、指定されたシンボリックリンクの値を表示する。
+引数がシンボリックの名前以外だったときは、何も出力せず、0 以外の終了コードで終了する。
 
 @item Canonicalize (正規化) モード
 
-このモードでは、@command{readlink} は、指定されたファイルの絶対パスによる
-名前を表示する。その絶対パスには、@file{.} や @file{..} といった構成要素や
-重複するパスの区切り (@file{/})、シンボリックリンクは含まれない。
+このモードでは、@command{readlink} は、指定されたファイルの絶対パスによる名前を表示する。
+その絶対パスには、@file{.} や @file{..} といった構成要素や重複するパスの区切り
+(@file{/})、シンボリックリンクは含まれない。
 
 @end table
 
@@ -10888,35 +10683,35 @@ readlink [@var{option}]@dots{} @var{file}@dots{}
 @itemx --canonicalize
 @opindex -f
 @opindex --canonicalize
-canonicalize モードで動かす。ファイル名を構成する要素のうち、最後の
-要素以外のどれかが、存在しなかったり、利用できなかったりすると、
-@command{readlink} は何も出力せず、0 以外の終了コードで終了する。引数の
-末尾のスラッシュは無視される。
+canonicalize モードで動かす。ファイル名を構成する要素のうち、
+最後の要素以外のどれかが、存在しなかったり、利用できなかったりすると、
+@command{readlink} は何も出力せず、0 以外の終了コードで終了する。
+引数の末尾のスラッシュは無視される。
 
 @item -e
 @itemx --canonicalize-existing
 @opindex -e
 @opindex --canonicalize-existing
-canonicalize モードで動かす。ファイル名を構成する要素に、存在しな
-かったり、利用できなかったりするものが一つでもあれば、@command{readlink} は
-何も出力せず、 0 以外の終了コードで終了する。ファイル名のの末尾に
-スラッシュを付けると、その名前はディレクトリであるという指定になる。
+canonicalize モードで動かす。ファイル名を構成する要素に、
+存在しなかったり、利用できなかったりするものがあれば、@command{readlink}
+は何も出力せず、 0 以外の終了コードで終了する。
\83\95ã\82¡ã\82¤ã\83«å\90\8dã\81®ã\81®æ\9c«å°¾ã\81«ã\82¹ã\83©ã\83\83ã\82·ã\83¥ã\82\92ä»\98ã\81\91ã\82\8bã\81¨ã\80\81ã\81\9dã\81®å\90\8då\89\8dã\81¯ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81§ã\81\82ã\82\8bã\81¨ã\81\84ã\81\86æ\8c\87å®\9aã\81«ã\81ªã\82\8bã\80\82
 
 @item -m
 @itemx --canonicalize-missing
 @opindex -m
 @opindex --canonicalize-missing
-canonicalize モードで動かす。ファイル名を構成する要素に、存在しな
-かったり、利用できなかったりするものがあれば、@command{readlink} はそれを
-ディレクトリと見なす。
+canonicalize モードで動かす。ファイル名を構成する要素に、
+存在しなかったり、利用できなかったりするものがあれば、@command{readlink}
\81¯ã\81\9dã\82\8cã\82\92ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81¨è¦\8bã\81ªã\81\99ã\80\82
 
 @item -n
 @itemx --no-newline
 @opindex -n
 @opindex --no-newline
-@var{file} が 1 個しか指定されなかったときは、ファイル名同士を区切る
-デリミタを出力しない。複数の @var{file} とともに、このオプションが
-指定されたときは、 警告メッセージを出す。
+@var{file} が 1 個しか指定されなかったときは、出力の区切り文字
+(訳注: 通常は改行) を表示しない。複数の @var{file}
+とともに、このオプションが指定されたときは、警告メッセージを出す。
 
 @item -s
 @itemx -q
@@ -10926,7 +10721,7 @@ canonicalize モードで動かす。ファイル名を構成する要素に、
 @opindex -q
 @opindex --silent
 @opindex --quiet
-ほとんどのエラーメッセージを出さないようにする。
+ほとんどのエラーメッセージを出さないようにする。デフォルトで ON になっている。
 
 @item -v
 @itemx --verbose
@@ -10934,15 +10729,11 @@ canonicalize モードで動かす。ファイル名を構成する要素に、
 @opindex --verbose
 エラーメッセージを表示する。
 
-@item -z
-@itemx --zero
-@opindex -z
-@opindex --zero
-出力する項目を NUL 文字で区切る。
+@optZero
 
 @end table
 
-@command{readlink} ユーティリティが初めて登場したのは、OpenBSD 2.1. だった。
+@command{readlink} ユーティリティが初めて登場したのは、OpenBSD 2.1 だった。
 
 @command{realpath} コマンドをオプションなしで使うと、canonicalize モードの
 @command{readlink} と同じ動作をする。
@@ -10958,15 +10749,14 @@ canonicalize モードで動かす。ファイル名を構成する要素に、
 @cindex directories, removing empty
 
 @command{rmdir} は、空のディレクトリを削除する。
-@sp 1
+
 書式:
 
 @example
 rmdir [@var{option}]@dots{} @var{directory}@dots{}
 @end example
 
-引数 @var{directory} が実在する空のディレクトリを指していない場合、
-エラーになる。
+引数 @var{directory} が実在する空のディレクトリを指していない場合、エラーになる。
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 
@@ -10975,19 +10765,18 @@ rmdir [@var{option}]@dots{} @var{directory}@dots{}
 @item --ignore-fail-on-non-empty
 @opindex --ignore-fail-on-non-empty
 @cindex directory deletion, ignoring failures
-ディレクトリの削除に失敗しても、その理由が単にディレクトリが空では
\81ªã\81\84ã\81\9bã\81\84ã\81ªã\82\89ã\81°ã\80\81ã\81\9dã\81®å¤±æ\95\97ã\82\92ç\84¡è¦\96ã\81\99ã\82\8bã\80\82
+ディレクトリの削除に失敗しても、その理由が単にディレクトリが空ではないせいならば、
+その失敗を無視する。
 
 @item -p
 @itemx --parents
 @opindex -p
 @opindex --parents
 @cindex parent directories, removing
-@var{directory} を削除するとき、@var{directory} を構成する各要素の削除を
-試みる。そこで、たとえば、@samp{rmdir -p a/b/c} は、@samp{rmdir a/b/c a/b a}
-と同じになる。従って、そうしたディレクトリのどれかが空ではないこと
-が判明すると、動作に失敗する。動作に失敗しても、エラーメッセージを
-出して失敗のステータスで終了しないようにするには、
+@var{directory} を削除するとき、@var{directory} を構成する各要素の削除を試みる。
+そこで、たとえば、@samp{rmdir -p a/b/c} は、@samp{rmdir a/b/c a/b a} と同じになる。
+従って、そうしたディレクトリのどれかが空ではないことが判明すると、動作に失敗する。
+動作に失敗しても、エラーメッセージを出して失敗のステータスで終了しないようにするには、
 @option{--ignore-fail-on-non-empty} オプションを使えばよい。
 
 @item -v
@@ -11011,26 +10800,25 @@ rmdir [@var{option}]@dots{} @var{directory}@dots{}
 @pindex unlink
 @cindex removing files or directories (via the unlink syscall)
 
-@command{unlink} は、指定された 1 個のファイル名の削除を行う。これは、
\82·ã\82¹ã\83\86ã\83 ã\81\8cæ\8f\90ä¾\9bã\81\99ã\82\8b @code{unlink} é\96¢æ\95°ã\81¸ã\81®å¿\85è¦\81æ\9c\80å°\8fã\81®ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹
-である。@xref{Deleting Files, , , libc, The GNU C Library Reference Manual}.
-従って、より一般に使われる @command{rm} コマンドのような、様々な付加機能を
-あえて備えていない (@pxref{rm invocation})。
-@sp 1
+@command{unlink} は、指定された 1 個のファイル名の削除を行う。
\81\93ã\82\8cã\81¯ã\80\81ã\82·ã\82¹ã\83\86ã\83 ã\81\8cæ\8f\90ä¾\9bã\81\99ã\82\8b @code{unlink} é\96¢æ\95°ã\81¸ã\81®å¿\85è¦\81æ\9c\80å°\8fã\81®ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\81§ã\81\82ã\82\8bã\80\82
+@xref{Deleting Files, , , libc, The GNU C Library Reference Manual}.
+従って、より一般に使われる @command{rm} コマンドのような、様々な付加機能をあえて備えていない
+(@pxref{rm invocation})。
+
 書式:
 
 @example
 unlink @var{filename}
 @end example
 
-システムによっては、@code{unlink} を使って、ディレクトリの名前を削除
-できるものもある。また、それができるのは、特権を持ったユーザだけである
-システムもある。GNU のシステムでは、@code{unlink} は、ディレクトリの名前を
-全く削除できない。
+システムによっては、@code{unlink} を使って、ディレクトリの名前を削除できるものもある。
+また、それができるのは、特権を持ったユーザだけであるシステムもある。
+GNU のシステムでは、@code{unlink} は、ディレクトリの名前を全く削除できない。
 
 @command{unlink} コマンドは、@option{--help} と @option{--version} オプションを認識する。
-名前が @samp{-} で始まるファイルを削除するには、名前の前に @samp{./} を付ければ
\82\88ã\81\84ã\80\82ã\81\9fã\81¨ã\81\88ã\81°ã\80\81@samp{unlink ./--help} ã\81®ã\82\88ã\81\86ã\81«ã\81 ã\80\82
+名前が @samp{-} で始まるファイルを削除するには、名前の前に @samp{./} を付ければよい。
+たとえば、@samp{unlink ./--help} のようにだ。
 
 @exitstatus
 
@@ -11045,10 +10833,9 @@ unlink @var{filename}
 ファイルについては、内容と名前とファイル型 (@pxref{Special file types})
 で、すべてが尽くされるわけではない。ファイルには、他の情報も存在する。
 たとえば、所有者 (ユーザ ID)、グループ (グループ ID)、アクセス権
-(そのファイルに対して、所有者、グループに属するユーザ、それ以外の
-一般ユーザは、それぞれ何ができるのか)、様々なタイムスタンプ、といった
-情報も存在するのである。そうしたものは、一まとめにして、ファイルの属性
-(@dfn{attributes}) と呼ばれている。
+(そのファイルに対して、所有者、グループに属するユーザ、それ以外の一般ユーザは、
+それぞれ何ができるのか)、様々なタイムスタンプ、といった情報も存在するのである。
+そうしたものは、一まとめにして、ファイルの属性 (@dfn{attributes}) と呼ばれている。
 
 以下のコマンドは、ファイルの属性を変更する。
 
@@ -11069,10 +10856,10 @@ unlink @var{filename}
 @cindex changing file ownership
 @cindex changing group ownership
 
-@command{chown} は、指定された各 @var{file} の所有者や所有グループを @var{new-owner} に
-変更する。所有者とグループを、存在する参照用ファイル (reference file)
-のそれと同じものに変更することもできる。
-@sp 1
+@command{chown} は、指定された各 @var{file} の所有者や所有グループを
+@var{new-owner} に変更する。所有者とグループを、存在する参照用ファイル
+(reference file) のそれと同じものに変更することもできる。
+
 書式:
 
 @example
@@ -11092,8 +10879,7 @@ chown [@var{option}]@dots{} @{@var{new-owner} | --reference=@var{ref_file}@}@c
 @table @var
 @item owner
 @var{owner} (ユーザ名、またはユーザ ID 番号) だけが指定されている場合は、
-そのユーザが指定された各ファイルの所有者になる。ファイルの
-グループは変化しない。
+そのユーザが指定された各ファイルの所有者になる。ファイルのグループは変化しない。
 
 @item owner@samp{:}group
 @var{owner} の後に、コロンと @var{group} (グループ名、またはグループ ID 番号)
@@ -11106,13 +10892,13 @@ chown [@var{option}]@dots{} @{@var{new-owner} | --reference=@var{ref_file}@}@c
 のログイン・グループに変更される。
 
 @item @samp{:}group
-コロンとそれに続く @var{group} のみが指定され、所有者が省略されている
-場合は、ファイルのグループだけが変更される。この場合、@command{chown}
+コロンとそれに続く @var{group} のみが指定され、所有者が省略されている場合は、
+ファイルのグループだけが変更される。この場合、@command{chown}
 は、@command{chgrp} と同じ動作をするわけだ。
 
 @item @samp{:}
-コロンのみが指定されている場合や、@var{new-owner} に何も指定されていない
-場合は、所有者もグループも変更されない。
+コロンのみが指定されている場合や、@var{new-owner} に何も指定されていない場合は、
+所有者もグループも変更されない。
 
 @end table
 
@@ -11120,24 +10906,31 @@ chown [@var{option}]@dots{} @{@var{new-owner} | --reference=@var{ref_file}@}@c
 番号の頭に @samp{+} を付ければ、ID 番号だと明示することができる。
 @xref{Disambiguating names and IDs}.
 
-古めのスクリプトの中には、区切りの印として @samp{:} ではなく、@samp{.} を
-今だに使っているものがあるかもしれない。POSIX 1003.1-2001 (@pxref{Standards conformance})
+古めのスクリプトの中には、区切りの印として @samp{:} ではなく、@samp{.}
+今だに使っているものがあるかもしれない。POSIX 1003.1-2001 (@pxref{Standards conformance})
 では、これに対するサポートを要求していないが、
-後方互換のために、GNU の @command{chown} では、曖昧さが生じないかぎり、@samp{.} の
-使用をサポートしている。とは言え、新しく書くスクリプトでは、@samp{.} の
-使用を避けるべきである。他のシステムでも使えるとはかぎらないし、また、
-@var{owner@samp{.}group} という全体が、名前に @samp{.} を含むユーザを指していたり
-すると、不都合が生じるからだ。
+後方互換のために、GNU の @command{chown} では、曖昧さが生じないかぎり、@samp{.}
+の使用をサポートしている。とは言え、新しく書くスクリプトでは、@samp{.}
+の使用を避けるべきである。他のシステムでも使えるとはかぎらないし、
+また、@var{owner@samp{.}group} という全体が、名前に @samp{.}
+を含むユーザを指していたりすると、不都合が生じるからだ。
+
+@macro chownGroupRestrictions
+ユーザがグループを任意のものに変更できるか、それとも、
+グループの設定はユーザがその一員であるグループにのみ制限されるという、
+より可搬性のある動作になっているかは、システム次第である。
+@end macro
+@chownGroupRestrictions
 
 @command{chown} コマンドを実行すると、set-user-ID ビットや set-group-ID
 ビットが消えてしまうことがある。そうしたことが起きるかどうかは、
 裏で動いている @code{chown} システムコールのポリシーや機能次第であり、
-従って、システムによるファイルモードの変更が、@command{chown} コマンドの
\82³ã\83³ã\83\88ã\83­ã\83¼ã\83«å¤\96ã\81«ã\81ªã\82\8bã\81\93ã\81¨ã\81\8cã\81\82ã\82\8bã\81®ã\81 ã\80\82ã\81\97ã\81\8bã\82\8bã\81¹ã\81\8dç\89¹æ¨©ã\82\92æ\8c\81ã\81£ã\81\9fã\83¦ã\83¼ã\82¶ã\81\8c
-実行した場合や、問題のビットが実行権とは関係のない何か別の機能
-(たとえば、強制ロック) を表している場合などでは、@command{chown} コマンド
\82\92å®\9fè¡\8cã\81\97ã\81¦ã\82\82ã\80\81ã\81\9dã\81\86ã\81\97ã\81\9fã\83\93ã\83\83ã\83\88ã\81\8cå¤\89ã\82\8fã\82\89ã\81ªã\81\84ã\81\8bã\82\82ã\81\97ã\82\8cã\81ªã\81\84ã\80\82ã\81©ã\81\86ã\81ªã\82\8bã\81\8b
-よくわからない場合は、裏で動いているシステムの動作を調べるとよい。
+従って、システムによるファイルモードの変更が、@command{chown}
\82³ã\83\9eã\83³ã\83\89ã\81®ã\82³ã\83³ã\83\88ã\83­ã\83¼ã\83«å¤\96ã\81«ã\81ªã\82\8bã\81\93ã\81¨ã\81\8cã\81\82ã\82\8bã\81®ã\81 ã\80\82
+しかるべき特権を持ったユーザが実行した場合や、問題のビットが実行権とは関係のない何か別の機能
+(たとえば、強制ロック) を表している場合などでは、@command{chown}
\82³ã\83\9eã\83³ã\83\89ã\82\92å®\9fè¡\8cã\81\97ã\81¦ã\82\82ã\80\81ã\81\9dã\81\86ã\81\97ã\81\9fã\83\93ã\83\83ã\83\88ã\81\8cå¤\89ã\82\8fã\82\89ã\81ªã\81\84ã\81\8bã\82\82ã\81\97ã\82\8cã\81ªã\81\84ã\80\82
\81©ã\81\86ã\81ªã\82\8bã\81\8bã\82\88ã\81\8fã\82\8fã\81\8bã\82\89ã\81ªã\81\84å ´å\90\88ã\81¯ã\80\81è£\8fã\81§å\8b\95ã\81\84ã\81¦ã\81\84ã\82\8bã\82·ã\82¹ã\83\86ã\83 ã\81®å\8b\95ä½\9cã\82\92調ã\81¹ã\82\8bã\81¨ã\82\88ã\81\84ã\80\82
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 
@@ -11148,8 +10941,7 @@ chown [@var{option}]@dots{} @{@var{new-owner} | --reference=@var{ref_file}@}@c
 @opindex -c
 @opindex --changes
 @cindex changed owners, verbosely describing
-所有者の変更が実際に行われた各 @var{file} について、何を実行したかを
-詳しく表示する。
+所有者の変更が実際に行われた各 @var{file} について、何を実行したかを詳しく表示する。
 
 @item -f
 @itemx --silent
@@ -11160,35 +10952,34 @@ chown [@var{option}]@dots{} @{@var{new-owner} | --reference=@var{ref_file}@}@c
 @cindex error messages, omitting
 所有者を変更できないファイルがあっても、エラーメッセージを出さない。
 
-@item @w{@kbd{--from}=@var{old-owner}}
+@item --from=@var{old-owner}
 @opindex --from
 @cindex symbolic links, changing owner
 @var{file} が @var{old-owner} で指定された属性を現在持っているときにのみ、
-その所有者を変更する。@var{old-owner} の書式は、上記の @var{new-owner} と同じ
\81§ã\81\82ã\82\8bã\80\82ã\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\81®ä¸\8d正使ç\94¨ã\81\8cå\8f¯è\83½ã\81«ã\81ªã\82\8bæ\99\82é\96\93ã\82\92
-大幅に狭めるという点で、主としてセキュリティの見地から役に立つ。
+その所有者を変更する。@var{old-owner} の書式は、上記の @var{new-owner} と同じである。
\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\81®ä¸\8d正使ç\94¨ã\81\8cå\8f¯è\83½ã\81«ã\81ªã\82\8bæ\99\82é\96\93ã\82\92大å¹\85ã\81«ç\8b­ã\82\81ã\82\8bã\81¨ã\81\84ã\81\86ç\82¹ã\81§ã\80\81
+主としてセキュリティの見地から役に立つ。
 一例を挙げると、この種のオプションを使わない場合、ユーザの ID
-番号の変更を、そのユーザのファイルに反映させるために、@code{root} は
-次のようなコマンドを実行するかもしれない。
+番号の変更を、そのユーザのファイルに反映させるために、@code{root}
+次のようなコマンドを実行するかもしれない。
 
 @smallexample
 find / -user OLDUSER -print0 | xargs -0 chown -h NEWUSER
 @end smallexample
 
-しかし、これは危険なことである。なぜなら、@command{find} が存在する
\83\95ã\82¡ã\82¤ã\83«ã\81®æ\89\80æ\9c\89è\80\85ã\82\92æ¤\9cæ\9f»ã\81\99ã\82\8bã\81¨ã\81\8dã\81¨ã\80\81@command{chown} ã\81\8cå®\9fé\9a\9bã\81«å®\9fè¡\8cã\81\95ã\82\8cã\82\8b
-ときとの間に時間差があり、それはかなり大きいかもしれないからだ。
-この時間差を小さくする方法の一つは、ファイルが見つかるごとに、
-@command{chown} を実行することだろう。
+しかし、これは危険なことである。なぜなら、@command{find}
\81\8cå­\98å\9c¨ã\81\99ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\81®æ\89\80æ\9c\89è\80\85ã\82\92æ¤\9cæ\9f»ã\81\99ã\82\8bã\81¨ã\81\8dã\81¨ã\80\81@command{chown}
\81\8cå®\9fé\9a\9bã\81«å®\9fè¡\8cã\81\95ã\82\8cã\82\8bã\81¨ã\81\8dã\81¨ã\81®é\96\93ã\81«æ\99\82é\96\93å·®ã\81\8cã\81\82ã\82\8aã\80\81ã\81\9dã\82\8cã\81¯ã\81\8bã\81ªã\82\8a大ã\81\8dã\81\84ã\81\8bã\82\82ã\81\97ã\82\8cã\81ªã\81\84ã\81\8bã\82\89ã\81 ã\80\82
+この時間差を小さくする方法の一つは、ファイルが見つかるごとに、@command{chown}
+を実行することだろう。
 
 @example
 find / -user OLDUSER -exec chown -h NEWUSER @{@} \;
 @end example
 
-しかし、動作の対象になるファイルがたくさんあると、この方法は
-非常に時間がかかる。@option{--from=@var{old-owner}} オプションを使う方が、
-完璧とまでは言えないにしても、より安全である (時間差がさらに
-小さくなるので)。
+しかし、動作の対象になるファイルがたくさんあると、この方法は非常に時間がかかる。
+@option{--from=@var{old-owner}} オプションを使う方が、
+万全とまでは言えないにしても、より安全である (時間差がさらに小さくなるので)。
 
 @example
 chown -h -R --from=OLDUSER NEWUSER /
@@ -11198,8 +10989,8 @@ chown -h -R --from=OLDUSER NEWUSER /
 @opindex --dereference
 @cindex symbolic links, changing owner
 @findex lchown
-シンボリックリンクそのものを動作の対象とせず、リンクが指している
\82\82ã\81®ã\82\92å\8b\95ä½\9cã\81®å¯¾è±¡ã\81«ã\81\99ã\82\8bã\80\82ã\81\93ã\82\8cã\81\8cã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81§ã\81\82ã\82\8bã\80\82
+シンボリックリンクそのものを動作の対象とせず、リンクが指しているものを動作の対象にする。
+これがデフォルトである。
 
 @item -h
 @itemx --no-dereference
@@ -11207,21 +10998,20 @@ chown -h -R --from=OLDUSER NEWUSER /
 @opindex --no-dereference
 @cindex symbolic links, changing owner
 @findex lchown
-シンボリックリンクが指しているものではなく、シンボリックリンク
-そのものを動作の対象にする。このモードは、システムコール @code{lchown}
-に依存している。システムコール @code{lchown} を提供していないシステム
-では、コマンドラインで指定されたファイルがシンボリックリンクだと、
-@command{chown} は実行に失敗する。なお、再帰的にディレクトリ階層をたどって
-いる際にシンボリックリンクに出会っても、デフォルトでは診断メッセージ
-を表示しない。ただし、@option{--verbose} を指定している場合は別なので、
-そちらの説明も参照していただきたい。
+シンボリックリンクが指しているものではなく、シンボリックリンクそのものを動作の対象にする。
+このモードは、システムコール @code{lchown} に依存している。
+システムコール @code{lchown} を提供していないシステムでは、
+コマンドラインで指定されたファイルがシンボリックリンクだと、@command{chown} は実行に失敗する。
+なお、再帰的にディレクトリ階層をたどっている際にシンボリックリンクに出会っても、
+デフォルトでは診断メッセージを表示しない。ただし、@option{--verbose}
+を指定している場合は別なので、そちらの説明も参照していただきたい。
 
 @item --preserve-root
 @opindex --preserve-root
 @cindex root directory, disallow recursive modification
\83«ã\83¼ã\83\88ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ª (@file{/}) ã\82\92å\86\8d帰ç\9a\84ã\81«å¤\89æ\9b´ã\81\97ã\82\88ã\81\86ã\81¨ã\81\99ã\82\8bã\81¨ã\80\81
-エラーになる。@option{--recursive} オプションを指定していない場合、
-このオプションは効果がない。 @xref{Treating / specially}.
\83«ã\83¼ã\83\88ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ª (@file{/}) ã\82\92å\86\8d帰ç\9a\84ã\81«å¤\89æ\9b´ã\81\97ã\82\88ã\81\86ã\81¨ã\81\97ã\81\9fæ\99\82ç\82¹ã\81§ã\80\81å®\9fè¡\8cã\81«å¤±æ\95\97ã\81\99ã\82\8bã\80\82
+@option{--recursive} オプションを指定していない場合、このオプションは効果がない。
+@xref{Treating / specially}.
 
 @item --no-preserve-root
 @opindex --no-preserve-root
@@ -11232,19 +11022,17 @@ chown -h -R --from=OLDUSER NEWUSER /
 @item --reference=@var{ref_file}
 @opindex --reference
 各 @var{file} の所有者とグループを @var{ref_file} のそれと同じものに変更する。
-@var{ref_file} がシンボリックリンクの場合は、シンボリックリンクの
-所有者とグループではなく、リンクが指しているファイルの所有者と
-グループを使用する。
+@var{ref_file} がシンボリックリンクの場合は、シンボリックリンクの所有者とグループではなく、
+リンクが指しているファイルの所有者とグループを使用する。
 
 @item -v
 @itemx --verbose
 @opindex -v
 @opindex --verbose
-処理したすべてのファイルについてメッセージを表示する。システム
-コール @code{lchown} を持っていないシステムで、再帰的にディレクトリ
-階層をたどっている際にシンボリックリンクに出会った場合、
-@option{--no-dereference} が有効になっていれば、「シンボリックリンクも
-その参照先も変更しない」というメッセージを出す。
+処理したすべてのファイルについてメッセージを表示する。システムコール @code{lchown}
+を持っていないシステムで、再帰的にディレクトリ階層をたどっている際にシンボリックリンクに出会った場合、
+@option{--no-dereference} が有効になっていれば、
+「シンボリックリンクもその参照先も変更しない」というメッセージを出す。
 
 @item -R
 @itemx --recursive
@@ -11284,11 +11072,11 @@ chown -hR root /u
 @cindex group ownership, changing
 @cindex changing group ownership
 
-@command{chgrp} は、指定された各 @var{file} の所有グループを @var{group} に変更する (@var{group}
\81¯ã\80\81ã\82°ã\83«ã\83¼ã\83\97å\90\8dã\81§ã\82\82ã\82°ã\83«ã\83¼ã\83\97 ID ç\95ªå\8f·ã\81§ã\82\82ã\82\88ã\81\84\80\82æ\89\80æ\9c\89ã\82°ã\83«ã\83¼ã\83\97ã\82\92ã\80\81å­\98å\9c¨ã\81\99ã\82\8b
-参照用ファイル (reference file) のグループと同じものに変更することも
\81§ã\81\8dã\82\8bã\80\82
-@sp 1
+@command{chgrp} は、指定された各 @var{file} の所有グループを @var{group}
\81«å¤\89æ\9b´ã\81\99ã\82\8b (@var{group} ã\81¯ã\80\81ã\82°ã\83«ã\83¼ã\83\97å\90\8dã\81§ã\82\82ã\82°ã\83«ã\83¼ã\83\97 ID ç\95ªå\8f·ã\81§ã\82\82ã\82\88ã\81\84\80\82
+所有グループを、存在する参照用ファイル (reference file)
\81®ã\82°ã\83«ã\83¼ã\83\97ã\81¨å\90\8cã\81\98ã\82\82ã\81®ã\81«å¤\89æ\9b´ã\81\99ã\82\8bã\81\93ã\81¨ã\82\82ã\81§ã\81\8dã\82\8bã\80\82 @xref{chown invocation}.
+
 書式:
 
 @example
@@ -11299,6 +11087,8 @@ chgrp [@var{option}]@dots{} @{@var{group} | --reference=@var{ref_file}@}@c
 @var{group} にグループ ID 番号を使用する場合は、番号の頭に @samp{+} を付ければ、
 ID 番号だと明示することができる。 @xref{Disambiguating names and IDs}.
 
+@chownGroupRestrictions
+
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 
 @table @samp
@@ -11308,8 +11098,7 @@ ID 番号だと明示することができる。 @xref{Disambiguating names and
 @opindex -c
 @opindex --changes
 @cindex changed files, verbosely describing
-グループの変更が実際に行われた各 @var{file} について、何を実行したかを
-詳しく表示する。
+グループの変更が実際に行われた各 @var{file} について、何を実行したかを詳しく表示する。
 
 @item -f
 @itemx --silent
@@ -11318,15 +11107,14 @@ ID 番号だと明示することができる。 @xref{Disambiguating names and
 @opindex --silent
 @opindex --quiet
 @cindex error messages, omitting
-グループを変更できないファイルがあっても、エラーメッセージを
-出さない。
+グループを変更できないファイルがあっても、エラーメッセージを出さない。
 
 @item --dereference
 @opindex --dereference
 @cindex symbolic links, changing owner
 @findex lchown
-シンボリックリンクそのものを動作の対象とせず、リンクが指している
\82\82ã\81®ã\82\92å\8b\95ä½\9cã\81®å¯¾è±¡ã\81«ã\81\99ã\82\8bã\80\82ã\81\93ã\82\8cã\81\8cã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81§ã\81\82ã\82\8bã\80\82
+シンボリックリンクそのものを動作の対象とせず、リンクが指しているものを動作の対象にする。
+これがデフォルトである。
 
 @item -h
 @itemx --no-dereference
@@ -11334,21 +11122,20 @@ ID 番号だと明示することができる。 @xref{Disambiguating names and
 @opindex --no-dereference
 @cindex symbolic links, changing group
 @findex lchown
-シンボリックリンクが指しているものではなく、シンボリックリンク
-そのものを動作の対象にする。このモードは、システムコール @code{lchown}
-に依存している。システムコール @code{lchown} を提供していないシステム
-では、コマンドラインで指定されたファイルがシンボリックリンクだと、
-@command{chgrp} は実行に失敗する。なお、再帰的にディレクトリ階層をたどって
-いる際にシンボリックリンクに出会っても、デフォルトでは診断メッセージ
-を表示しない。ただし、@option{--verbose} を指定している場合は別なので、
-そちらの説明も参照していただきたい。
+シンボリックリンクが指しているものではなく、シンボリックリンクそのものを動作の対象にする。
+このモードは、システムコール @code{lchown} に依存している。
+システムコール @code{lchown} を提供していないシステムでは、
+コマンドラインで指定されたファイルがシンボリックリンクだと、@command{chgrp} は実行に失敗する。
+なお、再帰的にディレクトリ階層をたどっている際にシンボリックリンクに出会っても、
+デフォルトでは診断メッセージを表示しない。ただし、@option{--verbose}
+を指定している場合は別なので、そちらの説明も参照していただきたい。
 
 @item --preserve-root
 @opindex --preserve-root
 @cindex root directory, disallow recursive modification
\83«ã\83¼ã\83\88ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ª (@file{/}) ã\82\92å\86\8d帰ç\9a\84ã\81«å¤\89æ\9b´ã\81\97ã\82\88ã\81\86ã\81¨ã\81\99ã\82\8bã\81¨ã\80\81
-エラーになる。@option{--recursive} オプションを指定していない場合、
-このオプションは効果がない。 @xref{Treating / specially}.
\83«ã\83¼ã\83\88ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ª (@file{/}) ã\82\92å\86\8d帰ç\9a\84ã\81«å¤\89æ\9b´ã\81\97ã\82\88ã\81\86ã\81¨ã\81\97ã\81\9fæ\99\82ç\82¹ã\81§ã\80\81å®\9fè¡\8cã\81«å¤±æ\95\97ã\81\99ã\82\8bã\80\82
+@option{--recursive} オプションを指定していない場合、このオプションは効果がない。
+@xref{Treating / specially}.
 
 @item --no-preserve-root
 @opindex --no-preserve-root
@@ -11359,18 +11146,17 @@ ID 番号だと明示することができる。 @xref{Disambiguating names and
 @item --reference=@var{ref_file}
 @opindex --reference
 各 @var{file} のグループを @var{ref_file} のグループと同じものに変更する。
-@var{ref_file} がシンボリックリンクの場合は、シンボリックリンクの
-グループではなく、リンクが指しているファイルのグループを使用する。
+@var{ref_file} がシンボリックリンクの場合は、
\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81®ã\82°ã\83«ã\83¼ã\83\97ã\81§ã\81¯ã\81ªã\81\8fã\80\81ã\83ªã\83³ã\82¯ã\81\8cæ\8c\87ã\81\97ã\81¦ã\81\84ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\81®ã\82°ã\83«ã\83¼ã\83\97ã\82\92使ç\94¨ã\81\99ã\82\8bã\80\82
 
 @item -v
 @itemx --verbose
 @opindex -v
 @opindex --verbose
-処理したすべてのファイルについてメッセージを表示する。システム
-コール @code{lchown} を持っていないシステムで、再帰的にディレクトリ
-階層をたどっている際にシンボリックリンクに出会った場合、
-@option{--no-dereference} が有効になっていれば、「シンボリックリンクも
-その参照先も変更しない」というメッセージを出す。
+処理したすべてのファイルについてメッセージを表示する。システムコール @code{lchown}
+を持っていないシステムで、再帰的にディレクトリ階層をたどっている際にシンボリックリンクに出会った場合、
+@option{--no-dereference} が有効になっていれば、
+「シンボリックリンクもその参照先も変更しない」というメッセージを出す。
 
 @item -R
 @itemx --recursive
@@ -11409,7 +11195,7 @@ chgrp -hR staff /u
 @cindex permissions, changing access
 
 @command{chmod} は、名前を指定したファイルのアクセス権を変更する。
-@sp 1
+
 書式:
 
 @example
@@ -11418,32 +11204,32 @@ chmod [@var{option}]@dots{} @{@var{mode} | --reference=@var{ref_file}@}@c
 @end example
 
 @cindex symbolic links, permissions of
-@command{chmod} コマンドがシンボリックリンクのアクセス権を変更することは
-ない。@command{chmod} システムコールがシンボリックリンクのアクセス権を変更
-できないからである。シンボリックリンクのアクセス権が利用されることは
-全くないので、この制限は問題にならない。とは言え、コマンドラインで
-指定された @var{file} が、シンボリックリンクだということはあるだろうが、
-そうした場合、@command{chmod} は、指定された各シンボリックリンクが参照して
-いるファイルのアクセス権を変更する。それに対して、ディレクトリを
-再帰的にたどっている最中にシンボリックリンクに出会った場合は、
+@command{chmod} コマンドがシンボリックリンクのアクセス権を変更することはない。
+@command{chmod} システムコールがシンボリックリンクのアクセス権を変更できないからである。
+シンボリックリンクのアクセス権が利用されることは全くないので、この制限は問題にならない。
+とは言え、コマンドラインで指定された @var{file}
+が、シンボリックリンクだということはあるだろうが、そうした場合、@command{chmod}
+は、指定された各シンボリックリンクが参照しているファイルのアクセス権を変更する。
+それに対して、ディレクトリを再帰的にたどっている最中にシンボリックリンクに出会った場合は、
 @command{chmod} はそれを無視することになる。
 
-@command{chmod} の実行に成功したとき、通常ファイルの set-group-ID ビットが
-消えることがあるが、それは、ファイルのグループ ID が、@command{chmod} を実行
\81\97ã\81\9fã\83¦ã\83¼ã\82¶ã\81®å®\9få\8a¹ã\82°ã\83«ã\83¼ã\83\97 ID ã\82\84ã\80\81è£\9cå\8a©ã\82°ã\83«ã\83¼ã\83\97 ID ã\81®ä¸\80ã\81¤ã\81«ä¸\80è\87´ã\81\97ã\81ªã\81\8bã\81£ã\81\9f
-場合である。もっとも、そのユーザがしかるべき特権を持っている場合には、
+@command{chmod} の実行に成功したとき、通常ファイルの set-group-ID ビットが消えることがあるが、
+それは、ファイルのグループ ID が、@command{chmod} を実行したユーザの実効グループ ID
\82\84ã\80\81è£\9cå\8a©ã\82°ã\83«ã\83¼ã\83\97 ID ã\81®ä¸\80ã\81¤ã\81«ä¸\80è\87´ã\81\97ã\81ªã\81\8bã\81£ã\81\9få ´å\90\88ã\81§ã\81\82ã\82\8bã\80\82
+もっとも、そのユーザがしかるべき特権を持っている場合には、
 set-group-ID ビットが消えることはない。また、制限事項が他にも存在して、
 指定した @var{mode} 中や @var{ref_file} の、set-user-ID ビットや set-group-ID
 ビットが無視されることもある。そうした動作は、裏で動いている @code{chmod}
-システムコールのポリシーや機能次第なのだ。どうなるかよくわからない
-場合には、裏で動いているシステムの動作を調べればよい。
-
-@var{mode} には、ファイルの新しいモードビット (訳注: すなわち、アクセス
-権) を指定する。詳細については、「ファイルの許可属性」の章を参照して
-いただきたい (@pxref{File permissions})。@var{mode} を指定するとき、@var{mode} を
-どうしても @samp{-} で始めたいのなら、前に @option{--} を置いた方がよい。たとえば、
-@samp{chmod -- -w file} のようにだ。とは言え、たいていの場合、@samp{chmod a-w file}
-の方が望ましい。なお、@command{chmod -w file} (@option{--} がない) が
+システムコールのポリシーや機能次第なのだ。どうなるかよくわからない場合には、
+裏で動いているシステムの動作を調べればよい。
+
+@var{mode} には、ファイルの新しいモードビット (訳注: すなわち、アクセス権)
+を指定する。詳細については、「ファイルの許可属性」の章を参照していただきたい
+(@pxref{File permissions})。@var{mode} を指定するとき、@var{mode}
+をどうしても @samp{-} で始めたいのなら、前に @option{--} を置いた方がよい。
+たとえば、@samp{chmod -- -w file} のようにだ。
+とは言え、たいていの場合、@samp{chmod a-w file} の方が望ましい。
+なお、@command{chmod -w file} (@option{--} がない) が
 @samp{chmod a-w file} と別の動作になる場合には、警告が出る。
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
@@ -11454,8 +11240,7 @@ set-group-ID ビットが消えることはない。また、制限事項が他
 @itemx --changes
 @opindex -c
 @opindex --changes
-アクセス権の変更が実際に行われた各 @var{file} について、何を実行したかを
-詳しく表示する。
+アクセス権の変更が実際に行われた各 @var{file} について、何を実行したかを詳しく表示する。
 
 @item -f
 @itemx --silent
@@ -11464,15 +11249,14 @@ set-group-ID ビットが消えることはない。また、制限事項が他
 @opindex --silent
 @opindex --quiet
 @cindex error messages, omitting
-アクセス権が変更できないファイルがあっても、エラーメッセージを
-出さない。
+アクセス権が変更できないファイルがあっても、エラーメッセージを出さない。
 
 @item --preserve-root
 @opindex --preserve-root
 @cindex root directory, disallow recursive modification
\83«ã\83¼ã\83\88ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ª (@file{/}) ã\82\92å\86\8d帰ç\9a\84ã\81«å¤\89æ\9b´ã\81\97ã\82\88ã\81\86ã\81¨ã\81\99ã\82\8bã\81¨ã\80\81
-エラーになる。@option{--recursive} オプションを指定していない場合、
-このオプションは効果がない。 @xref{Treating / specially}.
\83«ã\83¼ã\83\88ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ª (@file{/}) ã\82\92å\86\8d帰ç\9a\84ã\81«å¤\89æ\9b´ã\81\97ã\82\88ã\81\86ã\81¨ã\81\97ã\81\9fæ\99\82ç\82¹ã\81§ã\80\81å®\9fè¡\8cã\81«å¤±æ\95\97ã\81\99ã\82\8bã\80\82
+@option{--recursive} オプションを指定していない場合、このオプションは効果がない。
+@xref{Treating / specially}.
 
 @item --no-preserve-root
 @opindex --no-preserve-root
@@ -11491,8 +11275,7 @@ set-group-ID ビットが消えることはない。また、制限事項が他
 @opindex --reference
 各 @var{file} のモードを @var{ref_file} のそれと同じものに変更する。
 @xref{File permissions}.  @var{ref_file} がシンボリックリンクの場合は、
-シンボリックリンクのモードではなく、リンクが参照しているファイルの
-モードを使用する。
+シンボリックリンクのモードではなく、リンクが参照しているファイルのモードを使用する。
 
 @item -R
 @itemx --recursive
@@ -11516,7 +11299,7 @@ set-group-ID ビットが消えることはない。また、制限事項が他
 
 @command{touch} は指定されたファイルのアクセス日時 (access time) や更新日時
 (modification time) を変更する。
-@sp 1
+
 書式:
 
 @example
@@ -11524,80 +11307,72 @@ touch [@var{option}]@dots{} @var{file}@dots{}
 @end example
 
 @cindex empty files, creating
-引数 @var{file} に存在しないファイルを指定すると、空のファイルが作成
-される。ただし、@option{--no-create} (@option{-c}) や @option{--no-dereference}
-(@option{-h}) が
-有効な場合は、ファイルは作成されない。
+引数 @var{file} に存在しないファイルを指定すると、空のファイルが作成される。
+ただし、@option{--no-create} (@option{-c}) や @option{--no-dereference}
+(@option{-h}) が有効な場合は、ファイルは作成されない。
 
-å¼\95æ\95° @var{file} ã\81\8c @samp{-} ã\81¨ã\81\84ã\81\86æ\96\87å­\97å\88\97ã\81®å ´å\90\88ã\81¯ã\80\81ç\89¹å\88¥ã\81ªæ\89±ã\81\84ã\81\99ã\82\8bã\80\82@command{touch} ã\81¯ã\80\81
-標準出力に結びついているファイルの日時を変更するのである。
+å¼\95æ\95° @var{file} ã\81\8c @samp{-} ã\81¨ã\81\84ã\81\86æ\96\87å­\97å\88\97ã\81®å ´å\90\88ã\81¯ã\80\81ç\89¹å\88¥ã\81ªæ\89±ã\81\84ã\82\92ã\81\99ã\82\8bã\80\82@command{touch}
+は、標準出力に結びついているファイルの日時を変更するのである。
 
 @cindex clock skew
-@command{touch} は、デフォルトではファイルのタイムスタンプを現在の日時に
-セットする。@command{touch} はオペランドを左から右へと順番に処理するので、
+@command{touch} は、デフォルトではファイルのタイムスタンプを現在の日時にセットする。
+@command{touch} はオペランドを左から右へと順番に処理するので、
 生成されたタイムスタンプが、前後のオペランドで一致しないこともある。
 また、「現在」とはいつかを決めるのは、プラットフォーム次第である。
 ネットワーク・ファイルシステムを使用しているプラットフォームでは、
-オペレーティング・システムとファイルシステムとで別のクロックを使用
-していることも珍しくない。@command{touch} は通常、デフォルトではファイル
-システムのクロックを使用するので、クロックのずれのために、生成された
-ファイルのタイムスタンプが、あるプログラムにとっては「未来」に
-見えたり、「過去」に見えたりすることがある。
+オペレーティング・システムとファイルシステムとで別のクロックを使用していることも珍しくない。
+@command{touch} は通常、デフォルトではファイルシステムのクロックを使用するので、
+クロックのずれのために、生成されたファイルのタイムスタンプが、
+あるプログラムにとっては「未来」に見えたり、「過去」に見えたりすることがある。
 
 @cindex file timestamp resolution
-@command{touch} コマンドは、ファイルのタイムスタンプを、ユーザが指定した
-日時よりも精度が高くならない範囲で、表現できる最大の値にセットする。
-この値がユーザが指定した日時と違うことがあるが、それにはいくつかの
-理由がある。第一に、ユーザが指定した日時が、サポートされている精度を
-越えていることがある。第二に、ファイルシステムが、日時のタイプに
-よって別の精度を使っていることがある。第三に、ファイルのタイム
-スタンプが、オペレーティング・システムのタイムスタンプとは別の精度を
-使っていることがある。第四に、オペレーティング・システムでタイム
-スタンプの更新に使用されている基本データ型が、さらに違う精度を採用
-していることがある。そんなわけで、理屈の上では、たとえば、ファイル
-システムでは、アクセス日時には 10 マイクロ秒の精度を、更新日時には
-100 ナノ秒の精度を使用し、オペレーティング・システムの方では、現在の
-時刻にはナノ秒の精度を、@command{touch} がファイルのタイムスタンプを任意の
-値に設定するために使う基本データ型には、マイクロ秒の精度を使用して
-いる、そういうこともありえるのである。
+@command{touch} コマンドは、ファイルのタイムスタンプを、
+ユーザが指定した日時よりも精度が高くならない範囲で、表現できる最も精密な値にセットする。
+この値がユーザが指定した日時と違うことがあるが、それにはいくつかの理由がある。
+第一に、ユーザが指定した日時が、サポートされている精度を越えていることがある。
+第二に、ファイルシステムが、日時のタイプによって別の精度を使っていることがある。
+第三に、ファイルのタイムスタンプが、オペレーティング・システムのタイムスタンプとは別の精度を使っていることがある。
+第四に、オペレーティング・システムでタイムスタンプの更新に使用される基本データ型が、
+さらに違う精度を採用していることがある。そんなわけで、理屈の上では、
+たとえば、ファイルシステムでは、アクセス日時には 10 マイクロ秒の精度を、更新日時には
+100 ナノ秒の精度を使用し、オペレーティング・システムの方では、現在の時刻にはナノ秒の精度を、
+@command{touch} がファイルのタイムスタンプを任意の値に設定するために使う基本データ型には、
+マイクロ秒の精度を使用している、そういうこともありえるのである。
 
 @cindex permissions, for changing file timestamps
-タイムスタンプを現在の時刻にセットする場合には、ユーザが所有して
\81\84ã\81ªã\81\84ã\83\95ã\82¡ã\82¤ã\83«ã\81§ã\82\82ã\80\81æ\9b¸ã\81\8dè¾¼ã\81¿æ¨©é\99\90ã\81\95ã\81\88æ\8c\81ã\81£ã\81¦ã\81\84ã\82\8cã\81°ã\80\81@command{touch} ã\81¯ã\81\9dã\81®
\82¿ã\82¤ã\83 ã\82¹ã\82¿ã\83³ã\83\97ã\82\92å¤\89æ\9b´ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\80\82ã\81\97ã\81\8bã\81\97ã\80\81ç\8f¾å\9c¨ã\81®æ\99\82å\88»ä»¥å¤\96ã\81«ã\82»ã\83\83ã\83\88
\81\99ã\82\8bã\81«ã\81¯ã\80\81ã\83¦ã\83¼ã\82¶ã\81¯ã\81\9dã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82\92æ\89\80æ\9c\89ã\81\97ã\81¦ã\81\84ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82å\8f¤ã\81\84
-システムの中には、制限がさらに厳しいものもある。たとえば、アクセス
-日時と更新日時の両方を現在の時刻にセットするとき以外、対象となる
-ファイルを所有していなければならないといった具合だ。
+タイムスタンプを現在の時刻にセットする場合には、
\83¦ã\83¼ã\82¶ã\81\8cæ\89\80æ\9c\89ã\81\97ã\81¦ã\81\84ã\81ªã\81\84ã\83\95ã\82¡ã\82¤ã\83«ã\81§ã\82\82ã\80\81æ\9b¸ã\81\8dè¾¼ã\81¿æ¨©é\99\90ã\81\95ã\81\88æ\8c\81ã\81£ã\81¦ã\81\84ã\82\8cã\81°ã\80\81@command{touch}
\81¯ã\81\9dã\81®ã\82¿ã\82¤ã\83 ã\82¹ã\82¿ã\83³ã\83\97ã\82\92å¤\89æ\9b´ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\80\82
\81\97ã\81\8bã\81\97ã\80\81ç\8f¾å\9c¨ã\81®æ\99\82å\88»ä»¥å¤\96ã\81«ã\82»ã\83\83ã\83\88ã\81\99ã\82\8bã\81«ã\81¯ã\80\81ã\83¦ã\83¼ã\82¶ã\81¯ã\81\9dã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82\92æ\89\80æ\9c\89ã\81\97ã\81¦ã\81\84ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82
+古いシステムの中には、制限がさらに厳しいものもある。
+たとえば、アクセス日時と更新日時の両方を現在の時刻にセットするとき以外、
+対象となるファイルを所有していなければならないといった具合だ。
 
 @command{touch} が提供するオプションを使えば、ファイルの 2 種類の日時 ---
-最終アクセス日時と最終更新日時 --- を変更することができるが、標準の
-日時には、実はそのほかに 3 番目のものがある。すなわち、inode の変更日時
-(inode change time) だ。これは、ファイルの @code{ctime} と呼ばれることが
-多い。inode の変更日時は、ファイルのメタ情報が最後に変更された日時を
-表している。メタ情報の変更のよくある例の一つは、ファイルのアクセス権
-の変更である。アクセス権の変更では、ファイルにアクセスするわけではない
-ので、atime (アクセス日時) は変化しないし、またファイルの内容を変更
-するわけでもないので、mtime (更新日時) も変化しない。しかし、ファイル
-そのものに関する何ものかが変化しているわけであり、それはどこかに記録
-されなければならない。まさにそれが、inode の ctime フィールドの役割
-なのだ。たとえば、バックアップ・プログラムが、ファイルのアクセス権に
-変更があった場合も含めて、ファイルのコピーを最新に保つことができる
-ようにするには、ctime が不可欠である。ファイルの ctime は変更するが、
-他の日時には影響を及ぼさない別の操作には、ファイル名の変更がある。
-なお、いかなる場合であれ、通常の操作では、ユーザが ctime フィールドを
-自分で指定する値に変更することはできない。オペーレーティングシステムや
-ファイルシステムの中には、4 番目の日時をサポートしているものもある。
+最終アクセス日時と最終更新日時 --- を変更することができるが、
+標準の日時には、実はそのほかに 3 番目のものがある。すなわち、inode の変更日時
+(inode change time) だ。これは、ファイルの @code{ctime} と呼ばれることが多い。
+inode の変更日時は、ファイルのメタ情報が最後に変更された日時を表している。
+メタ情報の変更のよくある例の一つは、ファイルのアクセス権の変更である。
+アクセス権の変更では、ファイルにアクセスするわけではないので、atime (アクセス日時)
+は変化しないし、またファイルの内容を変更するわけでもないので、mtime (更新日時)
+も変化しない。しかし、ファイルそのものに関する何ものかが変化しているわけであり、
+それはどこかに記録されなければならない。まさにそれが、inode の ctime フィールドの役割なのだ。
+たとえば、バックアップ・プログラムが、ファイルのアクセス権に変更があった場合も含めて、
+ファイルのコピーを最新に保つことができるようにするには、ctime が不可欠である。
+ファイルの ctime は変更するが、他の日時には影響を及ぼさない別の操作には、ファイル名の変更がある。
+なお、いかなる場合であれ、通常の操作では、ユーザが ctime
+フィールドを自分で指定する値に変更することはできない。
+オペレーティングシステムやファイルシステムの中には、4 番目の日時をサポートしているものもある。
 すなわち、作成日時 (birth time) であり、ファイルが最初に作られた日時だ。
 名前からして当然だが、このタイムスタンプが変更されることはない。
 
 @vindex TZ
-タイムスタンプは、タイムゾーンのルールに従うが、そのルールを指定して
-いるのは、環境変数 @env{TZ} である。@env{TZ} が設定されていない場合は、システム
-のデフォルトのルールに従う。 @xref{TZ Variable,, Specifying the Time Zone
-with @env{TZ}, libc, The GNU C Library Reference Manual}.
-なお、UTC のタイムスタンプを使えば、夏 (冬) 時間への
-移行時の曖昧さを避けることができる。
+タイムスタンプは、タイムゾーンのルールに従うが、そのルールを指定しているのは、環境変数 @env{TZ} である。
+@env{TZ} が設定されていない場合は、システムのデフォルトのルールに従う。
+@xref{TZ Variable,, Specifying the Time Zone with @env{TZ},
+libc, The GNU C Library Reference Manual}.
+なお、UTC のタイムスタンプを使えば、夏 (冬) 時間への移行時の曖昧さを避けることができる。
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 
@@ -11620,7 +11395,7 @@ with @env{TZ}, libc, The GNU C Library Reference Manual}.
 @opindex --no-create
 存在しないファイルについて警告を出さず、ファイルの作成もしない。
 
-@item -d
+@item -d @var{time}
 @itemx --date=@var{time}
 @opindex -d
 @opindex --date
@@ -11629,10 +11404,9 @@ with @env{TZ}, libc, The GNU C Library Reference Manual}.
 タイムゾーン、@samp{am} や @samp{pm}、@samp{yesterday} なども使うことができる。
 たとえば、@option{--date="2004-02-27 14:19:13.489392193 +0530"} とすると、
 UTC より 5 時間 30 分東のタイムゾーンで、2004 年 2 月 27 日 午後
-2 時 19 分 13 秒 から 489,392,193 ナノ秒経過した瞬間を指定することに
-なる。@xref{Date input formats}.  精度の高いタイムスタンプを
-サポートしていないファイルシステムでは、精度の超過分は単に無視
-される。
+2 時 19 分 13 秒 から 489,392,193 ナノ秒経過した瞬間を指定することになる。
+@xref{Date input formats}.  精度の高いタイムスタンプをサポートしていないファイルシステムでは、
+精度の超過分は単に無視される。
 
 @item -f
 @opindex -f
@@ -11645,17 +11419,15 @@ UTC より 5 時間 30 分東のタイムゾーンで、2004 年 2 月 27 日 
 @opindex --no-dereference
 @cindex symbolic links, changing time
 @findex lutimes
-シンボリックリンクが参照しているファイルではなく、シンボリック
-リンクのタイムスタンプの変更を試みる。このオプションを使用すると、
-空のファイルは作成されないが、ファイルが存在しないという警告まで
-出ないようにするには、@option{-c} オプションも併せて使用する必要がある。
-すべてのシステムが、シンボリックリンクのタイムスタンプの変更を
-サポートしているわけではない。なぜならば、POSIX 2008 までは、
-下層で動いているシステムに対して、そうした動作のサポートを要求
-していなかったからである。また、システムによっては、シンボリック
-リンクは、調べるだけでアクセス日時が変わってしまうので、変更の
-結果が後々まで残って観察できるのは、更新日時だけだというものも
-ある。なお、このオプションを @option{-r} オプションと一緒に使用すると、
+シンボリックリンクが参照しているファイルではなく、シンボリックリンクのタイムスタンプの変更を試みる。
+このオプションを使用した場合、空のファイルは作成されないが、
+ファイルが存在しないという警告まで出ないようにするには、@option{-c} オプションも併せて使用する必要がある。
+すべてのシステムが、シンボリックリンクのタイムスタンプの変更をサポートしているわけではない。
+なぜならば、POSIX 2008 までは、下層で動いているシステムに対して、
+そうした動作のサポートを要求していなかったからだ。
+また、システムによっては、シンボリックリンクは、調べるだけでアクセス日時が変わってしまうので、
+変更の結果が後々まで残って観察できるのは、更新日時だけだというものもある。
+なお、このオプションを @option{-r} オプションと一緒に使用すると、
 参照するタイムスタンプが、リンクが指しているファイルからではなく、
 シンボリックリンクから取得される。
 
@@ -11672,40 +11444,42 @@ UTC より 5 時間 30 分東のタイムゾーンで、2004 年 2 月 27 日 
 @itemx --reference=@var{file}
 @opindex -r
 @opindex --reference
-現在の日時の代わりに、参照ファイル @var{file} の日時を使用する。この
\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92 @option{--date=@var{time}} (@option{-d @var{time}}) ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¨çµ\84ã\81¿å\90\88ã\82\8fã\81\9bã\81¦
-使うと、@var{time} が相対時間で指定されている場合は、参照ファイル @var{file}
-の日時がその基点となるが、それ以外の場合は、@var{file} の日時は無視され
\82\8bã\80\82ã\81\9fã\81¨ã\81\88ã\81°ã\80\81@samp{-r foo -d '-5 seconds'} ã\81¯ã\80\81@file{foo} ã\81®ã\82¿ã\82¤ã\83 ã\82¹ã\82¿ã\83³ã\83\97
-より 5 秒前のタイムスタンプを指定している。@var{file} がシンボリック
-リンクの場合は、@option{-h} が同時に有効になっていないかぎり、参照する
-タイムスタンプは、シンボリックリンクの参照先から取得される。
+現在の日時の代わりに、参照ファイル @var{file} の日時を使用する。
\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92 @option{--date=@var{time}} (@option{-d @var{time}})
+オプションと組み合わせて使うと、@var{time} が相対時間で指定されている場合は、参照ファイル
+@var{file} の日時がその基点となるが、それ以外の場合は、@var{file} の日時は無視される。
\81\9fã\81¨ã\81\88ã\81°ã\80\81@samp{-r foo -d '-5 seconds'} ã\81¯ã\80\81@file{foo} ã\81®ã\82¿ã\82¤ã\83 ã\82¹ã\82¿ã\83³ã\83\97ã\82\88ã\82\8a
+5 秒前のタイムスタンプを指定している。
+@var{file} がシンボリックリンクの場合は、@option{-h} が同時に有効になっていないかぎり、
+参照するタイムスタンプは、シンボリックリンクの参照先から取得される。
 
 @item -t [[@var{cc}]@var{yy}]@var{mmddhhmm}[.@var{ss}]
 @cindex leap seconds
-現在の日時の代わりに、@option{-t} オプションの引数を使用する (引数の構成
-は、4 桁または 2 桁の年 (省略可)、月、日、時、分、秒 (秒も省略可)
+現在の日時の代わりに、@option{-t} オプションの引数を使用する
+(引数の構成は、4 桁または 2 桁の年 (省略可)、月、日、時、分、秒 (秒も省略可)
 である)。年が 2 桁のみ指定された場合、0 @dots{} 68 の範囲の年ならば、
 @var{cc} は 20 であり、69 @dots{} 99 の範囲の年では、@var{cc} は 19 である。
-年が全く指定されない場合は、引数は今年の日付だと解釈される。閏秒に
-対応している例外的なシステムでは、@var{ss} が @samp{60} のこともありえる。
+年が全く指定されない場合は、引数は今年の日付だと解釈される。
+閏秒に対応している例外的なシステムでは、@var{ss} が @samp{60} のこともありえる。
 
 @end table
 
 @vindex _POSIX2_VERSION
-古めのシステムでは、@command{touch} は次のような旧式の書式もサポートして
-いる。すなわち、@option{-d}, @option{-r}, @option{-t} のいづれによってもタイムスタンプが指定
-されていず、しかも、2 個以上の @var{file} が指定されていて、最初の @var{file} が
-@samp{@var{mmddhhmm}[@var{yy}]} の形を持ち、それが (@var{yy} が存在するなら、それを先頭に
-移せば) @option{-t} オプションに対する有効な引数と見なすことができる場合に、
-その引数の表している年度が 1969--1999 の範囲にあるならば、その引数を
-ファイル名ではなく、他のファイルに適用する日時と解釈する、というもの
-である。この旧式の動作は、環境変数 @env{_POSIX2_VERSION} によって有効に
-したり、無効にしたりできるが (@pxref{Standards conformance})、移植を
-考慮したスクリプトでは、動作がこの環境変数に依存するコマンドの使用は
-避けるべきである。たとえば、二通りの解釈ができる @samp{touch 12312359 main.c}
-を使うより、@samp{touch ./12312359 main.c} や @samp{touch -t 12312359 main.c} を
-使用した方がよい。
+POSIX 1003.1-2001 以前のシステムでは、@command{touch}
+は次のような旧式の書式をサポートしている。すなわち、@option{-d}, @option{-r},
+@option{-t} オプションのいづれによってもタイムスタンプが指定されていず、しかも、2 個以上の
+@var{file} が指定されていて、最初の @var{file} が
+@samp{@var{mmddhhmm}[@var{yy}]} の形を持ち、それが
+(@var{yy} が存在するなら、それを先頭に移せば) @option{-t}
+オプションに対する有効な引数と見なすことができる場合に、その引数の表している年度が
+1969--1999 の範囲にあるならば、その引数をファイル名ではなく、
+他のファイルに適用する日時と解釈する、というものである。
+この旧式の動作は、環境変数 @env{_POSIX2_VERSION} によってコントロールすることができるが
+(@pxref{Standards conformance})、移植を考慮したスクリプトでは、
+動作がこの環境変数に依存するコマンドの使用は避けるべきである。
+たとえば、二通りの解釈ができる @samp{touch 12312359 main.c}
+を使うより、@samp{touch ./12312359 main.c} や @samp{touch -t 12312359 main.c}
+を使用した方がよい。
 
 @exitstatus
 
@@ -11715,16 +11489,16 @@ UTC より 5 時間 30 分東のタイムゾーンで、2004 年 2 月 27 日 
 
 @cindex disk usage
 
-データをいくらでも無限に入れることのできるディスクはない。この章で説明
\81\99ã\82\8bã\82³ã\83\9eã\83³ã\83\89ã\81«ã\81¯ã\80\81使ç\94¨ã\81\97ã\81¦ã\81\84ã\82\8bã\83\87ã\82£ã\82¹ã\82¯å®¹é\87\8fã\82\84å\88©ç\94¨å\8f¯è\83½ã\81ªã\83\87ã\82£ã\82¹ã\82¯å®¹é\87\8fã\82\92å ±å\91\8a
\81\99ã\82\8bã\82\82ã\81®ã\80\81ã\81\9dã\82\8c以å¤\96ã\81®ã\83\95ã\82¡ã\82¤ã\83«æ\83\85å ±ã\82\84ã\83\95ã\82¡ã\82¤ã\83«ã\82¹ã\83\86ã\83¼ã\82¿ã\82¹æ\83\85å ±ã\82\92å ±å\91\8aã\81\99ã\82\8bã\82\82ã\81®ã\80\81
+データをいくらでも無限に入れることのできるディスクはない。
\81\93ã\81®ç« ã\81§èª¬æ\98\8eã\81\99ã\82\8bã\82³ã\83\9eã\83³ã\83\89ã\81«ã\81¯ã\80\81使ç\94¨ã\81\97ã\81¦ã\81\84ã\82\8bã\83\87ã\82£ã\82¹ã\82¯å®¹é\87\8fã\82\84å\88©ç\94¨å\8f¯è\83½ã\81ªã\83\87ã\82£ã\82¹ã\82¯å®¹é\87\8fã\82\92å ±å\91\8aã\81\99ã\82\8bã\82\82ã\81®ã\80\81
+それ以外のファイル情報やファイルステータス情報を報告するもの、
 それに、バッファの内容をディスクに書き込むものがある。
 
 @menu
 * df invocation::            ファイルシステムのディスク使用量を報告する。
 * du invocation::            ファイルのディスク使用量を概算する。
 * stat invocation::          ファイルやファイルシステムのステータスを報告する。
-* sync invocation::          ã\83¡ã\83¢ã\83ªã\81¨ã\83\87ã\82£ã\82¹ã\82¯ã\82\92å\90\8cæ\9c\9fã\81\95ã\81\9bる。
+* sync invocation::          ã\82­ã\83£ã\83\83ã\82·ã\83¥ã\81\95ã\82\8cã\81\9fæ\9b¸ã\81\8dè¾¼ã\81¿ã\82\92æ°¸ç¶\9aç\9a\84ã\81ªè¨\98æ\86¶è£\85ç½®ã\81«å\90\8cæ\9c\9fã\81\99る。
 * truncate invocation::      ファイルサイズの短縮・伸長を行う。
 @end menu
 
@@ -11736,59 +11510,42 @@ UTC より 5 時間 30 分東のタイムゾーンで、2004 年 2 月 27 日 
 @cindex file system disk usage
 @cindex disk usage by file system
 
-@command{df} は、ファイルシステムごとに、使用されているディスク容量と利用可能な
-ディスクス容量を報告する。
-@sp 1
+@command{df} は、ファイルシステムごとに、使用されているディスク容量と利用可能なディスクス容量を報告する。
+
 書式:
 
 @example
 df [@var{option}]@dots{} [@var{file}]@dots{}
 @end example
 
-引数を指定しないと、@command{df} は、現在マウントされているすべてのファイル
-システム (ファイルシステムのタイプを問わない) について、使用されている
-ディスク容量と、利用可能なディスク容量を報告する。引数が指定されている
-場合は、引数として指定された各 @var{file} が存在するファイルシステムについて
-報告する。
+引数を指定しないと、@command{df} は、現在マウントされているすべてのファイルシステム
+(ファイルシステムのタイプを問わない) について、使用されているディスク容量と、利用可能なディスク容量を報告する。
+引数が指定されている場合は、引数として指定された各 @var{file} が存在するファイルシステムについて報告する。
 
-通常、ディスク容量は 1024 バイトを 1 単位として表示するが、この動作は
-変更することができる (@pxref{Block size})。なお、小数点以下は切り上げて
-整数にする。
+通常、ディスク容量は 1024 バイトを 1 単位として表示するが、この動作は変更することができる
+(@pxref{Block size})。なお、小数点以下は切り上げて整数にする。
 
-bind マウントについては、引数が指定されていない場合に @command{df} が
-表示するのは、そのデバイスに関する統計情報のうち、ファイルシステムの
-リスト中で (すなわち、@var{mtab} 中で) マウントポイントの名前が最も短い
-ものに関する情報のみである。すなわち、@option{-a} オプションが指定されて
-いないときは、情報が重複するエントリは表示しない。
+bind マウントについては、引数が指定されていない場合に @command{df} が表示するのは、
+そのデバイスに関する統計情報のうち、ファイルシステムのリスト中で
+(すなわち、@var{mtab} 中で) マウントポイントの名前が最も短いものに関する情報のみである。
+すなわち、@option{-a} オプションが指定されていないときは、情報が重複するエントリは表示しない。
 
-同じ理屈で、ダミーの擬似デバイスについては、そのマウントポイントに
-対する別のマウントエントリが存在し、それが実在のブロックデバイスの
\82\82ã\81®ã\81§ã\81\82ã\82\8aã\80\81ã\81\97ã\81\8bã\82\82ã\83\87ã\83\90ã\82¤ã\82¹ç\95ªå\8f·ã\81\8cå\90\8cã\81\98å ´å\90\88ã\80\81@command{df} ã\81¯æ\93¬ä¼¼ã\83\87ã\83\90ã\82¤ã\82¹ã\81®
-マウントエントリの方は省略する。たとえば、ブート初期に作成される
-擬似ファイルシステムの @samp{rootfs} は、実際のルートデバイスがすでに
-マウントされていれば、デフォルトでは表示されない。
+同じ理屈で、ダミーの擬似デバイスについては、
+そのマウントポイントに対する別のマウントエントリが存在し、
\81\9dã\82\8cã\81\8cå®\9få\9c¨ã\81®ã\83\96ã\83­ã\83\83ã\82¯ã\83\87ã\83\90ã\82¤ã\82¹ã\81®ã\82\82ã\81®ã\81§ã\81\82ã\82\8aã\80\81ã\81\97ã\81\8bã\82\82ã\83\87ã\83\90ã\82¤ã\82¹ç\95ªå\8f·ã\81\8cå\90\8cã\81\98å ´å\90\88ã\80\81
+@command{df} は擬似デバイスのマウントエントリの方は省略する。
+たとえば、ブート初期に作成される擬似ファイルシステムの @samp{rootfs} は、
+実際のルートデバイスがすでにマウントされていれば、デフォルトでは表示されない。
 
 @cindex disk device file
 @cindex device file, disk
-引数 @var{file} がスペシャルファイルに還元され、そのスペシャルファイル
-上に存在するファイルシステムが現在マウントされている場合、@command{df} が
-表示するのは、そのファイルシステムの利用可能な容量であって、デバイス・
-ノードが存在するファイルシステムの利用可能な容量ではない。また、GNU の
-@command{df} は、マウントされていないファイルシステムのディスク使用量を測定
-しようとはしない。なぜなら、ほとんどのファイルシステムにおいて、そういう
-ことを行うには、ファイルシステムの構造について他と全く共通性のない内奥の
-知識が必要だからである。
-@sp 1
-(訳注: このパラグラフの前半については、実際にはもう少し複雑である。
-確かに、/dev/sda5 が /home にマウントされているとき (ついでに、
-/dev/HOME が /dev/sda5 のシンボリックリンクだとしよう)、@samp{df /dev/sda5}
-や @samp{df /dev/HOME} は、/dev/sda5 の情報を表示する。しかし、
-ルートデバイスの場合は、事情が異なる。訳者の手元の linux-3.2.0 に
-coreutils-8.22 という環境で /dev/sda3 が / にマウントされている場合、
-@samp{df /dev/sda3} は、/dev/sda3 上にあるファイルシステムではなく、/dev に
-マウントされた udev ファイルシステムの情報を表示するのである。カーネルや
-coreutils のバージョンによって動作が微妙に違うかもしれないので、実際に
-動かして確認することをお勧めする。)
+引数 @var{file} がスペシャルファイルに還元され、
+そのスペシャルファイル上に存在するファイルシステムが現在マウントされている場合、
+@command{df} が表示するのは、そのファイルシステムの利用可能な容量であって、
+デバイス・ノードが存在するファイルシステムの利用可能な容量ではない。また、GNU の
+@command{df} は、マウントされていないファイルシステムのディスク使用量を測定しようとはしない。
+なぜなら、ほとんどのファイルシステムにおいて、そういうことを行うには、
+ファイルシステムの構造について他と全く共通性のない詳しい情報が必要だからである。
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 
@@ -11798,12 +11555,16 @@ coreutils のバージョンによって動作が微妙に違うかもしれな
 @itemx --all
 @opindex -a
 @opindex --all
-@cindex automounter file systems
 @cindex ignore file systems
-一覧表示にダミーのファイルシステムを含める。そうしたものは、デフォルト
-の表示では省略されている。たいていの場合、そうしたファイルシステムは、
-たとえばオートマウンタのエントリのような、特殊な用途のための擬似
-ファイルシステムである。
+一覧表示に、ダミーのファイルシステム、重複するファイルシステム、アクセスできないファイルシステムも含める。
+そうしたものは、デフォルトでは省略されるのである。
+ダミーのファイルシステムというのは、@samp{/proc} のような特殊用途の擬似ファイルシステムがその典型であり、
+ストレージと結びついていないものだ。
+重複するファイルシステムとは、ローカルやリモートのファイルシステムで、
+ローカルのファイル階層の別の場所にもマウントされているものや、bind マウントされたものである。
+アクセスできないファイルシステムとは、マウントされているが、
+その後そのマウントポイントに他のファイルシステムが二重にマウントされたものや、
+あるいは、マウントポイントのパーミッションなど、他の理由でアクセスできなくなっているものを言う。
 
 @item -B @var{size}
 @itemx --block-size=@var{size}
@@ -11811,23 +11572,7 @@ coreutils のバージョンによって動作が微妙に違うかもしれな
 @opindex --block-size
 @cindex file system sizes
 @var{size} によって単位の大きさを変更してから、サイズを表示する (@pxref{Block size})。
-たとえば、@option{-BG} と指定すれば、1,073,741,824 バイト
-を 1 単位として、サイズを表示する。
-
-@item --total
-@opindex --total
-@cindex grand total of disk size, usage and available space
-すべての引数を処理した後で、全引数からなる総計を表示する。
-このオプションを使用すれば、ディスクの容量、使用した量、使用可能
-な量について、リストされたすべてのデバイスを合わせた総量を知ること
-ができる。
-
-総計の行において @command{df} は @var{source} の列に @samp{"total"} と表示し、
-@var{target}
-の列に @samp{"-"} という文字を表示する (訳注: @var{source}, @var{target} などの列に
-ついては、@option{--output} の説明を参照していただきたい)。@var{source} の列が
-存在しない場合は、@var{target} の列が存在すれば、@command{df} は @var{target} の列に
-@samp{"total"} と表示する。
+たとえば、@option{-BG} と指定すれば、1,073,741,824 バイトを 1 単位として、サイズを表示する。
 
 @optHumanReadable
 
@@ -11840,49 +11585,47 @@ coreutils のバージョンによって動作が微妙に違うかもしれな
 @opindex -i
 @opindex --inodes
 @cindex inode usage
-ブロックの使用量ではなく、inode の使用情報を一覧表示する。inode
-(index node の略称) には、ファイルの所有者、許可属性、タイム
-スタンプ、ディスク上の位置といった、ファイルに関する情報が含まれ
-ている。
+ブロックの使用量ではなく、inode の使用情報を一覧表示する。
+inode (index node の略称) には、ファイルの所有者、許可属性、タイムスタンプ、
+ディスク上の位置といった、ファイルに関する情報が含まれている。
 
 @item -k
 @opindex -k
 @cindex kibibytes for file system sizes
 デフォルトのブロックサイズがどうなっていようと、1 ブロック 1024
-バイトでサイズを表示する (@pxref{Block size})。このオプションは @option{--block-size=1K}
-に等しい。
+バイトでサイズを表示する (@pxref{Block size})。このオプションは
+@option{--block-size=1K} に等しい。
 
 @item -l
 @itemx --local
 @opindex -l
 @opindex --local
 @cindex file system types, limiting output to certain
-一覧表示するのをローカルのファイルシステムに限定する。デフォルトでは、
-リモートのファイルシステムも表示される。
+一覧表示するのをローカルのファイルシステムに限定する。
\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81§ã\81¯ã\80\81ã\83ªã\83¢ã\83¼ã\83\88ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82·ã\82¹ã\83\86ã\83 ã\82\82表示ã\81\95ã\82\8cã\82\8bã\80\82
 
 @item --no-sync
 @opindex --no-sync
 @cindex file system space, retrieving old data more quickly
-使用量に関するデータを取得する前に @code{sync} システムコールを実行
\81\97ã\81ªã\81\84ã\80\82ã\81\9dã\81®ã\81\9fã\82\81ã\80\81å¤\9aæ\95°ã\81®ã\83\87ã\82£ã\82¹ã\82¯ã\82\92æ\90­è¼\89ã\81\97ã\81¦ã\81\84ã\82\8bã\82·ã\82¹ã\83\86ã\83 ã\81§ã\81¯ã\80\81@command{df}
-の実行速度が目に見えて向上するが、システムによっては (特に SunOS
-では)、出力結果がほんの少し古いものになるかもしれない。これが
-デフォルトの動作である。
+使用量に関するデータを取得する前に @code{sync} システムコールを実行しない。
+そのため、多数のディスクを搭載しているシステムでは、@command{df}
+の実行速度が目に見えて向上するが、システムによっては
+(特に SunOS では)、出力結果がほんの少し古いものになるかもしれない。
\81\93ã\82\8cã\81\8cã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81®å\8b\95ä½\9cã\81§ã\81\82ã\82\8bã\80\82
 
 @item --output
-@itemx @w{@kbd{--output}[=@var{field_list}]}
+@itemx --output[=@var{field_list}]
 @opindex --output
-@var{field_list} で定義した出力フォーマットを使用する。@var{field_list} を省略
\81\97ã\81\9få ´å\90\88ã\81¯ã\80\81ã\81\99ã\81¹ã\81¦ã\81®ã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\82\92表示ã\81\99ã\82\8bã\80\82å¾\8cè\80\85ã\81®å ´å\90\88ã\80\81å\88\97ã\81®é \86åº\8fã\81¯ã\80\81
-以下に挙げているフィールドの説明の順序と同じである。
+@var{field_list} で定義した出力フォーマットを使用する。@var{field_list}
\82\92ç\9c\81ç\95¥ã\81\97ã\81\9få ´å\90\88ã\81¯ã\80\81ã\81\99ã\81¹ã\81¦ã\81®ã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\82\92表示ã\81\99ã\82\8bã\80\82
+後者の場合、列の順序は、以下に挙げているフィールドの説明の順序と同じである。
 
-@option{--output} オプションは、@option{-i}, @option{-P}, @option{-T} のどのオプションとも
-一緒に使うことができない。
+@option{--output} オプションは、@option{-i}, @option{-P}, @option{-T}
+のどのオプションとも一緒に使うことができない。
 
-@var{field_list} は、@command{df} の出力に含まれることになる、コンマで区切った
-列のリストであり、このリストによって出力する列の順序を制御する
-ことができる。従って、各フィールドは任意の場所に置くことができるが、
-一度しか使うことができない。
+@var{field_list} は、@command{df} の出力に含まれることになる、コンマで区切った列のリストであり、
+このリストによって出力する列の順序を制御することができる。
+従って、各フィールドは任意の場所に置くことができるが、一度しか使うことができない。
 
 @var{field_list} で使える有効なフィールドの名前は、次のものである。
 @table @samp
@@ -11911,7 +11654,6 @@ inode の総数。
 
 @item file
 ファイル名をコマンドラインで指定した場合、そのファイル名。
-(coreutils-8.22 の新機能)
 @item target
 マウントポイント。
 @end table
@@ -11919,8 +11661,8 @@ inode の総数。
 ブロックや inode の統計情報を表すフィールドは、他の場合と同じく、
 @option{-h} のような数値の大きさを調整するオプションの影響を受ける。
 
-@var{field_list} の定義は、複数の @option{--output} オプションを使用して、
-分割しても構わない。
+@var{field_list} の定義は、複数の @option{--output}
+オプションを使用して、分割しても構わない。
 
 @example
 #!/bin/sh
@@ -11941,24 +11683,23 @@ df --o
 @cindex POSIX output format
 @cindex portable output format
 @cindex output format, portable
-POSIX の出力形式を使用する。デフォルトの形式に似ているが、次の
-点で異なっている。
+POSIX の出力形式を使用する。デフォルトの形式に似ているが、次の点で異なっている。
 
 @enumerate
 @item
-各ファイルシステムついての情報が、常にぴったり 1 行で表示
\81\95ã\82\8cã\80\81ã\83\9eã\82¦ã\83³ã\83\88ã\81\95ã\82\8cã\82\8bã\83\87ã\83\90ã\82¤ã\82¹ã\81\8cã\80\81ã\81\9dã\82\8cã\81®ã\81¿ã\81§ 1 è¡\8cã\82\92å\8d ã\82\81ã\82\8bã\81\93ã\81¨ã\81\8c
\81ªã\81\84ã\80\82ã\81\9dã\81®ã\81\9fã\82\81ã\80\81ã\83\9eã\82¦ã\83³ã\83\88ã\81\95ã\82\8cã\82\8bã\83\87ã\83\90ã\82¤ã\82¹ã\81®å\90\8då\89\8dã\81®é\95·ã\81\95ã\81\8c 20 å­\97ã\82\92
-越えると (たとえば、ネットワーク・マウントの場合にそういう
-ことがありそうだ)、各項目の列がずれることになる。
+各ファイルシステムついての情報が、常にぴったり 1 行で表示され、
\83\9eã\82¦ã\83³ã\83\88ã\81\95ã\82\8cã\82\8bã\83\87ã\83\90ã\82¤ã\82¹ã\81\8cã\80\81ã\81\9dã\82\8cã\81®ã\81¿ã\81§ 1 è¡\8cã\82\92å\8d ã\82\81ã\82\8bã\81\93ã\81¨ã\81\8cã\81ªã\81\84ã\80\82
\81\9dã\81®ã\81\9fã\82\81ã\80\81ã\83\9eã\82¦ã\83³ã\83\88ã\81\95ã\82\8cã\82\8bã\83\87ã\83\90ã\82¤ã\82¹ã\81®å\90\8då\89\8dã\81®é\95·ã\81\95ã\81\8c 20 å­\97ã\82\92è¶\8aã\81\88ã\82\8bã\81¨
+(たとえば、ネットワーク・マウントの場合にそういうことがありそうだ)、
+各項目の列がずれることになる。
 
 @item
 ヘッダ行の項目名が、POSIX に準拠したものになる。
 
 @item
 デフォルトのブロックサイズや出力の書式が、環境変数
-@env{DF_BLOCK_SIZE}, @env{BLOCK_SIZE}, @env{BLOCKSIZE} の影響を受けなく
\81ªã\82\8bã\80\82ã\81¨ã\81¯è¨\80ã\81\88ã\80\81ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81®ã\83\96ã\83­ã\83\83ã\82¯ã\82µã\82¤ã\82ºã\81«ã\81¤ã\81\84ã\81¦ã\81¯ã\80\81
+@env{DF_BLOCK_SIZE}, @env{BLOCK_SIZE}, @env{BLOCKSIZE} の影響を受けなくなる。
+とは言え、デフォルトのブロックサイズについては、
 @env{POSIXLY_CORRECT} の影響だけは、やはり受ける。すなわち、
 @env{POSIXLY_CORRECT} が設定されていれば、ブロックサイズは
 512 バイトであり、さもなければ 1024 バイトである。 @xref{Block size}.
@@ -11969,12 +11710,27 @@ POSIX の出力形式を使用する。デフォルトの形式に似ている
 @item --sync
 @opindex --sync
 @cindex file system space, retrieving current data more slowly
-使用量に関するデータを取得する前に `sync' システムコールを実行
-する。システムによっては (特に SunOS では)、そうすることでより
-最近の結果が得られるが、一般的に言って、このオプションを使用すると、
-@command{df} の実行速度がかなり低下する。ファイルシステムをたくさんマウント
-している場合や、作業が頻繁に行われているファイルシステムでは、
-とりわけ遅くなる。
+使用量に関するデータを取得する前に `sync' システムコールを実行する。
+システムによっては (特に SunOS では)、そうすることでより最近の結果が得られるが、
+一般的に言って、このオプションを使用すると、@command{df} の実行速度がかなり低下する。
+ファイルシステムをたくさんマウントしている場合や、
+作業が頻繁に行われているファイルシステムでは、とりわけ遅くなる。
+
+@item --total
+@opindex --total
+@cindex grand total of disk size, usage and available space
+すべての引数を処理した後で、全引数についての総計を表示する。
+このオプションを使用すれば、ディスクの容量、使用した量、使用可能な量について、
+リストされているすべてのデバイスを合わせた合計を知ることができる。
+引数が一つも指定されていない場合は、@command{df}
+は使用可能な容量の合計に無関係なファイルシステムを除外しようとして、できるだけのことをする。
+重複するリモート・ファイルシステムを計算に入れないといったことをするのである。
+
+総計の行において @command{df} は @var{source} の列に @samp{"total"} と表示し、
+@var{target} の列に @samp{"-"} という文字を表示する (訳注: @var{source},
+@var{target} などの列については、@option{--output} の説明を参照していただきたい)。
+@var{source} の列が存在しない場合は、@var{target} の列が存在すれば、
+@command{df} は @var{target} の列に @samp{"total"} と表示する。
 
 @item -t @var{fstype}
 @itemx --type=@var{fstype}
@@ -11982,9 +11738,8 @@ POSIX の出力形式を使用する。デフォルトの形式に似ている
 @opindex --type
 @cindex file system types, limiting output to certain
 一覧表示するファイルシステムを @var{fstype} というタイプに限定する。
-@option{-t} オプションを複数回使うことによって、複数のタイプのファイル
-システムを指定することができる。デフォルトでは、いかなるタイプの
-ファイルシステムも除外しない。
+@option{-t} オプションを複数回使うことによって、複数のタイプのファイルシステムを指定することができる。
+デフォルトでは、いかなるタイプのファイルシステムも除外しない。
 
 @item -T
 @itemx --print-type
@@ -11992,19 +11747,18 @@ POSIX の出力形式を使用する。デフォルトの形式に似ている
 @opindex --print-type
 @cindex file system types, printing
 各ファイルシステムのタイプを表示する。このとき表示されるタイプは、
-@option{-t} や @option{-x} オプションを使って、一覧表示に含めたり、一覧表示から
-除外したりできるタイプと同じものである。すなわち、表示されるタイプ
\81¯ä½\95ã\81§ã\81\82ã\82\8cã\80\81ã\82·ã\82¹ã\83\86ã\83 ã\81«ã\82\88ã\81£ã\81¦ã\82µã\83\9dã\83¼ã\83\88ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\81¨ã\81\84ã\81\86ã\81\93ã\81¨ã\81 ã\80\82以ä¸\8bã\81«ã\80\81
-よく見受けられるタイプの名前をいくつか挙げておく (当然ながら、
-ここに挙げるものがすべてではない)。
+@option{-t} や @option{-x} オプションを使って、一覧表示に含めたり、
+一覧表示から除外したりできるタイプと同じものである。
\81\99ã\81ªã\82\8fã\81¡ã\80\81表示ã\81\95ã\82\8cã\82\8bã\82¿ã\82¤ã\83\97ã\81¯ä½\95ã\81§ã\81\82ã\82\8cã\80\81ã\82·ã\82¹ã\83\86ã\83 ã\81«ã\82\88ã\81£ã\81¦ã\82µã\83\9dã\83¼ã\83\88ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\81¨ã\81\84ã\81\86ã\81\93ã\81¨ã\81 ã\80\82
+以下に、よく見受けられるタイプの名前をいくつか挙げておく
+(当然ながら、ここに挙げるものがすべてではない)。
 
 @table @samp
 
 @item nfs
 @cindex NFS file system type
-NFS ファイルシステム。すなわち、ネットワーク越しにほかの
-マシンからマウントしているファイルシステム。このタイプ名は、
-あらゆるシステムで共通して使われているようである。
+NFS ファイルシステム。すなわち、ネットワーク越しにほかのマシンからマウントしているファイルシステム。
+このタイプ名は、あらゆるシステムで共通して使われているようである。
 
 @item ext2@r{, }ext3@r{, }ext4@r{, }xfs@r{, }btrfs@dots{}
 @cindex Linux file system types
@@ -12015,8 +11769,8 @@ NFS ファイルシステム。すなわち、ネットワーク越しにほか
 @opindex xfs @r{file system type}
 @opindex btrfs @r{file system type}
 ローカルでマウントしているハードディスクのファイルシステム。
-(ローカルのマウントでは、システムが複数のタイプをサポートして
\81\84ã\82\8bã\81\93ã\81¨ã\82\82ã\81\82ã\82\8bã\80\82ã\81\9fã\81¨ã\81\88ã\81°ã\80\81Linux ã\81\8cã\81\9dã\81\86ã\81 ã\80\82)
+(ローカルのマウントでは、システムが複数のタイプをサポートしていることもある。
+たとえば、Linux がそうだ。)
 
 @item iso9660@r{, }cdfs
 @cindex CD-ROM file system type
@@ -12024,8 +11778,8 @@ NFS ファイルシステム。すなわち、ネットワーク越しにほか
 @cindex ISO9660 file system type
 @opindex iso9660 @r{file system type}
 @opindex cdfs @r{file system type}
-CD や DVD ドライブのファイルシステム。HP-UX は @samp{cdfs} を
-使用し、ほかのシステムのほとんどは @samp{iso9660} を使用している。
+CD や DVD ドライブのファイルシステム。HP-UX は @samp{cdfs} を使用し、
+ほかのシステムのほとんどは @samp{iso9660} を使用している。
 
 @item ntfs@r{,}fat
 @cindex NTFS file system
@@ -12042,26 +11796,29 @@ MS-Windows や MS-DOS で使用されるファイルシステム。
 @itemx --exclude-type=@var{fstype}
 @opindex -x
 @opindex --exclude-type
-一覧表示するファイルシステムを @var{fstype} というタイプ以外のものに
-限定する。@option{-x} オプションを複数回使うことによって、複数のタイプの
-ファイルシステムを除外することができる。デフォルトでは、いかなる
-タイプのファイルシステムも除外しない。
+一覧表示するファイルシステムを @var{fstype} というタイプ以外のものに限定する。
+@option{-x} オプションを複数回使うことによって、複数のタイプのファイルシステムを除外することができる。
+デフォルトでは、いかなるタイプのファイルシステムも除外しない。
 
 @item -v
 無視される。System V 版の @command{df} との互換のためにある。
 
 @end table
 
-@exitstatus 実行に失敗
-しても、何もメッセージが出力されないことがある。そこで、そうしたときに、
-ディレクトリ @var{dir} が @samp{ext3} や @samp{reiserfs} というタイプのファイルシステム
-上にあるかどうかを調べるには、@samp{df -t ext3 -t reiserfs @var{dir}} といった
-コマンドを実行して、終了ステータスを検査すればよい。
+@command{df} がインストールされるのは、利用可能なマウントテーブルを持つシステムだけである。
+従って、移植を考慮したスクリプトは、その存在を当てにしない方がよい。
+
+@exitstatus 実行に失敗しても、全く何も出力されないこともある。
+そういうときに、たとえば、ディレクトリ @var{dir} が @samp{ext3} や
+@samp{reiserfs} というタイプのファイルシステム上にあるかどうかを調べるには、
+@samp{df -t ext3 -t reiserfs @var{dir}} といったコマンドを実行して、
+終了ステータスを検査すればよい。
 
 ファイルシステムのタイプを判断するには、ファイルシステムのリスト
-(@var{mtab}) が必要になる。従って、ファイルシステムのリストを読み込む
-ことができないときに、ファイル名引数とともに @option{-a}, @option{-l}, @option{-t}, @option{-x}
-といったオプションが一つ以上使われた場合、@command{df} は実行に失敗する。
+(@var{mtab}) が必要になる。従って、実行の失敗には、
+ファイルシステムのリストを読み込むことができないときに、ファイル名を示す引数とともに
+@option{-a}, @option{-l}, @option{-t}, @option{-x}
+といったオプションが一つ以上使われた場合が含まれる。
 
 
 @node du invocation
@@ -12071,30 +11828,29 @@ MS-Windows や MS-DOS で使用されるファイルシステム。
 @cindex file space usage
 @cindex disk usage for files
 
-@command{du} は、指定したファイルのディスク使用量を報告する。引数がディレ
-クトリの場合は、サブディレクトリごとのディスク使用量も報告する。
-@sp 1
+@command{du} は、指定した一連のファイルのディスク使用量を報告する。
+引数がディレクトリの場合は、サブディレクトリごとのディスク使用量も報告する。
+
 書式:
 
 @example
 du [@var{option}]@dots{} [@var{file}]@dots{}
 @end example
 
-引数を指定しないと、@command{du} は、カレントディレクトリのディスク使用量を
-報告する。通常、ディスク使用量は 1024 バイトを 1 単位として表示するが、
-この動作は変更することができる (@pxref{Block size})。なお、小数点以下
-は、切り上げて整数にする。
+引数を指定しないと、@command{du} は、カレントディレクトリのディスク使用量を報告する。
+通常、ディスク使用量は 1024 バイトを 1 単位として表示するが、
+この動作は変更することができる (@pxref{Block size})。
\81ªã\81\8aã\80\81å°\8fæ\95°ç\82¹ä»¥ä¸\8bã\81¯ã\80\81å\88\87ã\82\8aä¸\8aã\81\92ã\81¦æ\95´æ\95°ã\81«ã\81\99ã\82\8bã\80\82
 
 2 個以上のハードリンクが同一のファイルを指している場合は、そのうちの
-1 個のみが計算の対象になる。引数 @var{file} の順番によって、どのリンクが計算の
-対象になるかが変わってくるので、引数の順番を変更すると、@command{du} が出力する
-数値が変化するかもしれない。
+1 個のみが計算の対象になる。引数 @var{file} の順番によって、どのリンクが計算の対象になるかが変わってくるので、
+引数の順番を変更すると、@command{du} が出力する数値や項目が変化するかもしれない。
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 
 @table @samp
 
-@optNull{du}
+@optNull
 
 @item -a
 @itemx --all
@@ -12104,15 +11860,15 @@ du [@var{option}]@dots{} [@var{file}]@dots{}
 
 @item --apparent-size
 @opindex --apparent-size
-ディスクの使用量ではなく、見かけのサイズを表示する。ファイルの
-見かけのサイズとは、通常ファイルに対して @code{wc -c}、あるいは、もっと
-普通に @code{ls -l --block-size=1} や @code{stat --format=%s} を実行したとき
\81«è¿\94ã\81\95ã\82\8cã\82\8bã\83\90ã\82¤ã\83\88æ\95°ã\81§ã\81\82ã\82\8bã\80\82ã\81\9fã\81¨ã\81\88ã\81°ã\80\81@samp{zoo} ã\81¨ã\81\84ã\81\86å\8d\98èª\9eã\82\92æ\94¹è¡\8cã\82\92ä»\98ã\81\91ã\81\9a
\81«æ\9b¸ã\81\8dè¾¼ã\82\93ã\81 ã\83\95ã\82¡ã\82¤ã\83«ã\81ªã\82\89ã\80\81å½\93ç\84¶ã\81ªã\81\8cã\82\89ã\80\81è¦\8bã\81\8bã\81\91ã\81®ã\82µã\82¤ã\82ºã\81¯ 3 ã\81«ã\81ªã\82\8bã\80\82
-だが、そうした小さなファイルも、そのファイルが存在するファイル
\82·ã\82¹ã\83\86ã\83 ã\81®ã\82¿ã\82¤ã\83\97ã\81¨è¨­å®\9a次第ã\81§ã\80\810 ã\81\8bã\82\89 16 KiBã\80\81ã\81\82ã\82\8bã\81\84ã\81¯ã\80\81ã\81\9dã\82\8c以ä¸\8aã\81®
-ディスクスペースを占有するかもしれないのだ。もっとも、穴空きファ
-イル (sparse file) の場合は事情が別である。たとえば、
+ディスクの使用量ではなく、見かけのサイズを表示する。
+ファイルの見かけのサイズとは、通常ファイルに対して @code{wc -c}、
+あるいは、もっと普通に @code{ls -l --block-size=1} や @code{stat --format=%s}
\82\92å®\9fè¡\8cã\81\97ã\81\9fã\81¨ã\81\8dã\81«è¿\94ã\81\95ã\82\8cã\82\8bã\83\90ã\82¤ã\83\88æ\95°ã\81§ã\81\82ã\82\8bã\80\82
\81\9fã\81¨ã\81\88ã\81°ã\80\81@samp{zoo} ã\81¨ã\81\84ã\81\86å\8d\98èª\9eã\82\92æ\94¹è¡\8cã\82\92ä»\98ã\81\91ã\81\9aã\81«æ\9b¸ã\81\8dè¾¼ã\82\93ã\81 ã\83\95ã\82¡ã\82¤ã\83«ã\81ªã\82\89ã\80\81
+当然ながら、見かけのサイズは 3 になる。
\81 ã\81\8cã\80\81ã\81\9dã\81\86ã\81\97ã\81\9få°\8fã\81\95ã\81ªã\83\95ã\82¡ã\82¤ã\83«ã\82\82ã\80\81ã\81\9dã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81\8cå­\98å\9c¨ã\81\99ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\82·ã\82¹ã\83\86ã\83 ã\81®ã\82¿ã\82¤ã\83\97ã\81¨è¨­å®\9a次第ã\81§ã\80\81
+0 から 16 KiB、あるいは、それ以上のディスクスペースを占有するかもしれないのだ。
\82\82ã\81£ã\81¨ã\82\82ã\80\81穴空ã\81\8dã\83\95ã\82¡ã\82¤ã\83« (sparse file) ã\81®å ´å\90\88ã\81¯äº\8bæ\83\85ã\81\8cå\88¥ã\81§ã\81\82ã\82\8bã\80\82ã\81\9fã\81¨ã\81\88ã\81°ã\80\81
 
 @example
 dd bs=1 seek=2GiB if=/dev/null of=big
@@ -12129,8 +11885,7 @@ dd bs=1 seek=2GiB if=/dev/null of=big
 @opindex --block-size
 @cindex file sizes
 @var{size} によって単位の大きさを変更してから、サイズを表示する (@pxref{Block size})。
-たとえば、@option{-BG} と指定すれば、1,073,741,824 バイト
-を 1 単位として、サイズを表示する。
+たとえば、@option{-BG} と指定すれば、1,073,741,824 バイトを 1 単位として、サイズを表示する。
 
 @item -b
 @itemx --bytes
@@ -12144,29 +11899,28 @@ dd bs=1 seek=2GiB if=/dev/null of=big
 @opindex --total
 @cindex grand total of disk space
 すべての引数を処理した後で、全引数からなる総計を表示する。
-このオプションを使用すれば、指定したファイルやディレクトリについて
-ディスク使用量の合計を知ることができる。
+このオプションを使用すれば、指定したファイルやディレクトリについてディスク使用量の合計を知ることができる。
 
 @item -D
 @itemx --dereference-args
 @opindex -D
 @opindex --dereference-args
 コマンドラインで引数に指定されたシンボリックリンクの参照を行う。
-コマンドライン引数以外のシンボリックリンクには影響がない。この
\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯ã\80\81@file{/usr/tmp} ã\81®ã\82\88ã\81\86ã\81ªã\80\81ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81§ã\81\82ã\82\8bã\81\93ã\81¨ã\81\8c
-多いディレクトリのディスク使用量を調べるときに、重宝である。
+コマンドライン引数以外のシンボリックリンクには影響がない。
\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯ã\80\81@file{/usr/tmp} ã\81®ã\82\88ã\81\86ã\81ªã\80\81
+シンボリックリンクであることが多いディレクトリのディスク使用量を調べるときに、重宝である。
 
 @item -d @var{depth}
 @itemx --max-depth=@var{depth}
 @opindex -d @var{depth}
 @opindex --max-depth=@var{depth}
 @cindex limiting output of @command{du}
-ディレクトリ階層の基点 (訳注: 要するに、コマンドラインで指定
\81\95ã\82\8cã\81\9fã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ª) ã\81\8bã\82\89æ\9c\80大 @var{DEPTH} æ®µé\9a\8eä¸\8bã\81\8cã\81£ã\81\9fã\81¨ã\81\93ã\82\8dã\81¾ã\81§ã\81«ã\81\82ã\82\8b
-各ディレクトリについて、ディスク使用量の合計を表示する (@option{--all}
-オプションが付いているときは、ファイルについても表示する)。基点
-自体は段階 0 なので、@code{du --max-depth=0} は @code{du -s} と同じことに
-なる。
+ディレクトリ階層の基点 (訳注: 要するに、コマンドラインで指定されたディレクトリ)
\81\8bã\82\89æ\9c\80大 @var{DEPTH} æ®µé\9a\8eä¸\8bã\81\8cã\81£ã\81\9fã\81¨ã\81\93ã\82\8dã\81¾ã\81§ã\81«ã\81\82ã\82\8bå\90\84ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81«ã\81¤ã\81\84ã\81¦ã\80\81
+ディスク使用量の合計を表示する (@option{--all}
+オプションが付いているときは、ファイルについても表示する)。
+基点自体は段階 0 なので、@code{du --max-depth=0} は @code{du -s}
\81¨å\90\8cã\81\98ã\81\93ã\81¨ã\81«ã\81ªã\82\8bã\80\82
 
 @c --files0-from=FILE
 @filesZeroFromOption{du,, @ @option{--total} (@option{-c}) オプションを使用した結果}
@@ -12182,42 +11936,42 @@ dd bs=1 seek=2GiB if=/dev/null of=big
 @cindex inode usage, dereferencing in @command{du}
 ブロックの使用状態ではなく、inode の使用状態をリストする。
 このオプションが役に立つのは、多くのファイルを収納しているために、
-ファイルシステムの inode スペースを大量に消費しているディレクトリ
-を探すときである (@command{df} の @option{--inodes} オプションも参照すること)。
-このオプションは、@option{-a}, @option{-c}, @option{-h}, @option{-l}, @option{-s},
-@option{-S}, @option{-t}, @option{-x}
-といったオプションと組み合わせて使ってもよい。しかし、ブロック
\82µã\82¤ã\82ºé\96¢ä¿\82ã\81®ä»\96ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\80\81ã\81\9fã\81¨ã\81\88ã\81°ã\80\81@option{-b}, @option{-m}, @option{--apparent-size}
-などを渡しても、無視される。(coreutils-8.22 の新機能)
+ファイルシステムの inode スペースを大量に消費しているディレクトリを探すときである
+(@command{df} の @option{--inodes} オプションも参照すること)。
+このオプションは、@option{-a}, @option{-c}, @option{-h}, @option{-l},
+@option{-s}, @option{-S}, @option{-t}, @option{-x}
+といったオプションと組み合わせて使ってもよい。
\81\97ã\81\8bã\81\97ã\80\81ã\83\96ã\83­ã\83\83ã\82¯ã\82µã\82¤ã\82ºé\96¢ä¿\82ã\81®ä»\96ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\80\81ã\81\9fã\81¨ã\81\88ã\81°ã\80\81@option{-b}, @option{-m},
+@option{--apparent-size} などを渡しても、無視される。
 
 @item -k
 @opindex -k
 @cindex kibibytes for file sizes
 デフォルトのブロックサイズがどうなっていようと、1 ブロック 1024
-バイトでサイズを表示する (@pxref{Block size})。このオプションは @option{--block-size=1K}
-に等しい。
+バイトでサイズを表示する (@pxref{Block size})。このオプションは
+@option{--block-size=1K} に等しい。
 
 @item -L
 @itemx --dereference
 @opindex -L
 @opindex --dereference
 @cindex symbolic links, dereferencing in @command{du}
-シンボリックリンクの参照を行う (リンク自体のディスク使用量では
\81ªã\81\8fã\80\81ã\83ªã\83³ã\82¯ã\81\8cæ\8c\87ã\81\97ã\81¦ã\81\84ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\82\84ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81®ä½¿ç\94¨é\87\8fã\82\92表示ã\81\99ã\82\8b\80\82
+シンボリックリンクの参照を行う (リンク自体のディスク使用量ではなく、
+リンクが指しているファイルやディレクトリの使用量を表示する)。
 
 @item -l
 @itemx --count-links
 @opindex -l
 @opindex --count-links
 @cindex hard links, counting in @command{du}
-すべてのファイルを計算に入れる。すなわち、(ハードリンクとして) 前に
-現れたことがあっても、計算に入れる。
+すべてのファイルを計算に入れる。
+すなわち、(ハードリンクとして) 前に現れたことがあっても、計算に入れる。
 
 @item -m
 @opindex -m
 @cindex mebibytes for file sizes
-デフォルトのブロックサイズを変更し、1 ブロック 1,048,576 バイトの
-ブロック数でサイズを表示する (@pxref{Block size})。
+デフォルトのブロックサイズを変更し、1 ブロック 1,048,576
\83\90ã\82¤ã\83\88ã\81®ã\83\96ã\83­ã\83\83ã\82¯æ\95°ã\81§ã\82µã\82¤ã\82ºã\82\92表示ã\81\99ã\82\8b (@pxref{Block size})ã\80\82
 このオプションは、@option{--block-size=1M} と同じである。
 
 @item -P
@@ -12225,19 +11979,18 @@ dd bs=1 seek=2GiB if=/dev/null of=big
 @opindex -P
 @opindex --no-dereference
 @cindex symbolic links, dereferencing in @command{du}
-@command{du} が出会った各シンボリックリンクについて、シンボリック自体の
-使用ディスクスペースを計算する。
+@command{du} が出会った各シンボリックリンクについて、シンボリック自体の使用ディスクスペースを計算する。
 
 @item -S
 @itemx --separate-dirs
 @opindex -S
 @opindex --separate-dirs
-通常、(@option{--summarize} オプションを使用しない場合の) @command{du} の出力に
-おいて、@var{d} というディレクトリ名の隣に表示されるサイズは、@var{d} 以下に
-あるすべてのエントリのサイズの合計に、@var{d} 自体のサイズを加えたもの
-である。それに対して、@option{--separate-dirs} オプションを指定すると、
-@var{d} というディレクトリ名に対して報告されるサイズは、いかなるサブ
-ディレクトリのサイズも含まないものになる。
+通常、(@option{--summarize} オプションを使用しない場合の)
+@command{du} の出力において、@var{d} というディレクトリ名の隣に表示されるサイズは、
+@var{d} 以下にあるすべてのエントリのサイズの合計に、
+@var{d} 自体のサイズを加えたものである。それに対して、@option{--separate-dirs}
+オプションを指定すると、@var{d} というディレクトリ名に対して報告されるサイズは、
\81\84ã\81\8bã\81ªã\82\8bã\82µã\83\96ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81®ã\82µã\82¤ã\82ºã\82\82å\90«ã\81¾ã\81ªã\81\84ã\82\82ã\81®ã\81«ã\81ªã\82\8bã\80\82
 
 @optSi
 
@@ -12246,8 +11999,7 @@ dd bs=1 seek=2GiB if=/dev/null of=big
 @opindex -s
 @opindex --summarize
 各引数についてその合計ディスク使用量のみを表示する (訳注: すなわち、
-引数がディレクトリの場合、そのサブディレクトリごとの
-情報まで表示しない)。
+引数がディレクトリの場合、そのサブディレクトリごとの情報まで表示しない)。
 
 @item -t @var{size}
 @itemx --threshold=@var{size}
@@ -12255,27 +12007,24 @@ dd bs=1 seek=2GiB if=/dev/null of=big
 @opindex --threshold
 指定された @var{size} を目安にして、表示する対象を取捨する。@var{size} は、
 通常モードではディスク使用量を指し (@pxref{Block size})、@option{--inodes}
-オプションと組み合わせた場合は inode 使用数を指す。(訳注: ディスク
-使用量の目安として使う場合、@var{size} の単位は、デフォルトではバイト
\81§ã\81\82ã\82\8bã\80\82ã\82\82ã\81¡ã\82\8dã\82\93ã\80\81K, M, G ã\81ªã\81©ã\81®æ\8e¥å°¾è¾\9eã\82\92ä»\98ã\81\91ã\82\8bã\81\93ã\81¨ã\82\82ã\81§ã\81\8dã\82\8bã\80\82)
+オプションと組み合わせた場合は inode 使用数を指す。
+(訳注: ディスク使用量の目安として使う場合、@var{size} の単位は、デフォルトではバイトである。
+もちろん、K, M, G などの接尾辞を付けることもできる。)
 
-@var{size} が正の数ならば、@command{du} はサイズがそれ以上である対象のみを
-表示する。
+@var{size} が正の数ならば、@command{du} はサイズがそれ以上である対象のみを表示する。
 
-@var{size} が負の数ならば、@command{du} はサイズがそれ以下である対象のみを
-表示する。
+@var{size} が負の数ならば、@command{du} はサイズがそれ以下である対象のみを表示する。
 
-GNU の @command{find} を使えば、特定のサイズのファイルを見つけることが
\81§ã\81\8dã\82\8bã\80\82ã\81\9dã\82\8cã\81«å¯¾ã\81\97ã\81¦ã\80\81@command{du} ã\81® @option{--threshold} ã\82\92使ã\81\86ã\81¨ã\80\81ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ª
-も指定サイズに基づいて篩い分けることができるのである。
+GNU の @command{find} を使えば、特定のサイズのファイルを見つけることができる。
\81\9dã\82\8cã\81«å¯¾ã\81\97ã\81¦ã\80\81@command{du} ã\81® @option{--threshold} ã\82\92使ã\81\86ã\81¨ã\80\81
\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\82\82æ\8c\87å®\9aã\82µã\82¤ã\82ºã\81«å\9fºã\81¥ã\81\84ã\81¦ç¯©ã\81\84å\88\86ã\81\91ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\81®ã\81§ã\81\82ã\82\8bã\80\82
 
-@option{--threshold} オプションは、@option{--apparent-size} オプションと
-組み合わせることができるのに留意していただきたい。その場合は、
-見かけのサイズに基づいて表示対象を絞り込むことになる。
+@option{--threshold} オプションは、@option{--apparent-size}
+オプションと組み合わせることができるのに留意していただきたい。
+その場合は、見かけのサイズに基づいて表示対象を絞り込むことになる。
 
-@option{--threshold} オプションは、@option{--inodes} オプションと組み合わせる
-こともできる。その場合は、inode 数に基づいて表示対象を絞り込む
-ことになる。
+@option{--threshold} オプションは、@option{--inodes} オプションと組み合わせることもできる。
+その場合は、inode 数に基づいて表示対象を絞り込むことになる。
 
 200 メガバイト以上のサイズを持つディレクトリを捜すには、
 @option{--threshold} オプションを次のように使えばよいだろう。
@@ -12285,8 +12034,7 @@ du --threshold=200MB
 @end example
 
 見かけのサイズが 500 バイト以下のディレクトリやファイルを捜すには
-(@option{-a} を使っていることに注意)、@option{--threshold} を次のように使えば
-よい。
+(@option{-a} を使っていることに注意)、@option{--threshold} を次のように使えばよい。
 
 @example
 du -a -t -500 --apparent-size
@@ -12304,17 +12052,15 @@ du --inodes -x --threshold=20000 /
 @item --time
 @opindex --time
 @cindex last modified dates, displaying in @command{du}
-ディレクトリやそのサブディレクトリに存在するファイルの更新日時
-(modification time) のうちで最も新しいものを、そのディレクトリの
-タイムスタンプとして表示する。
-@sp 1
-(訳注: 少し説明が必要だろう。仮に a というディレクトリがあると
-する。a 以下にあるファイルのうちで z というファイルの更新日時が
-最新だったとしよう (必ずしも a 直下にある必要はなく、a/b/z でも
-a/b/c/z でもよい)。そうすると、@samp{du --time} が a ディレクトリに
-対して示すタイムスタンプは、ファイル z の最終更新日時になる。
+ディレクトリやそのサブディレクトリに存在するファイルについて表示する際に、
+その最終更新日時 (modification time) も表示する。
+
+(訳注: 一つ留意していただきたいことがある。ディレクトリのタイムスタンプについては、
+そのディレクトリ以下にあるファイルのうち (そのディレクトリ直下のファイルとはかぎらない)、
+最終更新日時がもっとも新しいファイルのタイムスタンプと同一のものが表示される。
+すなわち、ディレクトリのタイムスタンプは、@samp{ls -l} で表示されるものとは違うことがあるわけだ。
 このオプションや、そのバリエーションである次の二つのオプションは、
\81\82ã\82\8bã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªä»¥ä¸\8bã\82\92æ\9c\80å¾\8cã\81«ä½¿ç\94¨ã\81\97ã\81\9fã\81®ã\81¯ã\81\84ã\81¤ã\81\8bã\82\92ç\9f¥ã\82\8bã\81®ã\81«ä¾¿å\88©ã\81 。)
\81\82ã\82\8bã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªä»¥ä¸\8bã\82\92æ\9c\80å¾\8cã\81«ä½¿ç\94¨ã\81\97ã\81\9fã\81®ã\81¯ã\81\84ã\81¤ã\81\8bã\82\92ç\9f¥ã\82\8bã\81®ã\81«ä¾¿å\88©ã\81§ã\81\82ã\82\8b。)
 
 @item --time=ctime
 @itemx --time=status
@@ -12323,10 +12069,9 @@ a/b/c/z でもよい)。そうすると、@samp{du --time} が a ディレクト
 @opindex ctime@r{, show the most recent}
 @opindex status time@r{, show the most recent}
 @opindex use time@r{, show the most recent}
-ディレクトリ以下にあるファイルの、更新日時のうちの最新ではなく、
-ステータス変更日時 (inode 中の @samp{ctime}) のうちで最も新しいものを、
-そのディレクトリのタイムスタンプとして表示する。
-@sp 1
+ディレクトリ以下にあるファイルについて表示する際に、最終更新日時ではなく、
+最終ステータス変更日時 (inode 中の @samp{ctime}) を表示する。
+
 (訳注: 原文でもこの三つのオプションを等価なものとして並べているが、
 訳者としては、@option{--time=use} と等価なのは、@option{--time=ctime} ではなく、
 @option{--time=atime} ではないかと思う。ご自分で確かめていただきたい。)
@@ -12336,16 +12081,14 @@ a/b/c/z でもよい)。そうすると、@samp{du --time} が a ディレクト
 @opindex --time
 @opindex atime@r{, show the most recent}
 @opindex access time@r{, show the most recent}
-ディレクトリ以下にあるファイルの、更新日時のうちの最新ではなく、
-アクセス日時 (inode 中の @samp{atime}) のうちで最も新しいものを、その
-ディレクトリのタイムスタンプとして表示する。
+ディレクトリ以下にあるファイルについて表示する際に、最終更新日時ではなく、
+最終アクセス日時 (inode 中の @samp{atime}) を表示する。
 
 @item --time-style=@var{style}
 @opindex --time-style
 @cindex time style
 タイムスタンプを @var{style} 形式で表示する。このオプションは、@option{--time}
-オプションと併せて指定したときにのみ効果がある。@var{style} は以下の一つ
-でなければならない。
+オプションと併せて指定したときにのみ効果がある。@var{style} は以下の一つでなければならない。
 
 @table @samp
 @item +@var{format}
@@ -12358,33 +12101,32 @@ a/b/c/z でもよい)。そうすると、@samp{du --time} が a ディレクト
 @var{format} の解釈は、@env{LC_TIME} ロケール・カテゴリの影響を受ける。
 
 @item full-iso
-タイムスタンプを省略なしで表示する。すなわち、ISO 8601 の
-日付、時刻、タイムゾーンという書式を nanosecond (10 億分の 1 秒)
-の精度で使用するわけだ。一例を挙げると、@samp{2002-03-30 23:45:56.477817180 -0700}
-といった表示になる。この形式は、
-@samp{+%Y-%m-%d %H:%M:%S.%N %z} と同じである。
+タイムスタンプを省略なしで表示する。
+すなわち、ISO 8601 の日付、時刻、タイムゾーンという構成要素を
+nanosecond (10 億分の 1 秒) の精度で使用するわけだ。
+一例を挙げると、@samp{2002-03-30 23:45:56.477817180 -0700}
+といった表示になる。この形式は、@samp{+%Y-%m-%d %H:%M:%S.%N %z} と同じである。
 
 @item long-iso
-ISO 8601 ã\81®æ\9b¸å¼\8fã\81§æ\97¥ä»\98ã\81¨æ\99\82å\88»を分の単位まで表示する。たとえば、
+ISO 8601 ã\81®æ\97¥ä»\98ã\81¨æ\99\82å\88»ã\81®æ§\8bæ\88\90è¦\81ç´ を分の単位まで表示する。たとえば、
 @samp{2002-03-30 23:45}。このタイムスタンプは、@samp{full-iso} タイム
 スタンプより短く、日常作業にはたいてい十分である。この形式は
 @samp{+%Y-%m-%d %H:%M} と同じである。
 
 @item iso
 タイムスタンプに ISO 8601 書式の日付を表示する。たとえば、
-@samp{2002-03-30} といった具合である。この形式は、@samp{+%Y-%m-%d} と
-同じである。
+@samp{2002-03-30} といった具合である。この形式は、@samp{+%Y-%m-%d} と同じである。
 @end table
 
 @vindex TIME_STYLE
-@option{--time-style} オプションのデフォルト値は、環境変数 @env{TIME_STYLE} を
-使って指定することができる。@env{TIME_STYLE} が設定されていない場合、
-デフォルトの形式は @samp{long-iso} である。@command{ls} と共通の @env{TIME_STYLE} を
-使えるようにするため、@samp{+} で始まる @env{TIME_STYLE} の値が、改行を
-含んでいる場合は、改行以後の文字は無視されることになる。また
-@env{TIME_STYLE} の値が @samp{posix-} で始まる場合、@samp{posix-} は無視される。
\81\95ã\82\89ã\81«ã\80\81@env{TIME_STYLE} ã\81®å\80¤ã\81\8c @samp{locale} ã\81®å ´å\90\88ã\80\81@env{TIME_STYLE} ã\81¯ç\84¡è¦\96
-される。
+@option{--time-style} オプションのデフォルト値は、
+環境変数 @env{TIME_STYLE} を使って指定することができる。
+@env{TIME_STYLE} が設定されていない場合、デフォルトの形式は @samp{long-iso} である。
+@command{ls} と共通の @env{TIME_STYLE} を使えるようにするため、
+@samp{+} で始まる @env{TIME_STYLE} の値が、改行を含んでいる場合は
+改行以後の文字は無視されることになる。
\81¾ã\81\9fã\80\81@env{TIME_STYLE} ã\81®å\80¤ã\81\8c @samp{posix-} ã\81§å§\8bã\81¾ã\82\8bå ´å\90\88ã\80\81@samp{posix-} ã\81¯ç\84¡è¦\96ã\81\95ã\82\8cã\82\8bã\80\82
\81\95ã\82\89ã\81«ã\80\81@env{TIME_STYLE} ã\81®å\80¤ã\81\8c @samp{locale} ã\81®å ´å\90\88ã\80\81@env{TIME_STYLE} ã\81¯ç\84¡è¦\96ã\81\95ã\82\8cã\82\8bã\80\82
 
 @item -X @var{file}
 @itemx --exclude-from=@var{file}
@@ -12392,31 +12134,29 @@ ISO 8601 の書式で日付と時刻を分の単位まで表示する。たと
 @opindex --exclude-from=@var{file}
 @cindex excluding files from @command{du}
 @option{--exclude} に似ているが、除外するパターンを @var{file} から 1 行につき
-1 パターン読み込む点が違う。@var{file} が @samp{-} なら、パターンを標準入力
-から読み込む。
+1 パターン読み込む点が違う。@var{file} が @samp{-} なら、パターンを標準入力から読み込む。
 
 @item --exclude=@var{pattern}
 @opindex --exclude=@var{pattern}
 @cindex excluding files from @command{du}
-再帰的な処理を行っているとき、@var{pattern} にマッチするサブディレクトリ
\82\84ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ã\82¹ã\82­ã\83\83ã\83\97ã\81\99ã\82\8bã\80\82ã\81\9fã\81¨ã\81\88ã\81°ã\80\81@code{du --exclude='*.o'} ã\81¨æ\8c\87å®\9a
\81\99ã\82\8bã\81¨ã\80\81å\90\8då\89\8dã\81\8c @samp{.o} ã\81§çµ\82ã\82\8fã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\82\92é\99¤å¤\96ã\81\99ã\82\8bã\81\93ã\81¨ã\81«ã\81ªã\82\8bã\80\82
+再帰的な処理を行っているとき、@var{pattern} にマッチするサブディレクトリやファイルをスキップする。
\81\9fã\81¨ã\81\88ã\81°ã\80\81@code{du --exclude='*.o'} ã\81¨æ\8c\87å®\9aã\81\99ã\82\8bã\81¨ã\80\81å\90\8då\89\8dã\81\8c @samp{.o}
+で終わるファイルを除外することになる。
 
 @item -x
 @itemx --one-file-system
 @opindex -x
 @opindex --one-file-system
 @cindex one file system, restricting @command{du} to
-処理される引数が存在するファイルシステムとは別のファイルシステムに
-あるディレクトリをスキップする。
+処理される引数が存在するファイルシステムとは別のファイルシステムにあるディレクトリをスキップする。
 
 @end table
 
 @cindex NFS mounts from BSD to HP-UX
-BSD システムでは、HP-UX システムから NFS マウントしているファイルに
-ついて、@command{du} は正確な値の半分のサイズを報告する。逆に、HP-UX システム
-では、BSD システムから NFS マウントしているファイルについて、@command{du} は
-正確な値の 2 倍のサイズを報告する。これは HP-UX にある欠陥のせいであり、
+BSD システムでは、HP-UX システムから NFS マウントしているファイルについて、
+@command{du} は正確な値の半分のサイズを報告する。逆に、HP-UX システムでは、
+BSD システムから NFS マウントしているファイルについて、@command{du}
+正確な値の 2 倍のサイズを報告する。これは HP-UX にある欠陥のせいであり、
 HP-UX の @command{du} プログラムも、そのとばっちりを受けているのである。
 
 @exitstatus
@@ -12430,18 +12170,17 @@ HP-UX の @command{du} プログラムも、そのとばっちりを受けてい
 @cindex file system status
 
 @command{stat} は指定されたファイルに関する情報を表示する。
-@sp 1
+
 書式:
 
 @example
 stat [@var{option}]@dots{} [@var{file}]@dots{}
 @end example
 
-オプションなしで実行すると、@command{stat} は指定されたファイルについて
-すべての情報を報告する。また、@command{stat} を使って、指定されたファイルが
-存在しているファイルシステムの情報を報告させることもできる。ファイルが
-リンクの場合は、リンクが指しているファイルについて情報を提供させること
-も可能だ。
+オプションなしで実行すると、@command{stat}
+は指定されたファイルについてすべての情報を報告する。また、@command{stat}
+を使って、指定されたファイルが存在しているファイルシステムの情報を報告させることもできる。
+ファイルがリンクの場合は、リンクが指しているファイルについて情報を提供させることも可能だ。
 
 @mayConflictWithShellBuiltIn{stat}
 
@@ -12452,29 +12191,28 @@ stat [@var{option}]@dots{} [@var{file}]@dots{}
 @opindex -L
 @opindex --dereference
 @cindex symbolic links, dereferencing in @command{stat}
-@command{stat} がシンボリックリンクを処理する方法を変更する。この
-オプションを付けると、@command{stat} は、引数中の各シンボリックリンク
-が参照しているファイルを操作の対象にする。このオプションがないと、
-@command{stat} が対象にするのは、引数のシンボリックリンクそのものになる。
+@command{stat} がシンボリックリンクを処理する方法を変更する。
+このオプションを付けると、@command{stat} は、引数中の各シンボリックリンクが参照しているファイルを操作の対象にする。
+このオプションがないと、@command{stat} が対象にするのは、引数のシンボリックリンクそのものになる。
 
 @item -f
 @itemx --file-system
 @opindex -f
 @opindex --file-system
 @cindex file systems
-指定されたファイルそのものについての情報ではなく、そのファイルが
-存在しているファイルシステムについての情報を報告する。このオプション
-を指定すると、自動的に @option{-L} オプションも指定される。
+指定されたファイルそのものについての情報ではなく、
+そのファイルが存在しているファイルシステムについての情報を報告する。
\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92æ\8c\87å®\9aã\81\99ã\82\8bã\81¨ã\80\81è\87ªå\8b\95ç\9a\84ã\81« @option{-L} ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\82æ\8c\87å®\9aã\81\95ã\82\8cã\82\8bã\80\82
 
 @item -c
 @itemx --format=@var{format}
 @opindex -c
 @opindex --format=@var{format}
 @cindex output format
-デフォルトの書式の代わりに、@var{format} を使用する。@var{format} の末尾には
-自動的に改行が付けられるので、下記のようなコマンドを 2 個以上の
-@var{file} オペランドに対して実行すると、各オペランドあたり 1 行の
-出力を生じることになる。
+デフォルトの書式の代わりに、@var{format} を使用する。
+@var{format} の末尾には自動的に改行が付けられるので、
+下記のようなコマンドを 2 個以上の @var{file} オペランドに対して実行すると、
\90\84ã\82ªã\83\9aã\83©ã\83³ã\83\89ã\81\82ã\81\9fã\82\8a 1 è¡\8cã\81®å\87ºå\8a\9bã\82\92ç\94\9fã\81\98ã\82\8bã\81\93ã\81¨ã\81«ã\81ªã\82\8bã\80\82
 @example
 $ stat --format=%d:%i / /usr
 2050:2
@@ -12484,12 +12222,12 @@ $ stat --format=%d:%i / /usr
 @item --printf=@var{format}
 @opindex --printf=@var{format}
 @cindex output format
-デフォルトの書式の代わりに、@var{format} を使用する。@option{--format} に似て
\81\84ã\82\8bã\81\8cã\80\81ã\83\90ã\83\83ã\82¯ã\82¹ã\83©ã\83\83ã\82·ã\83¥ã\83»ã\82¨ã\82¹ã\82±ã\83¼ã\83\97ã\82\92解é\87\88ã\81\97ã\81¦å¤\89æ\8f\9bã\81\99ã\82\8bã\80\82ã\81¾ã\81\9fã\80\81
-行末に自動的に改行を付けることもしない。そこで、改行がしたければ、
-@var{format} の中で @samp{\n} を指定する必要がある。@option{--printf} を使って @file{/}
-と @file{/usr} のデバイス番号と inode 番号を表示するには、こんなふうに
-する。
+デフォルトの書式の代わりに、@var{format} を使用する。@option{--format}
\81«ä¼¼ã\81¦ã\81\84ã\82\8bã\81\8cã\80\81ã\83\90ã\83\83ã\82¯ã\82¹ã\83©ã\83\83ã\82·ã\83¥ã\83»ã\82¨ã\82¹ã\82±ã\83¼ã\83\97ã\82\92解é\87\88ã\81\97ã\81¦å¤\89æ\8f\9bã\81\99ã\82\8bã\80\82
+また、行末に自動的に改行を付けることもしない。そこで、改行がしたければ、
+@var{format} 中で @samp{\n} を指定する必要がある。
+@option{--printf} を使って @file{/} と @file{/usr} のデバイス番号と
+inode 番号を表示するには、こんなふうにする。
 @example
 $ stat --printf='%d:%i\n' / /usr
 2050:2
@@ -12503,13 +12241,27 @@ $ stat --printf='%d:%i\n' / /usr
 @cindex terse output
 情報を簡潔な形式で表示する。他のプログラムで解析するときに都合がよい。
 
+下記の二つのコマンドの出力は全く同じである。また、下記の @option{--format}
+は、デフォルトの出力書式が (もっと詳細な形で) 表示する項目とほぼ同じものを指定している。
+もっとも、SELinux セキュリティ・コンテキストが有効になっている場合には、
+このフォーマット文字列の末尾に、もう一つ @samp{%C} を付け加えることになるだろうが。
+@example
+$ stat --format="%n %s %b %f %u %g %D %i %h %t %T %X %Y %Z %W %o" ...
+$ stat --terse ...
+@end example
+
+@option{--file-system} モードのときの簡潔形式の出力を上と同じように説明的に表現すると、
+@example
+$ stat -f --format="%n %i %l %t %s %S %b %f %a %c %d" ...
+$ stat -f --terse ...
+@end example
 @end table
 
-@option{--format} や "@option{--printf} の @var{format} 中で、ファイルに対して使用できる
-書式指定子には以下のものがある。
+@option{--format} や @option{--printf} の @var{format} 中で、
+ファイルに対して使用できる書式指定子には以下のものがある。
 
 @itemize @bullet
-@item %a - 8 進数で表現したアクセス権
+@item %a - 8 進数で表現したアクセス権 (printf のフラグ @samp{#} と @samp{0} に留意)
 @item %A - 人間にわかりやすい形式で表現したアクセス権
 @item %b - 割り当てられているブロック数 (@samp{%B} を参照)
 @item %B - @samp{%b} の報告で使われる 1 ブロックのバイト数
@@ -12524,7 +12276,7 @@ $ stat --printf='%d:%i\n' / /usr
 @item %i - Inode 番号
 @item %m - マウントポイント (下記の説明を参照)
 @item %n - ファイル名
-@item %N - 引用符で囲んだファイル名。シンボリックリンクなら、参照先も表示
+@item %N - 引用符で囲んだファイル名。シンボリックリンクなら、参照先も表示 (下記参照)
 @item %o - I/O 転送サイズの最適値の提案
 @item %s - ファイル全体の大きさ。サイズはバイト数
 @item %t - 16 進数で表現したメジャー・デバイス番号 (下記参照)
@@ -12535,12 +12287,22 @@ $ stat --printf='%d:%i\n' / /usr
 @item %W - Unix 紀元からの秒数で表したファイルの作成日時、または @samp{0}
 @item %x - 最終アクセス日時 (atime)
 @item %X - Unix 紀元からの秒数で表した最終アクセス日時
-@item %y - 最終更新日時 (mtime)
-@item %Y - Unix 紀元からの秒数で表した最終更新日時
+@item %y - 最終データ更新日時 (mtime)
+@item %Y - Unix 紀元からの秒数で表した最終データ更新日時
 @item %z - 最終ステータス変更日時 (ctime)
 @item %Z - Unix 紀元からの秒数で表した最終ステータス変更日時
 @end itemize
 
+@samp{%a} という書式はファイルのモードを 8 進数で表示するので、
+printf の @samp{#} と @samp{0} フラグを使って、出力の先頭のゼロ埋めをコントロールするとよい。
+たとえば、先頭を 0 で埋めて、表示を少なくとも 3 桁にし、それより大きい数値も、
+8 進数であることをはっきりさせるには、@samp{%#03a} を使えばよい。
+
+@samp{%N} の書式は、環境変数 @env{QUOTING_STYLE} によって設定することができる。
+その環境変数が設定されていない場合、デフォルトの値は、@samp{shell-escape}
+である。使用できるクォーティングスタイルには、以下のものがある。
+@quotingStyles
+
 @samp{%t} や @samp{%T} という書式指定子は、stat(2) 構造体の st_rdev メンバ
 に対応するものであり、従って、キャラクタ・スペシャルファイルや
 ブロック・スペシャルファイルに対してしか動作が定義されていない。
@@ -12552,9 +12314,9 @@ $ stat --printf='%d:%i\n' / /usr
 と指定すると、最終アクセス日時がミリ秒の精度で出力される。ピリオド
 だけ指定して、精度を省略すると、@command{stat} は 9 桁を使用する。従って、
 @samp{%.X} は @samp{%.9X} と同じことになるわけだ。なお、余分な精度を捨てる際、
-タイムスタンプは負の無限大方向に切り下げられる (訳注: 日常の言葉で
-言うと、タイムスタンプのような正の数値の場合、指定された桁数より下の
-部分は切り捨てられるということ。以下の例を参照)。
+タイムスタンプは負の無限大方向に切り下げられる (訳注: 平たく言うと、
+タイムスタンプのような正の数値の場合、指定された桁数より下の部分は切り捨てられるということ。
+以下の例を参照)。
 
 @example
 0 で埋める:
@@ -12572,40 +12334,38 @@ $ stat --printf='%d:%i\n' / /usr
   [1288929712.114951834]
 @end example
 
-@samp{%m} によって表示されるマウントポイントは、@command{df} によるマウント
-ポイントの出力とほぼ同じである。ただし、以下の点で異なっている。
+@samp{%m} によって表示されるマウントポイントは、@command{df}
\81«ã\82\88ã\82\8bã\83\9eã\82¦ã\83³ã\83\88ã\83\9dã\82¤ã\83³ã\83\88ã\81®å\87ºå\8a\9bã\81¨ã\81»ã\81¼å\90\8cã\81\98ã\81§ã\81\82ã\82\8bã\80\82ã\81\9fã\81 ã\81\97ã\80\81以ä¸\8bã\81®ç\82¹ã\81§ç\95°ã\81ªã\81£ã\81¦ã\81\84ã\82\8bã\80\82
 @itemize @bullet
 @item
-stat はデフォルトでは、シムリンクの参照を行わない (そのためには、
-@option{-L} を指定する必要がある)。
+stat はデフォルトでは、シムリンクの参照を行わない
+(そのためには、@option{-L} を指定する必要がある)。
 @item
-引数としてデバイスノードが指定された場合、stat はファイルシステムの
-リストを調べて、そのノードを見つけたりはせず、デバイスノードを直接
-動作の対象にする (訳注: すなわち、そのデバイス上に存在するファイル
-システムのマウントポイントではなく、デバイスノードそのもののマウント
-ポイントを表示する)。
+引数としてデバイスノードが指定された場合、
+stat はファイルシステムのリスト中にそのノードを捜し求めたりはせず、
+デバイスノードそのものを動作の対象にする
+(訳注: すなわち、そのデバイス上に存在するファイルシステムのマウントポイントではなく、
\83\87ã\83\90ã\82¤ã\82¹ã\83\8eã\83¼ã\83\89ã\81\9dã\81®ã\82\82ã\81®ã\81®ã\83\9eã\82¦ã\83³ã\83\88ã\83\9dã\82¤ã\83³ã\83\88ã\82\92表示ã\81\99ã\82\8b\80\82
 @item
 @cindex bind mount
-bind マウントされているファイルについては、stat はそのファイルが
-載っているデバイスの最初のマウントポイントではなく、bind マウントで
-指定された別名 (訳注: 原文は alias。@samp{mount --bind olddir newdir}
-における newdir のことか) の方を出力する。出力に変化がなくなる
-まで、再帰的に stat を呼び出せば、現在ベースになっているマウント
-ポイントを知ることができる。
-@sp 1
+bind マウントされているファイルについては、
+stat はそのファイルが載っているデバイスの最初のマウントポイントではなく、
+bind マウントで指定された別名 (訳注: 原文は alias。@samp{mount --bind olddir newdir}
+における newdir のことか) の方を出力する。出力に変化がなくなるまで、
+再帰的に stat を呼び出せば、現在ベースになっているマウントポイントを知ることができる。
+
 (訳注: 訳者には意味不明。「現在ベースになっているマウントポイント
 (the current base mount point)」が、上記訳注の newdir のことなら、
 stat を再帰的に呼び出すまでもない。@samp{stat -c "%m" newdir/@var{FILE}} は、
 newdir を表示する。また the current base mount point が「根底にある
-(すなわち、デバイスを最初にマウントした) マウントポイント」のこと
-なら、stat を再帰的に呼び出しても、それを突き止めることはできない。
+(すなわち、デバイスを最初にマウントした) マウントポイント」のことなら、
+stat を再帰的に呼び出しても、それを突き止めることはできない。
 ひょっとすると、書式指定子に @samp{%m} が追加された coreutils-8.6 から
-coreutils-8.20 あたりまでの stat を linux-2.6 時代の古いカーネルと
-組み合わせて使ったときの動作を言っているのかもしれない。その場合は、
-@samp{stat -c "%m" newdir/@var{FILE}} は上記の olddir を出力するようだ。
+coreutils-8.20 あたりまでの stat を
+linux-2.6 時代の古いカーネルと組み合わせて使ったときの動作を言っているのかもしれない。
+その場合は、@samp{stat -c "%m" newdir/@var{FILE}} は上記の olddir を出力するようだ。
 従って、そうした組み合わせでは、stat を再帰的に実行することで、
-最初にデバイスをマウントしたときのマウントポイントを知ることが
-できる。)
+最初にデバイスをマウントしたときのマウントポイントを知ることができる。)
 @end itemize
 
 ファイルシステムの情報をリストする際には (すなわち、@option{--file-system}
@@ -12627,9 +12387,9 @@ coreutils-8.20 あたりまでの stat を linux-2.6 時代の古いカーネル
 @end itemize
 
 @vindex TZ
-タイムスタンプは、タイムゾーンのルールに従って表示されるが、その
\83«ã\83¼ã\83«ã\82\92æ\8c\87å®\9aã\81\97ã\81¦ã\81\84ã\82\8bã\81®ã\81¯ã\80\81ç\92°å¢\83å¤\89æ\95° @env{TZ} ã\81§ã\81\82ã\82\8bã\80\82@env{TZ} ã\81\8c設å®\9aã\81\95ã\82\8cã\81¦
-いない場合は、システムのデフォルトのルールに従って表示される。
+タイムスタンプは、タイムゾーンのルールに従って表示されるが、
\81\9dã\81®ã\83«ã\83¼ã\83«ã\82\92æ\8c\87å®\9aã\81\97ã\81¦ã\81\84ã\82\8bã\81®ã\81¯ã\80\81ç\92°å¢\83å¤\89æ\95° @env{TZ} ã\81§ã\81\82ã\82\8bã\80\82
+@env{TZ} が設定されていない場合は、システムのデフォルトのルールに従って表示される。
 @xref{TZ Variable,, Specifying the Time Zone with @env{TZ}, libc,
 The GNU C Library Reference Manual}.
 
@@ -12637,29 +12397,63 @@ The GNU C Library Reference Manual}.
 
 
 @node sync invocation
-@section @command{sync}: ã\83\87ã\82£ã\82¹ã\82¯ä¸\8aã\81®ã\83\87ã\83¼ã\82¿ã\82\92ã\83¡ã\83¢ã\83ªã\81¨同期する
+@section @command{sync}: ã\82­ã\83£ã\83\83ã\82·ã\83¥ã\81\95ã\82\8cã\81\9fæ\9b¸ã\81\8dè¾¼ã\81¿ã\82\92æ°¸ç¶\9aç\9a\84ã\81ªè¨\98æ\86¶è£\85ç½®ã\81«同期する
 
 @pindex sync
 @cindex synchronize disk and memory
+@cindex Synchronize cached writes to persistent storage
+
+@command{sync} は、メモリ中のファイルやファイルシステムを永続的な記憶装置に同期する。
+
+書式:
+
+@example
+sync [@var{option}] [@var{file}]@dots{}
+@end example
 
 @cindex superblock, writing
 @cindex inodes, written buffered
-@command{sync} は、メモリにバッファされているあらゆるデータをディスクに
-書き出す。そうした書き出しには、スーパーブロックの変更、 inode の
-変更、遅延読み書きを含むことができる (が、それだけに止まらない)。
+@command{sync} は、メモリ中にバッファされているデータがあれば、それをディスクに書き出す。
+そうした書き出しには、スーパーブロックの変更、inode の変更、遅延読み書きを含むことができる (が、それだけに止まらない)。
 この機能はカーネルによって実装されていなければならない。@command{sync}
-プログラムは、@code{sync} システムコールを実行する以外、何もしないのである。
+プログラムは、システムコールの @code{sync}, @code{syncfs}, @code{fsync},
+@code{fdatasync} を実行する以外、何もしないのである。
 
 @cindex crashes and corruption
-カーネルは、(比較的遅い) ディスクの読み書きをできるだけしないで
-済ますために、メモリにデータを保持している。このことによって、動作速度
-が向上するが、コンピュータがクラッシュした場合、データが失われたり、
-ファイルシステムが壊れたりという結果が生じかねない。@command{sync} コマンドを
-使えば、メモリ上にあるすべてが間違いなくディスクに書き出されることに
-なる。
+カーネルは、(比較的遅い) ディスクの読み書きをできるだけしないで済ますために、
+メモリにデータを保持している。このことによって、動作速度が向上するが、
+コンピュータがクラッシュした場合、データが失われたり、
+ファイルシステムが壊れたりという結果が生じかねない。@command{sync} コマンドは、
+カーネルに命じて、メモリ上にあるデータを永続的な記憶装置に書き出させるのである。
+
+引数を指定すると、デフォルトでは指定されたファイルのみが
+fsync(2) システムコールを使って同期されることになる。
+
+1 個以上のファイルを指定した場合は、以下のオプションを使って同期方法を変更することができる。
+使用できるオプションについては、次の章も参照していただきたい。
+@ref{Common options}.
+
+@table @samp
+@item -d
+@itemx --data
+@opindex --data
+fdatasync(2) を使用して、ファイルのデータと、ファイルシステムの整合性を維持するのに必要なメタデータのみを同期する。
 
-@option{--help} や @option{--version} を単独で使用することはできるが、それ以外の
-いかなる引数も無視される (@pxref{Common options})。
+@item -f
+@itemx --file-system
+@opindex --file-system
+指定したファイルが存在するファイルシステムに対して I/O 待ちになっているすべてのデータを
+syncfs(2) システムコールを使用して、同期する。
+注意していただきたいが、たとえば @samp{/dev/sda} といったデバイスノードを引数として渡すときは、
+このオプションを普通は指定しないはずである。
+そんなことをすると、@samp{/dev/sda} で参照されるファイルシステムではなく、
+デバイスノードが存在するファイルシステムの同期が行われてしまうからだ。
+また、システムによっては、個々のデバイスノードやファイルを引数として渡すのと、全く引数を使用しないのとでは、
+同期のあり方が違うかもしれないことにも気をつけていただきたい。
+すなわち、fsync(2) に渡される引数がある場合は、書き込みバリア (write barrier)
+が使われることによって、引数を指定しなかったときに使用されるグローバルな sync(2) よりも、
+より確実な保証をもたらすかもしれないのである。
+@end table
 
 @exitstatus
 
@@ -12670,9 +12464,8 @@ The GNU C Library Reference Manual}.
 @pindex truncate
 @cindex truncating, file sizes
 
-@command{truncate} は、各 @var{file} のサイズを指定したサイズにまで短縮したり、引き
-伸ばしたりする。
-@sp 1
+@command{truncate} は、各 @var{file} のサイズを指定したサイズにまで短縮したり、引き伸ばしたりする。
+
 書式:
 
 @example
@@ -12684,10 +12477,10 @@ truncate @var{option}@dots{} @var{file}@dots{}
 
 @cindex sparse files, creating
 @cindex holes, creating files with
-@var{file} が指定したサイズより大きい場合は、データのサイズを越える部分
-は失われる。@var{file} が指定したサイズより小さい場合は、ファイルは引き伸ば
-され、引き伸ばされた部分は、ゼロバイト (ASCII NUL) の連続に見えるよう
-になる (引き伸ばされた部分は、穴空きファイル (sparse file) の穴になる)。
+@var{file} が指定したサイズより大きい場合は、データのサイズを越える部分は失われる。
+@var{file} が指定したサイズより小さい場合は、ファイルは引き伸ばされ、
+引き伸ばされた部分は、ゼロバイト (ASCII NUL) の連続に見えるようになる
+(引き伸ばされた部分は、穴空きファイル (sparse file) の穴になる)。
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 
@@ -12715,16 +12508,17 @@ truncate @var{option}@dots{} @var{file}@dots{}
 @itemx --size=@var{size}
 @opindex -s
 @opindex --size
-各 @var{file} のサイズを @var{size} にする。@option{--io-blocks} が指定されていない
-場合、@var{size} はバイト数である。@multiplierSuffixesNoBlocks{size}
+各 @var{file} のサイズを @var{size} にする。@option{--io-blocks}
+が指定されていない場合、@var{size} はバイト数である。
+@multiplierSuffixesNoBlocks{size}
 
-@var{size} の前に以下の記号の一つを置くと、現在のサイズを元にして、各 @var{file} のサイズを
-調節することができる。
+@var{size} の前に以下の記号の一つを置くと、現在のサイズを元にして、各 @var{file}
+のサイズを調節することができる。
 @example
 @samp{+}  => @var{size} だけ増やす
 @samp{-}  => @var{size} だけ減らす
-@samp{<}  => @var{size} 以下に
-@samp{>}  => @var{size} 以上に
+@samp{<}  => 最大でも @var{size} までにする
+@samp{>}  => 最小でも @var{size} はあるようにする
 @samp{/}  => @var{size} の倍数に切り下げる
 @samp{%}  => @var{size} の倍数に切り上げる
 @end example
@@ -12760,7 +12554,7 @@ truncate @var{option}@dots{} @var{file}@dots{}
 
 @command{echo} は、指定された @var{string} を標準出力に書き出す。その際、各 @var{string}
 の間に 1 個のスペースを置き、行末に改行を付け加える。
-@sp 1
+
 書式:
 
 @example
@@ -12770,9 +12564,9 @@ echo [@var{option}]@dots{} [@var{string}]@dots{}
 @mayConflictWithShellBuiltIn{echo}
 
 このプログラムでは、以下のオプションが使える。参照: @ref{Common options}.
-オプションはオペランドの前に置かなければならない。また、
-通常は特別な引数として使われる @samp{--} は、特別な意味を持たず、他の
-いかなる @var{string} とも同じように扱われる。
+オプションはオペランドの前に置かなければならない。
+また、通常は特別な引数として使われる @samp{--} は、特別な意味を持たず、
+他のいかなる @var{string} とも同じように扱われる。
 
 @table @samp
 @item -n
@@ -12782,8 +12576,8 @@ echo [@var{option}]@dots{} [@var{string}]@dots{}
 @item -e
 @opindex -e
 @cindex backslash escapes
-各 "@var{string} の中に以下に挙げるバックスラッシュでエスケープした
-文字があると、それを解釈して変換する。
+各 "@var{string} の中に以下に挙げるバックスラッシュでエスケープした文字があると、
+それを解釈して変換する。
 
 @table @samp
 @item \a
@@ -12807,40 +12601,40 @@ echo [@var{option}]@dots{} [@var{string}]@dots{}
 @item \\
 バックスラッシュ
 @item \0@var{nnn}
-8 進数 @var{nnn} (0 桁から 3 桁までの 8 進数) で表される 8 ビットの
-値に対応する文字。@var{nnn} が 9 ビットの値だと、9 ビット目 (最上位
-ビット) は無視される。
+8 進数 @var{nnn} (0 桁から 3 桁までの 8 進数) で表される
+8 ビットの値に対応する文字。@var{nnn} が 9 ビットの値だと、9 ビット目
+(最上位ビット) は無視される。
 @item \@var{nnn}
-8 進数 @var{nnn} (1 桁から 3 桁までの 8 進数) で表される 8 ビットの
-値に対応する文字。@var{nnn} が 9 ビットの値だと、9 ビット目 (最上位
-ビット) は無視される。
+8 進数 @var{nnn} (1 桁から 3 桁までの 8 進数) で表される
+8 ビットの値に対応する文字。@var{nnn} が 9 ビットの値だと、9 ビット目
+(最上位ビット) は無視される。
 @item \x@var{hh}
-16 進数 @var{hh} (1 または 2 桁の 16 進数) で表される 8 ビットの
-値に対応する文字。
+16 進数 @var{hh} (1 または 2 桁の 16 進数) で表される 8 ビットの値に対応する文字。
 @end table
 
 @item -E
 @opindex -E
 @cindex backslash escapes
 各 @var{string} の中にあるバックスラッシュ・エスケープの解釈をしない。
-これがデフォルトである。@option{-e} と @option{-E} の両方が指定されている場合は、
-後で指定した方が効果を持つ。
+これがデフォルトである。@option{-e} と @option{-E}
+の両方が指定されている場合は、後で指定した方が効果を持つ。
 
 @end table
 
 @vindex POSIXLY_CORRECT
-環境変数 @env{POSIXLY_CORRECT} が指定されている場合に、@command{echo} の最初の
-引数が (単独の) @option{-n} 以外だと、@command{echo} はそうした引数をオプション
-として扱わずに、形がオプションに似た引数として出力する。たとえば、
-@code{echo -ne hello} は、単なる @samp{hello} ではなく、@samp{-ne hello} を出力する。
+環境変数 @env{POSIXLY_CORRECT} が指定されている場合に、@command{echo}
+の最初の引数が (単独の) @option{-n} 以外だと、@command{echo}
+はそうした引数をオプションとして扱わずに、形がオプションに似た引数として出力する。
+たとえば、@code{echo -ne hello} は、単なる @samp{hello}
+ではなく、@samp{-ne hello} を出力する。
 
 POSIX では、いかなるオプションのサポートも要求していない。また、
 POSIX では、@var{string} がバックスラッシュを含む場合や、最初の引数が @option{-n}
 の場合に、@command{echo} がどう振る舞うかは、実装側で決めることになっている。
-従って、他のシステムで使うことも考慮したプログラムで、行末の改行を
-省略したり、制御文字やバックスラッシュ・エスケープを出力したりする
-必要があるのならば、@command{echo} の代わりに @command{printf} コマンドを使用することを
-考えてもよい。@xref{printf invocation}.
+従って、他のシステムで使うことも考慮したプログラムで、行末の改行を省略したり、
+制御文字やバックスラッシュ・エスケープを出力したりする必要があるのならば、
+@command{echo} の代わりに @command{printf} コマンドを使用することを考えてもよい。
+@xref{printf invocation}.
 
 @exitstatus
 
@@ -12850,40 +12644,39 @@ POSIX では、@var{string} がバックスラッシュを含む場合や、最
 
 @pindex printf
 @command{printf} は、テキストを整形して表示する。
-@sp 1
+
 書式:
 
 @example
 printf @var{format} [@var{argument}]@dots{}
 @end example
 
-@command{printf} は、文字列 @var{format} を表示する。その際、C の @samp{printf} 関数と
\81»ã\81¨ã\82\93ã\81©å\90\8cã\81\98ã\82\84ã\82\8aæ\96¹ã\81§ã\80\81@samp{%} æ\9b¸å¼\8fæ\8c\87å®\9aå­\90ã\81¨ @samp{\} ã\82¨ã\82¹ã\82±ã\83¼ã\83\97ã\82·ã\83¼ã\82±ã\83³ã\82¹ã\82\92解é\87\88
-して、数値や文字列の引数 (上記書式の @var{argument}) を整形する。詳細に
-ついては、次の項目を参照すること。
-@xref{Output Conversion Syntax,, @command{printf} format directives, libc,
-The GNU C Library Reference Manual}.  C の関数との相違点については、
-以下の箇条書きのとおりである。
+@command{printf} は、文字列 @var{format} を表示する。
\81\9dã\81®é\9a\9bã\80\81C ã\81® @samp{printf} é\96¢æ\95°ã\81¨ã\81»ã\81¨ã\82\93ã\81©å\90\8cã\81\98ã\82\84ã\82\8aæ\96¹ã\81§ã\80\81@samp{%} æ\9b¸å¼\8fæ\8c\87å®\9aå­\90ã\81¨
+@samp{\} エスケープシーケンスを解釈して、数値や文字列の引数
+(上記書式の @var{argument}) を整形する。詳細については、次の項目を参照すること。
+@xref{Output Conversion Syntax,, @command{printf} format directives,
+libc, The GNU C Library Reference Manual}.
+C の関数との相違点については、以下の箇条書きのとおりである。
 
 @mayConflictWithShellBuiltIn{printf}
 
 @itemize @bullet
 
 @item
-@var{format} 引数は、指定された @var{argument} のすべてを変換するのに必要な
-だけ、繰り返し使用される。たとえば、@samp{printf %s a b} という
-コマンドは、@samp{ab} を出力する。
+@var{format} 引数は、指定された @var{argument} のすべてを変換するのに必要なだけ、繰り返し使用される。
+たとえば、@samp{printf %s a b} というコマンドは、@samp{ab} を出力する。
 
 @item
-@var{argument} の指定がない場合は、文脈が文字列と数値のどちらを期待して
-いるかによって、空文字列、または 0 を指定したものと見なされる。
+@var{argument} の指定がない場合は、文脈が文字列と数値のどちらを期待しているかによって、
+空文字列、または 0 を指定したものと見なされる。
 たとえば、@samp{printf %sx%d} というコマンドは、@samp{x0} を表示する。
 
 @item
 @kindex \c
-@samp{\c} というエスケープシーケンスが追加されている。@samp{\c} より後の部分
-を、@command{printf} は出力しない。たとえば、@samp{printf 'A%sC\cD%sF' B E} と
-いうコマンドは、@samp{ABC} を表示する。
+@samp{\c} というエスケープシーケンスが追加されている。@samp{\c} より後の部分を、
+@command{printf} は出力しない。たとえば、@samp{printf 'A%sC\cD%sF' B E}
\81¨ã\81\84ã\81\86ã\82³ã\83\9eã\83³ã\83\89ã\81¯ã\80\81@samp{ABC} ã\82\92表示ã\81\99ã\82\8bã\80\82
 
 @item
 16 進数エスケープシーケンス @samp{\x@var{hh}} は、最大でも 2 桁である。
@@ -12893,48 +12686,54 @@ C の @samp{printf ("\x07e")} という文の方は、1 バイトしか表示し
 
 @item
 @kindex %b
-@command{printf} コマンドの書式指定子には、@samp{%b} が追加されている。@samp{%b}
-は、対応する引数文字列中の @samp{\} エスケープシーケンスを、それが
-@var{format} 文字列中にあるときと同じように解釈・変換して、引数文字列
-を表示する。ただし、引数中の 8 進数エスケープシーケンスは @samp{\0@var{ooo}}
-の形を取る。@var{ooo} は 0 から 3 桁の 8 進数である。@samp{\@var{ooo}} が 9 ビット
-の値ならば、9 ビット目 (訳注: すなわち最上位ビット) は無視される。
-@samp{%b} に精度も指定すると、変換した文字列の先頭から何バイトを表示
-するかが、それによって決まる。
+追加された書式指定子 @samp{%b} は、対応する引数文字列中に
+@samp{\} エスケープシーケンスがある場合、それを @var{format}
+文字列中にあるときと同じように解釈・変換して、引数文字列を表示する。
+ただし、引数中の 8 進数エスケープシーケンスは @samp{\0@var{ooo}} の形を取る。
+@var{ooo} は 0 から 3 桁の 8 進数である。@samp{\@var{ooo}} が
+9 ビットの値ならば、9 ビット目 (訳注: すなわち最上位ビット) は無視される。
+@samp{%b} に精度も指定すると、変換した文字列の先頭から何バイトを表示するかが、それによって決まる。
+
+@item
+@kindex %q
+追加された書式指定子 @samp{%q} は、対応する引数文字列を、
+たいていのシェルで入力として再利用できる形で表示する。
+非表示文字は POSIX が提唱している @samp{$''} の書式でエスケープされ、
+シェルのメタ文字は適切にクォートされる。これは、@command{ls --quoting=shell-escape}
+の出力と同じ書式である。
 
 @item
 数値の引数は、単独の C の定数でなければならない。前に @samp{+} や @samp{-}
-が付いていてもよい。たとえば、@samp{printf %.4d -3} は、@samp{-0003} を
-出力する。
+が付いていてもよい。たとえば、@samp{printf %.4d -3} は、@samp{-0003} を出力する。
 
 @item
 @vindex POSIXLY_CORRECT
-数値が期待される引数の先頭文字が @samp{"} や @samp{'} である場合、その引数の
-値は、引用符の直後に来る文字の数値である (訳注: すなわち、一般に
-は、その文字の ASCII コードの 10 進数表記が出力される)。その後に
\81\95ã\82\89ã\81«æ\96\87å­\97ã\81\8cç¶\9aã\81\8få ´å\90\88ã\81¯ã\80\81ç\92°å¢\83å¤\89æ\95° @env{POSIXLY_CORRECT} ã\81\8c設å®\9aã\81\95ã\82\8cã\81¦
-いれば、ただ単に無視され、設定されていなければ、警告が出される。
-一例を挙げておくと、@samp{printf "%d" "'a"} は、ASCII 文字セットを使用
-しているホストでは、@samp{97} を出力する。ASCII における @samp{a} の数値は、
-10 進数表記で 97 だからだ。
+数値が期待される引数の先頭文字が @samp{"} や @samp{'} である場合、
+その引数の値は、引用符の直後に来る文字の数値である
+(訳注: すなわち、一般には、その文字の ASCII コードが出力される)。
\81\9dã\81®å¾\8cã\81«ã\81\95ã\82\89ã\81«æ\96\87å­\97ã\81\8cç¶\9aã\81\8få ´å\90\88ã\81¯ã\80\81ç\92°å¢\83å¤\89æ\95° @env{POSIXLY_CORRECT}
\81\8c設å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\82\8cã\81°ã\80\81ã\81\9fã\81 å\8d\98ã\81«ç\84¡è¦\96ã\81\95ã\82\8cã\80\81設å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\91ã\82\8cã\81°ã\80\81è­¦å\91\8aã\81\8cå\87ºã\81\95ã\82\8cã\82\8bã\80\82
+一例を挙げておくと、@samp{printf "%d" "'a"} は、ASCII
+文字セットを使用しているホストでは、@samp{97} を出力する。
+ASCII における @samp{a} の数値は、10 進数表記で 97 だからだ。
 
 @end itemize
 
 @vindex LC_NUMERIC
-引数が浮動小数点数の場合は、小数部の前にはピリオドを置かなければ
\81ªã\82\89ã\81ªã\81\84ã\80\82ã\81\9fã\81 ã\81\97ã\80\81表示ã\81¯ã\80\81ç\8f¾å\9c¨ã\81®ã\83­ã\82±ã\83¼ã\83«ã\81® @env{LC_NUMERIC} ã\82«ã\83\86ã\82´ã\83ªã\81®
\83«ã\83¼ã\83«ã\81«å\90\88ã\82\8fã\81\9bã\81\9fã\82\82ã\81®ã\81«ã\81ªã\82\8bã\80\82ã\81\9fã\81¨ã\81\88ã\81°ã\80\81å°\8fæ\95°ç\82¹ã\82\92表ã\81\99æ\96\87å­\97ã\81\8cã\82³ã\83³ã\83\9eã\81®
\83­ã\82±ã\83¼ã\83«ã\81§ã\81¯ã\80\81@samp{printf %g 3.14} ã\81¨ã\81\84ã\81\86ã\82³ã\83\9eã\83³ã\83\89ã\81¯ã\80\81@samp{3,14} ã\82\92å\87ºå\8a\9bã\81\99ã\82\8bã\81\8cã\80\81
-@samp{printf %g 3,14} というコマンドはエラーになる。 @xref{Floating point}.
+引数が浮動小数点数の場合は、小数部の前にはピリオドを置かなければならない。
\81\9fã\81 ã\81\97ã\80\81表示ã\81¯ã\80\81ç\8f¾å\9c¨ã\81®ã\83­ã\82±ã\83¼ã\83«ã\81® @env{LC_NUMERIC} ã\82«ã\83\86ã\82´ã\83ªã\81®ã\83«ã\83¼ã\83«ã\81«å\90\88ã\82\8fã\81\9bã\81\9fã\82\82ã\81®ã\81«ã\81ªã\82\8bã\80\82
\81\9fã\81¨ã\81\88ã\81°ã\80\81å°\8fæ\95°ç\82¹ã\82\92表ã\81\99æ\96\87å­\97ã\81\8cã\82³ã\83³ã\83\9eã\81®ã\83­ã\82±ã\83¼ã\83«ã\81§ã\81¯ã\80\81@samp{printf %g 3.14}
\81¨ã\81\84ã\81\86ã\82³ã\83\9eã\83³ã\83\89ã\81¯ã\80\81@samp{3,14} ã\82\92å\87ºå\8a\9bã\81\99ã\82\8bã\81\8cã\80\81@samp{printf %g 3,14}
+というコマンドはエラーになる。 @xref{Floating point}.
 
 @kindex \@var{ooo}
 @kindex \x@var{hh}
-@command{printf} は、@var{format} 中の @samp{\@var{ooo}} を (@var{ooo} が 1 から 3
-桁の 8 進数なら
-ば) 表示すべき 1 バイトを指定している 8 進数と見なす。また、@samp{\x@var{hh}}
-を (@var{hh} が 1 から 2 桁の 16 進数ならば) 表示すべき 1 文字を指定している
-16 進数だと解釈する。ただし、注意していただきたいが、@samp{\@var{ooo}} が 255 より
-大きな 10 進数に相当するときは、@command{printf} は 9 ビット目を無視する。
+@command{printf} は、@var{format} 中の @samp{\@var{ooo}} を
+(@var{ooo} が 1 から 3 桁の 8 進数ならば) 表示すべき 1 バイトを指定している
+8 進数と見なす。また、@samp{\x@var{hh}} を (@var{hh} が 1 から 2 桁の
+16 進数ならば) 表示すべき 1 文字を指定している 16 進数だと解釈する。
+ただし、注意していただきたいが、@samp{\@var{ooo}} が 255 より大きな
+10 進数に相当するときは、@command{printf} は 9 ビット目を無視する。
 従って、たとえば、@samp{printf '\400'} は @samp{printf '\0'} と同じである。
 
 @kindex \uhhhh
@@ -12943,27 +12742,27 @@ C の @samp{printf ("\x07e")} という文の方は、1 バイトしか表示し
 @cindex ISO/IEC 10646
 @vindex LC_CTYPE
 @command{printf} は、ISO C 99 で導入された 2 種類のキャラクタ・シンタクス
-(訳注: 要するに、コードによる文字の指定法) を解釈することができる。
+(訳注: ここでは、コードポイントによる文字の指定法) を解釈することができる。
 一つは、Unicode (ISO/IEC 10646) の文字を 16 ビットで表すための @samp{\u}
 であり、4 桁の 16 進数 @var{hhhh} で指定する。もう一つは、Unicode の文字を
-32 ビットで表すための @samp{\U} で、こちらは 8 桁の 16 進数 @var{hhhhhhhh} で指定
\81\99ã\82\8bã\80\82@command{printf} ã\81¯ Unicode ã\81®æ\96\87å­\97ã\82\92å\87ºå\8a\9bã\81\99ã\82\8bã\81«å½\93ã\81\9fã\81£ã\81¦ã\80\81@env{LC_CTYPE} ã\81®
-ロケールに従う。なお、U+0000@dots{}U+009F と U+D800@dots{}U+DFFF の範囲にある
-Unicode の文字は、U+0024 ($), U+0040 (@@), U+0060 (`) を除いて、
-このシンタクスでは指定することができない。
+32 ビットで表すための @samp{\U} で、こちらは 8 桁の 16 進数 @var{hhhhhhhh}
\81§æ\8c\87å®\9aã\81\99ã\82\8bã\80\82@command{printf} ã\81¯ Unicode ã\81®æ\96\87å­\97ã\82\92å\87ºå\8a\9bã\81\99ã\82\8bã\81«å½\93ã\81\9fã\81£ã\81¦ã\80\81
+@env{LC_CTYPE} のロケールに従う。なお、U+0000@dots{}U+009F と
+U+D800@dots{}U+DFFF の範囲にある Unicode の文字は、U+0024 ($),
+U+0040 (@@), U+0060 (`) を除いて、このシンタクスでは指定することができない。
 
 @samp{\u} や @samp{\U} を処理するには、フル装備の @code{iconv} の能力が必要である。
-glibc 2.2 以降を採用しているシステムでは、そうした能力は使えるように
-なっている。coreutils パッケージをインストールする前に、@code{libiconv} を
-インストールしている場合も同様だ。どちらにも当てはまらない場合は、@samp{\u}
+glibc 2.2 以降を採用しているシステムでは、そうした能力は使えるようになっている。
+coreutils パッケージをインストールする前に、@code{libiconv}
\82\92ã\82¤ã\83³ã\82¹ã\83\88ã\83¼ã\83«ã\81\97ã\81¦ã\81\84ã\82\8bå ´å\90\88ã\82\82å\90\8cæ§\98ã\81 ã\80\82ã\81©ã\81¡ã\82\89ã\81«ã\82\82å½\93ã\81¦ã\81¯ã\81¾ã\82\89ã\81ªã\81\84å ´å\90\88ã\81¯ã\80\81@samp{\u}
 や @samp{\U} は、変換されずに、そのままの形で表示される。
 
-オプションとして指定できるのは、単独の @option{--help} か @option{--version} だけ
-である。@xref{Common options}.  オプションはオペランドの前に置かなけれ
-ばならない。
+オプションとして指定できるのは、単独の @option{--help} か @option{--version}
+だけである。 @xref{Common options}.  オプションはオペランドの前に置かなければならない。
 
-Unicode のキャラクタ・シンタクスを使えば、ロケールに影響されない方法
-で文字列を書くことができて、便利である。たとえば、次のようにすれば、
+Unicode のキャラクタ・シンタクスを使えば、
+ロケールに縛られないやり方で文字列が書けて、便利である。
+たとえば、次のようにすれば、
 
 @example
 $ env printf '\u20AC 14.95'
@@ -12981,28 +12780,30 @@ $ env printf '\u4e2d\u6587'
 とすれば、漢字の文字列が、すべての中国語のロケール (GB2312, BIG5,
 UTF-8 など) で正しく表示される。
 
-上記の例では、@command{printf} コマンドを @command{env} 経由で呼び出していることに
-注目していただきたい。これは、シェルのエイリアスや組み込み関数ではなく、
+上記の例では、@command{printf} コマンドを @command{env}
+経由で呼び出していることに注目していただきたい。
+これは、シェルのエイリアスや組み込み関数ではなく、
 シェルのサーチパスを使って見つけたプログラムを、確実に実行するためである。
 
-文字列がもっと長い場合でも、各文字に対応する 16 進数コードを一つ
-一つ捜す必要はない。 ASCII 文字に \u エスケープ・シーケンスを混ぜる
-書き方は、JAVA のソースファイルで使用されるエンコーディング (JAVA
-source file encoding) としても知られているが、GNU の recode コマンド
-3.5c 以降を使用すれば、任意の文字列をこのエンコーディングに変換する
-ことができるのだ。以下に示すのは、1 個の短文を、ロケールに影響されずに
-その短文を出力するシェルスクリプトに変換する方法である。
+文字列がもっと長い場合でも、各文字に対応する 16 進数コードを一つ一つ捜す必要はない。
+ASCII 文字に \u エスケープ・シーケンスを混ぜる書き方は、JAVA
+のソースファイルで使用されるエンコーディング (JAVA source file encoding)
+としても知られているが、GNU の recode コマンド 3.5c
+以降を使用すれば、任意の文字列をこのエンコーディングに変換することができるのだ。
+以下に示すのは、1 個の短文を、ロケールの如何に縛られずにその短文を出力するシェルスクリプトに変換する方法である。
 
 @smallexample
 $ LC_CTYPE=zh_TW.big5 /usr/local/bin/printf \
     '\u4e2d\u6587\n' > sample.txt
   #
   # 訳注: もちろん、漢字入力の可能な LANG=zh_TW.big5 (あるいは、
-  #       LANG=ja_JP.eucJP) の環境なら、コマンドラインで直接「中文」
-  #       と打ち込んでもよい。その方が、「各文字に対応する 16 進数
-  #       コードを一つ一つ捜す必要はない」という上記の説明に、
-  #       例としてはふさわしいだろう。LANG=ja_JP.eucJP の場合、
-  #       下のコマンドは、当然ながら、recode eucJP..JAVA になる。
+  #       ja_JP.eucJP や ja_JP.utf8) の環境なら、コマンドラインで
+  #       直接 printf '中文\n' と打ち込んでもよい。その方が、
+  #       「各文字に対応する 16 進数コードを一つ一つ捜す必要はない」
+  #       という上記の説明に、例としてはふさわしいだろう。
+  #       LANG=ja_JP.eucJP の場合、下のコマンドは、当然ながら、
+  #       recode eucJP..JAVA になる。LANG=ja_JP.utf8 なら、
+  #       recode UTF8..JAVA だ。
   #
 $ recode BIG5..JAVA < sample.txt \
     | sed -e "s|^|/usr/local/bin/printf '|" -e "s|$|\\\\n'|" \
@@ -13018,9 +12819,9 @@ $ recode BIG5..JAVA < sample.txt \
 @pindex yes
 @cindex repeated output of a string
 
-@command{yes} は、コマンドラインで指定された引数を、空白で区切り、末尾に
\94¹è¡\8cã\82\92ä»\98ã\81\91ã\81¦ã\80\81æ\84\8få\9b³ç\9a\84ã\81«ä¸­æ\96­ã\81\95ã\82\8cã\82\8bã\81¾ã\81§ (訳注: ã\81\9fã\81¨ã\81\88ã\81° @kbd{CTRL-C} ã\81§
-中断されるまで) 延々と表示する。引数が指定されていない場合は、@samp{y}
+@command{yes} は、コマンドラインで指定された引数を、空白で区切り、
\9c«å°¾ã\81«æ\94¹è¡\8cã\82\92ä»\98ã\81\91ã\81¦ã\80\81æ\84\8få\9b³ç\9a\84ã\81«ä¸­æ\96­ã\81\95ã\82\8cã\82\8bã\81¾ã\81§ (訳注: ã\81\9fã\81¨ã\81\88ã\81° @kbd{CTRL-C}
+中断されるまで) 延々と表示する。引数が指定されていない場合は、@samp{y}
 の後ろに改行を付けて、中断されるまで延々と表示する。
 
 書き込みエラーがあると、@command{yes} はステータス @samp{1} で終了する。
@@ -13037,10 +12838,9 @@ $ recode BIG5..JAVA < sample.txt \
 @cindex commands for exit status
 @cindex exit status commands
 
-この章で説明するのは、その出力よりも終了ステータスの方が主として役に
-立つコマンドである。従って、こうしたコマンドは、シェルの @code{if} 文の
-条件として、あるいは、パイプラインの最後のコマンドとして使用される
-ことが多い。
+この章で説明するのは、その出力よりも終了ステータスの方が主として役に立つコマンドである。
+従って、こうしたコマンドは、シェルの @code{if} 文の条件として、
+あるいは、パイプラインの最後のコマンドとして使用されることが多い。
 
 @menu
 * false invocation::         何もせず、実行失敗のステータスを返す。
@@ -13058,25 +12858,27 @@ $ recode BIG5..JAVA < sample.txt \
 @cindex failure exit status
 @cindex exit status of @command{false}
 
-@command{false} は、実行に失敗したこと (@dfn{failure}) を示す終了ステータス 1 を
-返す以外、何もしない。従って、シェルスクリプト中の、実行に失敗する
-コマンドが必要な場所で、仮のコマンドとして使用することができる。
-最近のほとんどのシェルでは、@command{false} は組み込みコマンドになっている
-ので、スクリプト中で @samp{false} を使う際に使用しているのは、ここで説明
-している @samp{false} ではなく、たぶん組み込みコマンドの方である。
+@command{false} は、実行に失敗したこと (@dfn{failure})
+を示す終了ステータス 1 を返す以外、何もしない。
+従って、シェルスクリプト中の、実行に失敗するコマンドが必要な場所で、
+仮のコマンドとして使用することができる。
+最近のほとんどのシェルでは、@command{false} は組み込みコマンドになっているので、
+スクリプト中で @samp{false} を使う際に使用しているのは、ここで説明している
+@samp{false} ではなく、たぶん組み込みコマンドの方である。
 
 @command{false} は、@option{--help} と @option{--version} オプションを認識する。
 
 このバージョンの @command{false} は、C のプログラムとして実装されている。
-従って、シェルスクリプトによる実装より安全かつ高速であり、アカウントを
-無効化するための安全なダミー・シェルとして使用することができる。
+従って、シェルスクリプトによる実装より安全かつ高速であり、
+アカウントを無効化するための安全なダミー・シェルとして使用することができる。
 
-注意していただきたいが、@command{false} は、@option{--help} や@option{--version} を付けて
-実行した場合でも (このマニュアルで説明している他のすべてのプログラム
-とは違って)、実行失敗のステータスで終了する。
+注意していただきたいが、@command{false} は、@option{--help} や
+@option{--version} を付けて実行した場合でも
+(このマニュアルで説明している他のすべてのプログラムとは違って)、
+実行失敗のステータスで終了する。
 
-移植を考慮したプログラムでは、@command{false} の終了ステータスを 1 だと
-決めてかからない方がよい。GNU 以外のホストでは、終了ステータスが
+移植を考慮したプログラムでは、@command{false} の終了ステータスを
+1 だと決めてかからない方がよい。GNU 以外のホストでは、終了ステータスが
 1 より大きいこともあるからだ。
 
 
@@ -13089,21 +12891,21 @@ $ recode BIG5..JAVA < sample.txt \
 @cindex successful exit
 @cindex exit status of @command{true}
 
-@command{true} は、実行に成功したこと (@dfn{success}) を示す終了ステータス 0 を
-返す以外、何もしない。従って、シェルスクリプト中の、実行に成功する
-コマンドが必要な場所で、仮のコマンドとして使用することができる。
-とは言え、シェルの組み込みコマンド @code{:} (コロン) の方が、同じことを
-より高速に実行してくれるかもしれない。最近のほとんどのシェルでは、
-@command{true} は組み込みコマンドになっているので、スクリプト中で @samp{true} を
-使う際に使用しているのは、ここで説明している @samp{true} ではなく、たぶん
-組み込みコマンドの方である。
+@command{true} は、実行に成功したこと (@dfn{success})
+を示す終了ステータス 0 を返す以外、何もしない。
+従って、シェルスクリプト中の、実行に成功するコマンドが必要な場所で、
+仮のコマンドとして使用することができる。とは言え、シェルの組み込みコマンド
+@code{:} (コロン) の方が、同じことをより高速に実行してくれるかもしれない。
+最近のほとんどのシェルでは、@command{true} は組み込みコマンドになっているので、
+スクリプト中で @samp{true} を使う際に使用しているのは、ここで説明している
+@samp{true} ではなく、たぶん組み込みコマンドの方である。
 
 @command{true} は、@option{--help} と @option{--version} オプションを認識する。
 
-もっとも、@command{true} を 0 以外のステータスで終了させることも可能だと
-いうことも、心に留めておいていただきたい。@option{--help} や @option{--version} を
-使用したとき、標準出力がすでにクローズされていたり、I/O エラーを引き
-起こすようなファイルにリダイレクトしたりすると、そういうことが起きる。
+もっとも、@command{true} を 0 以外のステータスで終了させることも可能だということも、
+心に留めておいていただきたい。@option{--help} や @option{--version}
+を使用したとき、標準出力がすでにクローズされていたり、
+I/O エラーを引き起こすようなファイルにリダイレクトしたりすると、そういうことが起きる。
 たとえば、Bourne 互換のシェルを使用して、次のようにするときだ。
 
 @example
@@ -13114,8 +12916,8 @@ $ ./true --version > /dev/full
 @end example
 
 このバージョンの @command{true} は、C のプログラムとして実装されている。
-従って、シェルスクリプトによる実装より安全かつ高速であり、アカウントを
-無効化するための安全なダミー・シェルとして使用することができる。
+従って、シェルスクリプトによる実装より安全かつ高速であり、
+アカウントを無効化するための安全なダミー・シェルとして使用することができる。
 
 @node test invocation
 @section @command{test}: ファイルタイプのチェックや値の比較を行う
@@ -13125,19 +12927,19 @@ $ ./true --version > /dev/full
 @cindex compare values
 @cindex expression evaluation
 
-@command{test} は、条件式 @var{expression} の評価次第で、0 (真) または 1 (偽) の
-ステータスを返す。式を構成する各部分は、独立した引数でなければならない。
+@command{test} は、条件式 @var{expression} の評価次第で、0 (真) または 1 (偽)
\81®ã\82¹ã\83\86ã\83¼ã\82¿ã\82¹ã\82\92è¿\94ã\81\99ã\80\82å¼\8fã\82\92æ§\8bæ\88\90ã\81\99ã\82\8bå\90\84é\83¨å\88\86ã\81¯ã\80\81ç\8b¬ç«\8bã\81\97ã\81\9få¼\95æ\95°ã\81§ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82
 
-@command{test} は、ファイルのステータスを検査することができる。また、文字列を
-扱う演算子や、数値を比較するための演算子も備えている。
+@command{test} は、ファイルのステータスを検査することができる。
+また、文字列を扱う演算子や、数値を比較するための演算子も備えている。
 
-@command{test} には、@samp{test} で始める書式のほかに、一対の角カッコを使用する
\82\82ã\81\86ä¸\80ã\81¤ã\81®æ\9b¸å¼\8fã\81\8cã\81\82ã\82\8bã\80\82ã\81\9fã\81¨ã\81\88ã\81°ã\80\81@samp{test -d /} ã\81®ä»£ã\82\8fã\82\8aã\81«ã\80\81@samp{[ -d / ]} ã\81¨
-書いても構わない。角カッコは、それぞれ独立した引数でなければならない
-(訳注: 言い換えれば、他の引数と空白で分離されていなければならない)。
\81 ã\81\8bã\82\89ã\80\81ã\81\9fã\81¨ã\81\88ã\81°ã\80\81@samp{[-d /]} ã\81§ã\81¯ã\80\81æ\9c\9bã\81¿ã\81®çµ\90æ\9e\9cã\82\92å¾\97ã\82\89ã\82\8cã\81ªã\81\84ã\82\8fã\81\91ã\81 ã\80\82@samp{test
-@var{expression}} と @samp{[ @var{expression} ]} は、同じ意味なので、以下では前者の書式
-についてのみ解説する。
+@command{test} には、@samp{test} で始める書式のほかに、一対の角カッコを使用するもう一つの書式がある。
\81\9fã\81¨ã\81\88ã\81°ã\80\81@samp{test -d /} ã\81®ä»£ã\82\8fã\82\8aã\81«ã\80\81@samp{[ -d / ]}
+と書いてもよい。角カッコは、独立した引数でなければならない
+(訳注: すなわち、他の引数と空白で分離されていなければならない)。
\81 ã\81\8bã\82\89ã\80\81ã\81\9fã\81¨ã\81\88ã\81°ã\80\81@samp{[-d /]} ã\81§ã\81¯ã\80\81æ\9c\9bã\81¿ã\81®çµ\90æ\9e\9cã\82\92å¾\97ã\82\89ã\82\8cã\81ªã\81\84ã\81\93ã\81¨ã\81«ã\81ªã\82\8bã\80\82
+@samp{test @var{expression}} と @samp{[ @var{expression} ]}
\81¯ã\80\81å\90\8cã\81\98æ\84\8få\91³ã\81ªã\81®ã\81§ã\80\81以ä¸\8bã\81§ã\81¯å\89\8dè\80\85ã\81®æ\9b¸å¼\8fã\81«ã\81¤ã\81\84ã\81¦ã\81®ã\81¿è§£èª¬ã\81\99ã\82\8bã\80\82
 
 書式:
 
@@ -13151,15 +12953,14 @@ test
 
 @mayConflictWithShellBuiltIn{test}
 
-@var{expression} を省略した場合、@command{test} は、偽を返す。@var{expression} が引数
-1 個だけだった場合、@command{test} は、その引数が空 (null) ならば、偽を返し、さも
-なければ、真を返す。引数には、@samp{-d}, @samp{-1}, @samp{--}, @samp{--help},
-@samp{--version} と
-いった、他のほとんどのプログラムでなら、オプションとして扱われるものも
-含めて、どんな文字列でも指定することができる。そこで、ヘルプやバージョン
-情報を取得するには、@samp{[ --help} や @samp{[ --version} という形でコマンドを
-実行する必要がある。この場合、いつもと違って、閉じカッコは付けない。
-@xref{Common options}.
+@var{expression} を省略した場合、@command{test} は、偽を返す。
+@var{expression} が引数 1 個だけだった場合、@command{test}
+は、その引数が空 (null) ならば、偽を返し、さもなければ、真を返す。
+引数には、@samp{-d}, @samp{-1}, @samp{--}, @samp{--help}, @samp{--version}
+といった、他のほとんどのプログラムでなら、オプションとして扱われるものも含めて、
+どんな文字列でも指定することができる。そこで、ヘルプやバージョン情報を取得するには、
+@samp{[ --help} や @samp{[ --version} という形でコマンドを実行する必要がある。
+この場合、いつもと違って、閉じカッコは付けない。 @xref{Common options}.
 
 @cindex exit status of @command{test}
 終了ステータス:
@@ -13181,13 +12982,12 @@ test
 
 
 @node File type tests
-@subsection File type tests
+@subsection ファイルタイプのテスト
 
 @cindex file type tests
 
-以下のオプションは、ある特定のファイルタイプか否かの検査を行う。(Unix
-では、あらゆるものがファイルだ。だが、ファイルならみんな同じだという
-わけではない!)
+以下のオプションは、ある特定のファイルタイプか否かの検査を行う。
+(Unix では、あらゆるものがファイルだ。だが、ファイルならみんな同じだというわけではない!)
 
 @table @samp
 
@@ -13216,9 +13016,9 @@ test
 @opindex -L
 @opindex -h
 @cindex symbolic link check
-@var{file} が存在し、シンボリックリンクならば、真。ファイル関係の他の
\81\99ã\81¹ã\81¦ã\81®ã\83\86ã\82¹ã\83\88ã\81¨ã\81¯é\81\95ã\81£ã\81¦ã\80\81ã\81\93ã\81®ã\83\86ã\82¹ã\83\88ã\81¯ã\80\81@var{file} ã\81\8cã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯
-の場合、リンクの参照を行わない。
+@var{file} が存在し、シンボリックリンクならば、真。
\83\95ã\82¡ã\82¤ã\83«é\96¢ä¿\82ã\81®ä»\96ã\81®ã\81\99ã\81¹ã\81¦ã\81®ã\83\86ã\82¹ã\83\88ã\81¨ã\81¯é\81\95ã\81£ã\81¦ã\80\81ã\81\93ã\81®ã\83\86ã\82¹ã\83\88ã\81§ã\81¯ã\80\81@var{file}
\81\8cã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81®å ´å\90\88ã\80\81ã\83ªã\83³ã\82¯ã\81®å\8f\82ç\85§ã\82\92è¡\8cã\82\8fã\81ªã\81\84ã\80\82
 
 @item -p @var{file}
 @opindex -p
@@ -13276,8 +13076,7 @@ test
 @item -x @var{file}
 @opindex -x
 @cindex executable file check
-@var{file} が存在し、実行が許可されていれば (ディレクトリの場合は、
-検索が許可されていれば)、真。
+@var{file} が存在し、実行が許可されていれば (ディレクトリの場合は、検索が許可されていれば)、真。
 
 @item -O @var{file}
 @opindex -O
@@ -13321,8 +13120,8 @@ test
 @item @var{file1} -ot @var{file2}
 @opindex -ot
 @cindex older-than file check
-@var{file1} が @var{file2} より (更新日時で比較して) 古いか、あるいは、@var{file2} が
-存在して、@var{file1} が存在しなければ、真。
+@var{file1} が @var{file2} より (更新日時で比較して) 古いか、あるいは、@var{file2}
+存在して、@var{file1} が存在しなければ、真。
 
 @item @var{file1} -ef @var{file2}
 @opindex -ef
@@ -13339,14 +13138,14 @@ test
 
 @cindex string tests
 
-以下のオプションは、文字列の特性を検査する。シェルに対して引数 @var{string} を
-引用符で保護する必要があるかもしれない。たとえば、こんなふうにだ。
+以下のオプションは、文字列の特性を検査する。シェルに対して引数 @var{string}
+引用符で保護する必要があるかもしれない。たとえば、こんなふうにだ。
 
 @example
 test -n "$V"
 @end example
 
\81\93ã\81\93ã\81§引用符は、@samp{$V} が空だったり、特殊文字を含んでいたりする場合に、
\81\93ã\81\86ã\81\97ã\81\9f引用符は、@samp{$V} が空だったり、特殊文字を含んでいたりする場合に、
 意図に反した引数が @command{test} に渡ることを防いでいる。
 
 @table @samp
@@ -13387,9 +13186,9 @@ test -n "$V"
 @cindex arithmetic tests
 
 数値間の関係を調べる演算子を挙げる。引数は、数字のみで表現される整数か
-(負数も使用できる)、@w{@code{-l @var{string}}} という特別な式でなければならない。後者は
-@var{string} の長さとして評価される。
-@sp 1
+(負数も使用できる)、@w{@code{-l @var{string}}} という特別な式でなければならない。
+後者は @var{string} の長さとして評価される。
+
 (訳注: 要するに、普通は 10 進数の整数を引数として取るということ。
 @command{expr} コマンドとは違って、@command{test} では @samp{+2} といった表現も可能だ。)
 
@@ -13431,25 +13230,49 @@ test 0x100 -eq 1
 @cindex logical connectives
 @cindex connectives, logical
 
-おなじみの論理結合演算子である。
+@command{test} 内蔵のこうした論理結合演算子より、
+シェルの論理基本演算子を使用した方がよいことに留意していただきたい。
+と言うのは、式が、パラメータの展開によっては、曖昧になることがあるからである。
+
+たとえば、次の式は、@samp{$1} が @samp{'!'} であり、@samp{$2} が空文字列
+@samp{''} だと、曖昧になる (訳注: '!' が文字列か否定演算子か、曖昧だということだろう)。
+
+@example
+test "$1" -a "$2"
+@end example
+
+だから、以下のように書いた方がよい。
+
+@example
+test "$1" && test "$2"
+@end example
+
+シェルの論理基本演算子では、作業の簡略化による利益も得られる。
+それは、ファイルの属性のテストを何度もやる場合には、かなりのものになるかもしれない。
 
 @table @samp
 
 @item ! @var{expr}
 @opindex !
-@var{expr} が偽ならば、真。
+@var{expr} が偽ならば、真。@samp{!} は @var{expr} のどの部分よりも優先順位が低い。
+@samp{!} は二項式の左に指定する必要があることに注意していただきたい。
+すなわち、@samp{1 '!' -gt 2} ではなく、@samp{'!' 1 -gt 2} である。
+なお、@samp{!} はシェルの特殊文字であることが多いので、クォートした方が間違いがない。
+
 
 @item @var{expr1} -a @var{expr2}
 @opindex -a
 @cindex logical and operator
 @cindex and operator
 @var{expr1} と @var{expr2} の両方が真ならば、真。
+@samp{-a} は左結合であり、@samp{-o} よりも優先順位が高い。
 
 @item @var{expr1} -o @var{expr2}
 @opindex -o
 @cindex logical or operator
 @cindex or operator
 @var{expr1} と @var{expr2} のどちらかが真ならば、真。
+@samp{-o} は左結合である。
 
 @end table
 
@@ -13466,40 +13289,41 @@ test 0x100 -eq 1
 
 オペランド (演算対象) は、整数か文字列である。整数は、1 個以上の
 10 進数の数字から構成され、先頭に @samp{-} が付いていてもよい。@command{expr} は、
-オペランドの位置にあるものが何であれ、それを整数、または、文字列に
-変換する。どちらになるかは、それに対して行われる演算次第である。
-
-@command{expr} そのものに対しては、文字列をクォートする必要がない。だが、
\82·ã\82§ã\83«ã\81«ã\81¨ã\81£ã\81¦ç\89¹å\88¥ã\81ªæ\84\8få\91³ã\81\8cã\81\82ã\82\8bã\80\81ã\81\9fã\81¨ã\81\88ã\81°ç©ºç\99½ã\81®ã\82\88ã\81\86ã\81ªæ\96\87å­\97ã\82\92ä¿\9dè­·ã\81\99ã\82\8b
-ã\81\9fã\82\81ã\81«ã\81¯ã\80\81æ\96\87å­\97å\88\97ã\82\92å¼\95ç\94¨ç¬¦ã\81§å\9b²ã\82\80ã\81ªã\81©ã\81®æ\96¹æ³\95ã\81§ã\82¯ã\82©ã\83¼ã\83\88ã\81\99ã\82\8bå¿\85è¦\81ã\81\8cã\81\82ã\82\8bã\81\8bã\82\82
\81\97ã\82\8cã\81ªã\81\84ã\80\82ã\81¨ã\81¯è¨\80ã\81\88ã\80\81ã\82¯ã\82©ã\83¼ã\83\88ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\81\8bã\81©ã\81\86ã\81\8bã\81«é\96¢ã\82\8fã\82\8aã\81ªã\81\8fã\80\81æ\96\87å­\97å\88\97ã\81®
-オペランドは、丸カッコ 1 個であってはならないし、@code{+} のような @command{expr}
-の演算子の一つであるべきでもない。すなわち、シェルに対してクォートする
\81 ã\81\91ã\81§ã\81¯ã\80\81ã\82¨ã\83©ã\83¼ã\82\92å¼\95ã\81\8dèµ·ã\81\93ã\81\99ã\81\93ã\81¨ã\81ªã\81\8fã\80\81ä»»æ\84\8fã\81®æ\96\87å­\97å\88\97 @code{$str} ã\82\92 @command{expr} ã\81«
-渡すことはできないのだ。この問題を回避する方法の一つは、GNU の拡張
-である @code{+} 演算子 (訳注: この @code{+} は、算術演算子の @code{+} ではなく、直後に
-来る引数が文字列であることを示す文字列演算子である) を使用することだ
+オペランドの位置にあるものが何であれ、それを整数、または、文字列に変換する。
+どちらになるかは、それに対して行われる演算次第である。
+
+@command{expr} そのものに対しては、文字列をクォートする必要がない。
\81 ã\81\8cã\80\81ã\82·ã\82§ã\83«ã\81«ã\81¨ã\81£ã\81¦ç\89¹å\88¥ã\81ªæ\84\8få\91³ã\81\8cã\81\82ã\82\8bã\80\81ã\81\9fã\81¨ã\81\88ã\81°ç©ºç\99½ã\81®ã\82\88ã\81\86ã\81ªæ\96\87å­\97ã\82\92ä¿\9dè­·ã\81\99ã\82\8bã\81\9fã\82\81ã\81«ã\81¯ã\80\81
+æ\96\87å­\97å\88\97ã\82\92å¼\95ç\94¨ç¬¦ã\81§å\9b²ã\82\80ã\81ªã\81©ã\81®æ\96¹æ³\95ã\81§ã\82¯ã\82©ã\83¼ã\83\88ã\81\99ã\82\8bå¿\85è¦\81ã\81\8cã\81\82ã\82\8bã\81\8bã\82\82ã\81\97ã\82\8cã\81ªã\81\84ã\80\82
\81¨ã\81¯è¨\80ã\81\88ã\80\81ã\82¯ã\82©ã\83¼ã\83\88ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\81\8bã\81©ã\81\86ã\81\8bã\81«é\96¢ã\82\8fã\82\8aã\81ªã\81\8fã\80\81æ\96\87å­\97å\88\97ã\81®ã\82ªã\83\9aã\83©ã\83³ã\83\89ã\81¯ã\80\81
+丸カッコ 1 個であってはならないし、@code{+} のような @command{expr}
+の演算子の一つであるべきでもない。すなわち、シェルに対してクォートするだけでは、
\82¨ã\83©ã\83¼ã\82\92å¼\95ã\81\8dèµ·ã\81\93ã\81\99ã\81\93ã\81¨ã\81ªã\81\8fã\80\81ä»»æ\84\8fã\81®æ\96\87å­\97å\88\97 @code{$str} ã\82\92 @command{expr}
+に渡すことはできないのだ。この問題を回避する方法の一つは、GNU の拡張である
+@code{+} 演算子 (訳注: この @code{+} は、算術演算子の @code{+}
+ではなく、直後に来る引数が文字列であることを示す文字列演算子である) を使用することだ
 (たとえば、@code{+ "$str" = foo} といった具合に)。もっと移植性のある方法は、
-@code{@w{" $str"}} という先頭に空白を入れた表現を使用し、式の残りの部分でも
-それに合わせて、先頭のスペースを考慮に入れるようにすることである
+@code{@w{" $str"}} という先頭に空白を入れた表現を使用し、
+式の残りの部分でもそれに合わせて、先頭のスペースを考慮に入れるようにすることである
 (たとえば、@code{@w{" $str" = " foo"}} のように)。
 
-負の整数や、@samp{-} で始まる文字列を @command{expr} の 1 番目の引数として渡す
-べきではない。オプションと間違われかねないからだ。それを避けるため
\81«ã\81¯ã\80\81ã\82«ã\83\83ã\82³ã\81§ã\81\8fã\81\8fã\82\8cã\81°ã\82\88ã\81\84 (訳注: ã\81\9fã\81¨ã\81\88ã\81°ã\80\81@code{expr \( -1 + 1 \)})ã\80\82
-また、移植を考慮したスクリプトでは、文字列のオペランドに、形が整数と
-同じになってしまうものを使うべきではない。こちらは、先頭にスペースを
-入れる上記の方法で回避できる。
+負の整数や、@samp{-} で始まる文字列を @command{expr} の
+1 番目の引数として渡すべきではない。オプションと間違われかねないからだ。
\81\9dã\82\8cã\82\92é\81¿ã\81\91ã\82\8bã\81\9fã\82\81ã\81«ã\81¯ã\80\81ã\82«ã\83\83ã\82³ã\81§ã\81\8fã\81\8fã\82\8cã\81°ã\82\88ã\81\84 (訳注: ã\81\9fã\81¨ã\81\88ã\81°ã\80\81
+@code{expr \( -1 + 1 \)})。また、移植を考慮したスクリプトでは、
+文字列のオペランドに、形が整数と同じになってしまうものを使うべきではない。
+こちらは、先頭にスペースを入れる上記の方法で回避できる。
 
 @cindex parentheses for grouping
 演算子には、記号としてオペランドとオペランドの間に置くものもあれば、
-キーワードとしてオペランドの前に付けるものもある。丸カッコは、おなじみの
-やり方で、グループ化に使用できる。ただし、丸カッコや、演算子の多くは、
-シェルによって評価されないように、クォートしなければならない。
+キーワードとしてオペランドの前に付けるものもある。
+丸カッコは、おなじみのやり方で、グループ化に使用できる。
+ただし、丸カッコや、演算子の多くは、シェルによって評価されないように、
+クォートしなければならない。
 
-GNU MP ライブラリ対応でビルドされた場合、@command{expr} は任意精度演算を
-使用する。そうでない場合は、ネイティブな算術型を使用するので、算術
-オーバーフローのために実行に失敗することがあるかもしれない。
+GNU MP ライブラリ対応でビルドされた場合、@command{expr}
+は任意精度演算を使用する。そうでない場合は、ネイティブな算術型を使用するので、
+算術オーバーフローのために実行に失敗することがあるかもしれない。
 
 指定できるオプションは、@option{--help} と @option{--version} だけである。
 @xref{Common options}.  オプションはオペランドの前に置かなければならない。
@@ -13528,9 +13352,9 @@ GNU MP ライブラリ対応でビルドされた場合、@command{expr} は任
 @cindex string expressions
 @cindex expressions, string
 
-@command{expr} は、パターンマッチなどの文字列演算子をサポートしている。文字列
¼\94ç®\97å­\90ã\81®å\84ªå\85\88é \86ä½\8dã\81¯ã\80\81ç®\97è¡\93æ¼\94ç®\97å­\90ã\82\84é\96¢ä¿\82æ¼\94ç®\97å­\90ã\82\88ã\82\8aã\82\82é«\98ã\81\84 (ç®\97è¡\93\96¢ä¿\82æ¼\94ç®\97å­\90
-については後述する)。
+@command{expr} は、パターンマッチなどの文字列演算子をサポートしている。
\96\87å­\97å\88\97æ¼\94ç®\97å­\90ã\81®å\84ªå\85\88é \86ä½\8dã\81¯ã\80\81ç®\97è¡\93æ¼\94ç®\97å­\90ã\82\84é\96¢ä¿\82æ¼\94ç®\97å­\90ã\82\88ã\82\8aã\82\82é«\98ã\81\84
+(算術/関係演算子については後述する)。
 
 @table @samp
 
@@ -13538,31 +13362,29 @@ GNU MP ライブラリ対応でビルドされた場合、@command{expr} は任
 @cindex pattern matching
 @cindex regular expression matching
 @cindex matching patterns
-パターンマッチを行う。まず、左右の項を文字列に変換し、右項を、
-先頭に @code{^} が暗黙のうちに付いている正規表現と見なす (@code{grep} 風の
-基本正規表現)。それから、その正規表現と左項がマッチするかどうかを
-調べる。
+パターンマッチを行う。まず、左右の項を文字列に変換し、右項を、先頭に
+@code{^} が暗黙のうちに付いている正規表現と見なす (@code{grep}
+風の基本正規表現)。それから、その正規表現と左項がマッチするかどうかを調べる。
 
-マッチが成功した場合、@var{regex} 中でカッコ (@samp{\(} と @samp{\)}) を使用して
-いれば、@code{:} 演算子は、そのカッコ内の部分表現にマッチした @var{string}
-中の部分文字列を返す。カッコを使っていなければ、返すのはマッチした
-文字数である。
+マッチが成功した場合、@var{regex} 中でカッコ (@samp{\(} と @samp{\)})
+を使用していれば、@code{:} 演算子は、そのカッコ内の部分表現にマッチした
+@var{string} 中の部分文字列を返す。カッコを使っていなければ、返すのはマッチした文字数である。
 
 マッチに失敗した場合、@code{:} 演算子は、@var{regex} 中でカッコ (@samp{\(} と @samp{\)})
 を使用していれば、空文字列を、さもなければ、0 を返す。
 
 @kindex \( @r{regexp operator}
-最初の @samp{\( @dots{} \)} のペアだけが、返り値に関係する。二番目以降の
-カッコのペアには、正規表現の演算子をグループ化する働きしかない。
+最初の @samp{\( @dots{} \)} のペアだけが、返り値に関係する。
+二番目以降のカッコのペアには、正規表現の演算子をグループ化する働きしかない。
 
 @kindex \+ @r{regexp operator}
 @kindex \? @r{regexp operator}
 @kindex \| @r{regexp operator}
-正規表現では、@code{\+}, @code{\?}, @code{\|} は演算子であり、それぞれ、1 個以上
-にマッチする、あってもなくてもよい、候補のうちのどちらか、を意味して
\81\84ã\82\8bã\80\82ã\81¨ã\81\93ã\82\8dã\81\8cã\80\81SunOS ã\81ªã\81©ã\81® @command{expr} ã\81§ã\81¯ã\80\81ã\81\93ã\81\86ã\81\97ã\81\9fè¨\98å\8f·ã\82\92é\80\9a常ã\81®æ\96\87å­\97
-として扱っている (POSIX は、どちらの動作も認めている)。正規表現の
-文法については次のものが詳しい。@xref{Top, , Regular Expression Library, regex, Regex}.
+正規表現では、@code{\+}, @code{\?}, @code{\|} は演算子であり、それぞれ、
+1 個以上にマッチする、あってもなくてもよい、候補のうちのどちらか、を意味している。
\81¨ã\81\93ã\82\8dã\81\8cã\80\81SunOS ã\81ªã\81©ã\81® @command{expr} ã\81§ã\81¯ã\80\81ã\81\93ã\81\86ã\81\97ã\81\9fè¨\98å\8f·ã\82\92é\80\9a常ã\81®æ\96\87å­\97ã\81¨ã\81\97ã\81¦æ\89±ã\81£ã\81¦ã\81\84ã\82\8b
+(POSIX は、どちらの動作も認めている)。正規表現の文法については次のものが詳しい。
+@xref{Top, , Regular Expression Library, regex, Regex}.
 実例をいくつか、「@command{expr} の使用例」に挙げておいた。
 @ref{Examples of expr}.
 
@@ -13573,14 +13395,14 @@ GNU MP ライブラリ対応でビルドされた場合、@command{expr} は任
 
 @item substr @var{string} @var{position} @var{length}
 @findex substr
-@var{string} の部分文字列を返す。部分文字列は、@var{position} の位置から
-始まり、最長でも @var{length} の長さである。@var{position} と @var{length} のどちらか
-が、負数や 0 だったり、数値以外だったりする場合は、空文字列を返す。
+@var{string} の部分文字列を返す。部分文字列は、@var{position}
+の位置から始まり、最長でも @var{length} の長さである。@var{position} と
+@var{length} のどちらかが、負数や 0 だったり、数値以外だったりする場合は、空文字列を返す。
 
 @item index @var{string} @var{charset}
 @findex index
-@var{charset} 中の文字が最初に見つかった @var{string} 中の位置を返す。@var{string} 中に
-@var{charset} 中のどの文字も見つからなかった場合は、0 を返す。
+@var{charset} 中の文字が最初に見つかった @var{string} 中の位置を返す。
+@var{string} 中に @var{charset} 中のどの文字も見つからなかった場合は、0 を返す。
 
 @item length @var{string}
 @findex length
@@ -13588,18 +13410,19 @@ GNU MP ライブラリ対応でビルドされた場合、@command{expr} は任
 
 @item + @var{token}
 @kindex +
-たとえ、@var{token} が @code{match} のようなキーワードや、 @code{/} のような演算子
-であっても、@var{token} を文字列として解釈する。これを使用すると、@code{expr
-length + "$x"} や @code{expr + "$x" : '.*/\(.\)'} を実行したとき、@code{$x}
-の値が (たとえば) たまたま @code{/} や @code{index} であっても、適切な動作を
-させることができる。この演算子は、GNU の拡張である。移植を考慮した
-シェルスクリプトでは、@code{+ "$token"} ではなく、@code{@w{" $token"} : @w{' \(.*\)'}}
+たとえ、@var{token} が @code{match} のようなキーワードや、 @code{/}
+のような演算子であっても、@var{token} を文字列として解釈する。
+これを使用すると、@code{expr length + "$x"} や @code{expr + "$x" : '.*/\(.\)'}
+を実行したとき、@code{$x} の値が (たとえば) たまたま @code{/} や
+@code{index} であっても、適切な動作をさせることができる。
+この演算子は、GNU の拡張である。移植を考慮したシェルスクリプトでは、
+@code{+ "$token"} ではなく、@code{@w{" $token"} : @w{' \(.*\)'}}
 を使うべきである。
 
 @end table
 
 @command{expr} にキーワードを文字列として解釈させるためには、クォート演算子
-(すなわち、上で述べている @code{+} 演算子) を使用しなければならない。
+(訳注: 上で述べている @code{+} 演算子) を使用しなければならない。
 
 
 @node Numeric expressions
@@ -13608,9 +13431,9 @@ length + "$x"} や @code{expr + "$x" : '.*/\(.\)'} を実行したとき、@code
 @cindex numeric expressions
 @cindex expressions, numeric
 
-@command{expr} は、以下に挙げる通常の算術演算子を、昇順の優先順位で、サポート
\81\97ã\81¦ã\81\84ã\82\8bã\80\82ã\81\93ã\81\86ã\81\97ã\81\9fç®\97è¡\93æ¼\94ç®\97å­\90ã\81¯ã\80\81å\89\8dç¯\80ã\81§è¿°ã\81¹ã\81\9fæ\96\87å­\97å\88\97æ¼\94ç®\97å­\90ã\82\88ã\82\8aå\84ªå\85\88é \86ä½\8dã\81\8c
-低く、次節で述べる関係演算子より優先順位が高い。
+@command{expr} は、以下に挙げる通常の算術演算子を、昇順の優先順位で、サポートしている。
\81\93ã\81\86ã\81\97ã\81\9fç®\97è¡\93æ¼\94ç®\97å­\90ã\81¯ã\80\81å\89\8dç¯\80ã\81§è¿°ã\81¹ã\81\9fæ\96\87å­\97å\88\97æ¼\94ç®\97å­\90ã\82\88ã\82\8aå\84ªå\85\88é \86ä½\8dã\81\8cä½\8eã\81\8fã\80\81
+次節で述べる関係演算子より優先順位が高い。
 
 @table @samp
 
@@ -13619,8 +13442,7 @@ length + "$x"} や @code{expr + "$x" : '.*/\(.\)'} を実行したとき、@code
 @kindex -
 @cindex addition
 @cindex subtraction
-加算と減算。左右の項は両方とも整数に変換される。整数に変換できない
-場合は、エラーになる。
+加算と減算。左右の項は両方とも整数に変換される。整数に変換できない場合は、エラーになる。
 
 @item * / %
 @kindex *
@@ -13629,8 +13451,7 @@ length + "$x"} や @code{expr + "$x" : '.*/\(.\)'} を実行したとき、@code
 @cindex multiplication
 @cindex division
 @cindex remainder
-乗算、除算、剰余演算。左右の項は両方とも整数に変換される。整数に
-変換できない場合は、エラーになる。
+乗算、除算、剰余演算。左右の項は両方とも整数に変換される。整数に変換できない場合は、エラーになる。
 
 @end table
 
@@ -13642,9 +13463,9 @@ length + "$x"} や @code{expr + "$x" : '.*/\(.\)'} を実行したとき、@code
 @cindex logical connectives
 @cindex relations, numeric or string
 
-@command{expr} は、通常の論理結合や関係表現をサポートしている。そうした演算子
\81¯ã\80\81å\89\8dã\81®ç¯\80ã\81§è¿°ã\81¹ã\81\9fæ\96\87å­\97å\88\97æ¼\94ç®\97å­\90ã\82\84ç®\97è¡\93æ¼\94ç®\97å­\90ã\82\88ã\82\8aå\84ªå\85\88é \86ä½\8dã\81\8cä½\8eã\81\84ã\80\82è«\96ç\90\86çµ\90å\90\88ã\82\84
-関係表現の演算子を、優先順位の低いものから高いものへ順に並べておく。
+@command{expr} は、通常の論理結合や関係表現をサポートしている。
\81\9dã\81\86ã\81\97ã\81\9fæ¼\94ç®\97å­\90ã\81¯ã\80\81å\89\8dã\81®ç¯\80ã\81§è¿°ã\81¹ã\81\9fæ\96\87å­\97å\88\97æ¼\94ç®\97å­\90ã\82\84ç®\97è¡\93æ¼\94ç®\97å­\90ã\82\88ã\82\8aå\84ªå\85\88é \86ä½\8dã\81\8cä½\8eã\81\84ã\80\82
+論理結合や関係表現の演算子を、優先順位の低いものから高いものへ順に並べておく。
 
 @table @samp
 
@@ -13694,16 +13515,16 @@ Bourne 互換シェルで、シェル変数 @code{foo} に 1 を加える。
 foo=$(expr $foo + 1)
 @end example
 
-変数 @code{$fname} に格納されているファイル名から、ディレクトリではない
-部分を取り出して、表示する。@code{$fname} に @code{/} が含まれていなくてもよい。
+変数 @code{$fname} に格納されているファイル名から、ディレクトリではない部分を取り出して、表示する。
+@code{$fname} に @code{/} が含まれていなくてもよい。
 
 @example
 expr $fname : '.*/\(.*\)' '|' $fname
 @end example
 
-次の例で @code{\+} は演算子である (訳注: 細かいことを言うと、@command{grep} 流
-の基本正規表現の演算子。ちなみに、最後の例の @code{+} は、@command{expr} の文字列
-演算子である)。
+次の例で @code{\+} は演算子である (訳注: 細かいことを言うと、@command{grep}
+流の基本正規表現の演算子。ちなみに、最後の例の @code{+} は、@command{expr}
+の文字列演算子である)。
 
 @example
 expr aaa : 'a\+'
@@ -13730,8 +13551,8 @@ expr index + index a
 
 Unix のシェルは、いくつかの形式のリダイレクション (@dfn{redirection})
 --- コマンドの入力元や出力先を変更する手段 --- をたいてい用意している。
-しかし、ある一つの便利なリダイレクションは、シェルではなく、独立した
\82³ã\83\9eã\83³ã\83\89ã\81«ã\82\88ã\81£ã\81¦è¡\8cã\82\8fã\82\8cã\82\8bã\80\82ã\81\93ã\81®ç« ã\81§ã\81¯ã\80\81ã\81\9dã\81®ã\82³ã\83\9eã\83³ã\83\89ã\81«ã\81¤ã\81\84ã\81¦èª¬æ\98\8eã\81\99ã\82\8bã\80\82
+しかし、ある一つの便利なリダイレクションは、シェルではなく、独立したコマンドによって行われる。
+この章では、そのコマンドについて説明する。
 
 @menu
 * tee invocation::           出力を複数のファイルやプロセスにリダイレクトする。
@@ -13746,23 +13567,26 @@ Unix のシェルは、いくつかの形式のリダイレクション (@dfn{re
 @cindex destinations, multiple output
 @cindex read from stdin and write to stdout and files
 
-@command{tee} コマンドは、標準入力を標準出力にコピーするとともに、引数として
-指定されたファイル (複数可) にもコピーする。これは、あるデータをパイプ
-に送るだけでなく、同時にそのコピーを保存したい場合に、便利である。
-@sp 1
+@command{tee} コマンドは、標準入力を標準出力にコピーするとともに、
+引数として指定されたファイル (複数可) にもコピーする。
\81\93ã\82\8cã\81¯ã\80\81ã\81\82ã\82\8bã\83\87ã\83¼ã\82¿ã\82\92ã\83\91ã\82¤ã\83\97ã\81«é\80\81ã\82\8bã\81 ã\81\91ã\81§ã\81ªã\81\8fã\80\81å\90\8cæ\99\82ã\81«ã\81\9dã\81®ã\82³ã\83\94ã\83¼ã\82\92ä¿\9då­\98ã\81\97ã\81\9fã\81\84å ´å\90\88ã\81«ã\80\81便å\88©ã\81§ã\81\82ã\82\8bã\80\82
+
 書式:
 
 @example
 tee [@var{option}]@dots{} [@var{file}]@dots{}
 @end example
 
\9b¸ã\81\8då\87ºã\81\97å\85\88ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81\8cã\81¾ã\81 å­\98å\9c¨ã\81\97ã\81¦ã\81\84ã\81ªã\81\91ã\82\8cã\81°ã\80\81ä½\9cæ\88\90ã\81\95ã\82\8cã\82\8bã\80\82æ\9b¸ã\81\8då\87ºã\81\97
-先のファイルがすでに存在している場合は、@option{-a} オプションを使用しない
-かぎり、ファイルに前からあったデータは上書きされる。
\9b¸ã\81\8då\87ºã\81\97å\85\88ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81\8cã\81¾ã\81 å­\98å\9c¨ã\81\97ã\81¦ã\81\84ã\81ªã\81\91ã\82\8cã\81°ã\80\81ä½\9cæ\88\90ã\81\99ã\82\8bã\80\82
+書き出し先のファイルがすでに存在している場合は、@option{-a}
\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92使ç\94¨ã\81\97ã\81ªã\81\84ã\81\8bã\81\8eã\82\8aã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\81«å\89\8dã\81\8bã\82\89ã\81\82ã\81£ã\81\9fã\83\87ã\83¼ã\82¿ã\81¯ä¸\8aæ\9b¸ã\81\8dã\81\95ã\82\8cã\82\8bã\80\82
 
-@var{file} の一つに @samp{-} を指定すると、@command{tee} は、入力のコピーをもう一つ、
-標準出力に送出する。だが、コピー同士が重なり合うので、たいていの場合、
-これはあまり役に立たない。
+GNU coreutils の従来のバージョンでは (v5.3.0 - v8.23)、
+@var{file} として @samp{-} を指定すると、@command{tee}
+は入力のコピーをもう一つ標準出力に書き出していた。
+しかし、二重になった出力は、あまり役に立つものではなかったので、
+現在では POSIX の規格に従い、そこではっきりと規定されているように、
+@samp{-} をそういう名前のファイルとして取り扱うようになっている。
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 
@@ -13771,8 +13595,7 @@ tee [@var{option}]@dots{} [@var{file}]@dots{}
 @itemx --append
 @opindex -a
 @opindex --append
-指定されたファイルの末尾に標準入力を追加する。すなわち、ファイルを
-上書きしない。
+指定されたファイルの末尾に標準入力を追加する。すなわち、ファイルを上書きしない。
 
 @item -i
 @itemx --ignore-interrupts
@@ -13780,27 +13603,54 @@ tee [@var{option}]@dots{} [@var{file}]@dots{}
 @opindex --ignore-interrupts
 割り込みシグナルを無視する。
 
+@item -p
+@itemx --output-error[=@var{mode}]
+@opindex -p
+@opindex --output-error
+出力にエラーがあったときの動作を調整する。
+長い形式のオプションを使えば、下記の @var{mode} から動作を選択することができる。
+
+@table @samp
+@item warn
+パイプを含めて、出力のオープンや書き出しでエラーが起きると、警告メッセージを出す。
+エラー発生後もまだオープンされているファイルやパイプがあれば、それに対する書き込みは続行される。
+出力のいづれかにエラーがあれば、終了ステータスは失敗を示す。
+
+@item warn-nopipe
+これが、@var{mode} が指定されないときや、短い形式の @option{-p}
+が使用されたときのデフォルトの @var{mode} である。
+パイプ以外について、出力のオープンや書き出しでエラーが起きると、警告メッセージを出す。
+エラー発生後もまだオープンされているファイルやパイプがあれば、それに対する書き込みは続行される。
+パイプ以外の出力にエラーがあれば、終了ステータスは失敗を示す。
+
+@item exit
+パイプを含めて、出力のオープンや書き出しでエラーが起きると、終了する。
+
+@item exit-nopipe
+パイプ以外について、出力のオープンや書き出しでエラーが起きると、終了する。
+@end table
+
 @end table
 
-大量のデータの転送を行いながら、同時にそのデータのサマライズも
-行いたい、改めてデータを読み直すようなことはしたくない。@command{tee} は、
\81\9dã\81\86ã\81\84ã\81\86ã\81¨ã\81\8dã\81«ä¾¿å\88©ã\81§ã\81\82ã\82\8bã\80\82ã\81\9fã\81¨ã\81\88ã\81°ã\80\81DVD ã\82¤ã\83¡ã\83¼ã\82¸ã\82\92ã\83\80ã\82¦ã\83³ã\83­ã\83¼ã\83\89ã\81\97ã\81¦
\81\84ã\82\8bã\81¨ã\81\8dã\80\81ã\81\9dã\81®å ´ã\81§ã\81\99ã\81\90ã\80\81ç½²å\90\8dã\82\84ã\83\81ã\82§ã\83\83ã\82¯ã\82µã\83 ã\82\92確èª\8dã\81\97ã\81\9fã\81\8fã\81ªã\82\8bã\81\93ã\81¨ã\81\8cã\82\88ã\81\8f
-ある。単に次のようにするのは、効率が悪い。
+大量のデータの転送を行いながら、同時にそのデータのサマライズも行いたい、
+改めてデータを読み直すようなことはしたくない。@command{tee} は、そういうときに便利である。
\81\9fã\81¨ã\81\88ã\81°ã\80\81DVD ã\82¤ã\83¡ã\83¼ã\82¸ã\82\92ã\83\80ã\82¦ã\83³ã\83­ã\83¼ã\83\89ã\81\97ã\81¦ã\81\84ã\82\8bã\81¨ã\81\8dã\80\81
\81\9dã\81®å ´ã\81§ã\81\99ã\81\90ã\80\81ç½²å\90\8dã\82\84ã\83\81ã\82§ã\83\83ã\82¯ã\82µã\83 ã\82\92確èª\8dã\81\97ã\81\9fã\81\8fã\81ªã\82\8bã\81\93ã\81¨ã\81\8cã\82\88ã\81\8fã\81\82ã\82\8bã\80\82
+単に次のようにするのは、効率が悪い。
 
 @example
 wget http://example.com/some.iso && sha1sum some.iso
 @end example
 
-上記コマンドの問題点の一つは、ただでさえ時間のかかる SHA1 の計算に
-取りかかる前に、ダウンロードが完了するのを待たなければならないことで
\81\82ã\82\8bã\80\82ã\81\9fã\81¶ã\82\93ã\80\81ã\81\95ã\82\89ã\81«å\95\8fé¡\8cã\81ªã\81®ã\81¯ã\80\81ä¸\8aè¨\98ã\81®ã\82\84ã\82\8aæ\96¹ã\81§ã\81¯ã\80\81DVD ã\82¤ã\83¡ã\83¼ã\82¸ã\82\92æ\94¹ã\82\81ã\81¦
-読み直さなければならないことだろう (一度目の読み込みは、ネットワーク
-からだ)。
+上記コマンドの問題点の一つは、ただでさえ時間のかかる SHA1 の計算に取りかかる前に、
+ダウンロードが完了するのを待たなければならないことだ。
\81\9fã\81¶ã\82\93ã\80\81ã\81\95ã\82\89ã\81«å\95\8fé¡\8cã\81ªã\81®ã\81¯ã\80\81ä¸\8aè¨\98ã\81®ã\82\84ã\82\8aæ\96¹ã\81§ã\81¯ã\80\81
+DVD イメージを改めて読み直さなければならないことだろう
+(一度目の読み込みは、ネットワークから)。
 
-こうした作業を行う効率的な方法は、ダウンロードと SHA1 の計算を
-同時に、交互に実行することである。そうすれば、プロセス全体が平行して
-スムーズに進むので、無駄な時間を使わずに、チェックサムが手に入る。
+こうした作業を行う効率的な方法は、ダウンロードと SHA1 の計算を同時に、
+交互に実行することである。そうすれば、プロセス全体が平行してスムーズに進むので、
+無駄な時間を使わずに、チェックサムが手に入る。
 
 @example
 # ちょっと凝った方法。プロセス置換の実例をご覧に入れるため。
@@ -13808,22 +13658,28 @@ wget -O - http://example.com/dvd.iso \
   | tee >(sha1sum > dvd.sha1) > dvd.iso
 @end example
 
-こうすれば、@command{tee} は、出力を目当てのファイルに書き出すだけでなく、
\83\91ã\82¤ã\83\97ã\81«ã\82\82æ\9b¸ã\81\8då\87ºã\81\99ã\80\82ã\81\9dã\81\97ã\81¦ã\80\81å¾\8cè\80\85ã\81§ã\81¯ã\80\81 @command{sha1sum} ã\82\92å®\9fè¡\8cã\81\97ã\80\81æ\9c\80çµ\82ç\9a\84ã\81«
-チェックサムを @file{dvd.sha1} という名前のファイルに保存することになる。
+こうすれば、@command{tee} は、出力を目当てのファイルに書き出すだけでなく、パイプにも書き出す。
\81\9dã\81\97ã\81¦ã\80\81å¾\8cè\80\85ã\81§ã\81¯ã\80\81@command{sha1sum} ã\82\92å®\9fè¡\8cã\81\97ã\80\81æ\9c\80çµ\82ç\9a\84ã\81ªã\83\81ã\82§ã\83\83ã\82¯ã\82µã\83 ã\82\92
+@file{dvd.sha1} という名前のファイルに保存することになる。
 
-しかし、気をつけていただきたい。上記の例は、プロセス置換 (@dfn{process
-substitution}) と呼ばれる最近のシェルの機能を当てにしている (上記の
-@samp{>(command)} という構文のことである。@xref{Process Substitution,,
+しかし、気をつけていただきたい。上記の例は、プロセス置換 (@dfn{process substitution})
+と呼ばれる最近のシェルの機能を当てにしている (上記の@samp{>(command)}
+という構文のことである。@xref{Process Substitution,,
 Process Substitution, bash, The Bash Reference Manual}.)。
-そのため、@command{zsh}, @command{bash}, @command{ksh} では
-うまく動作するが、@command{/bin/sh} では動作しない。従って、こうしたコードを
-シェルスクリプトで使用するときは、スクリプトの先頭に @samp{#!/bin/bash} など
-と書くことを忘れてはいけない。
+そのため、@command{zsh}, @command{bash}, @command{ksh}
+ではうまく動作するが、@command{/bin/sh} では動作しない。
+従って、こうしたコードをシェルスクリプトで使用するときは、スクリプトの先頭に
+@samp{#!/bin/bash} などと書くことを忘れてはいけない。
+
+次のことにも気をつけていただきたい。プロセス置換のいづれかが
+(あるいは、パイプに渡された標準出力が)、
+データをすべて処理し尽くす前に終了してしまうことがあるかもしれない。
+そうした場合に、@command{tee} が入力の処理を続行して、
+それを残っている出力先に渡すことができるようにするには、
+@option{-p} オプションが必要になる。
 
-上記の例は、書き出しを 1 個のファイルと 1 個のプロセスに行っている
-だけだ。その程度なら、もっと普通の、もっと移植性のある使い方をした方が
-ずっとよい。
+上記の例は、書き出しを 1 個のファイルと 1 個のプロセスに行っているだけだ。
+その程度なら、もっと普通の、もっと移植性のある使い方をした方がずっとよい。
 
 @example
 wget -O - http://example.com/dvd.iso \
@@ -13831,8 +13687,8 @@ wget -O - http://example.com/dvd.iso \
 @end example
 
 @command{tee} が二つのプロセスに書き込むように、この例を拡張して、MD5 と
-SHA1 のチェックサムを平行して計算させることもできる。その場合は、
-プロセス置換が必要になる。
+SHA1 のチェックサムを平行して計算させることもできる。
\81\9dã\81®å ´å\90\88ã\81¯ã\80\81ã\83\97ã\83­ã\82»ã\82¹ç½®æ\8f\9bã\81\8cå¿\85è¦\81ã\81«ã\81ªã\82\8bã\80\82
 
 @example
 wget -O - http://example.com/dvd.iso \
@@ -13841,20 +13697,20 @@ wget -O - http://example.com/dvd.iso \
   > dvd.iso
 @end example
 
-このテクニックは、パイプから入ってくるデータの圧縮したコピーを作り
-たいときにも、役に立つ。@samp{du -ak} の出力するディスク使用量のデータを
-要約して、グラフィカルに表示するツールを考えていただきたい。
-ディレクトリ階層が膨大だと、@samp{du -ak} は実行に長い時間がかかるだろう
\81\97ã\80\81ã\81\84ã\81¨ã\82\82ã\81\9fã\82\84ã\81\99ã\81\8fã\83\86ã\83©ã\83\90ã\82¤ã\83\88ã\81®ã\83\87ã\83¼ã\82¿ã\82\92ä½\9cæ\88\90ã\81\97ã\81¦ã\81\8fã\82\8cã\82\8bã\81 ã\82\8dã\81\86ã\80\82ã\81\9dã\81\93ã\81§ã\80\81
-@samp{du} コマンドをむやみに再実行することはやりたくない。また、圧縮される
-前のデータを保存しておきたくもない。
+このテクニックは、パイプから入ってくるデータの圧縮したコピーを作りたいときにも、役に立つ。
+@samp{du -ak} の出力するディスク使用量のデータを要約して、
+グラフィカルに表示するツールを考えていただきたい。
+ディレクトリ階層が膨大だと、@samp{du -ak} は実行に長い時間がかかるだろうし、
\81\84ã\81¨ã\82\82ã\81\9fã\82\84ã\81\99ã\81\8fã\83\86ã\83©ã\83\90ã\82¤ã\83\88ã\81®ã\83\87ã\83¼ã\82¿ã\82\92ä½\9cæ\88\90ã\81\97ã\81¦ã\81\8fã\82\8cã\82\8bã\81 ã\82\8dã\81\86ã\80\82
+そこで、@samp{du} コマンドをむやみに再実行することはやりたくない。
+また、圧縮されていない出力を保存しておきたくもない。
 
 これを効率の悪い方法でやると、@command{du} の出力全部の圧縮を済ませるまで、
 GUI ツールを起動することすらできない。
 
 @example
 du -ak | gzip -9 > /tmp/du.gz
-gzip -d /tmp/du.gz | xdiskusage -a
+gzip -dc /tmp/du.gz | xdiskusage -a
 @end example
 
 @command{tee} とプロセス置換を使えば、GUI ツールを直ちに起動できるし、
@@ -13865,8 +13721,8 @@ du -ak | tee >(gzip -9 > /tmp/du.gz) | xdiskusage -a
 @end example
 
 最後にもう一つ。常に 2 種類以上の圧縮した tar アーカイブ (tarball)
-を一度に作ることにしている場合は、より効率のよいやり方ができるかも
\81\97ã\82\8cã\81ªã\81\84ã\80\82ã\81\9fã\81¨ã\81\88ã\81°ã\80\81@code{make dist} ã\81\8c @command{gzip} ã\81¨ @command{bzip2} ã\81®ä¸¡æ\96¹ã\81§å\9c§ç¸®ã\81\97ã\81\9f
+を一度に作ることにしている場合は、より効率のよいやり方ができるかもしれない。
+たとえば、@code{make dist} が @command{gzip} と @command{bzip2} の両方で圧縮した
 tar アーカイブを作成するような場合だ。@command{automake} が生成する @file{Makefile}
 のルールは、たいてい、こんなふうにコマンドを連続して実行することで、
 圧縮した tar アーカイブを二つ作成している (少し単純化してある)。
@@ -13877,11 +13733,10 @@ tar chof - "$tardir" | gzip  -9 -c > your-pkg-M.N.tar.gz
 tar chof - "$tardir" | bzip2 -9 -c > your-pkg-M.N.tar.bz2
 @end example
 
-しかしながら、アーカイブの作成・圧縮の対象になっているディレクトリ
-階層が、数メガバイトより大きい場合は --- 使用しているシステムがマルチ
-プロセッサを搭載し、メモリがふんだんにある場合はなおさらそうだが ---
-ディレクトリの中身を 1 回だけ読み込み、圧縮プログラムを平行して走ら
-せることで、ずっと効率のよい仕事ができる。
+しかしながら、アーカイブの作成・圧縮の対象になっているディレクトリ階層が、
+数メガバイトより大きい場合は --- 使用しているシステムがマルチプロセッサを搭載し、
+メモリがふんだんにある場合はなおさらそうだが --- ディレクトリの中身を 1 回だけ読み込み、
+圧縮プログラムを平行して走らせることで、ずっと効率のよい仕事ができる。
 
 @example
 tardir=your-pkg-M.N
@@ -13890,6 +13745,18 @@ tar chof - "$tardir" \
   | bzip2 -9 -c > your-pkg-M.N.tar.bz2
 @end example
 
+プロセス置換が表示する出力をさらに処理したいとしよう。
+もし、そうしたプロセスがアトミックな書き出しをしているならば
+(すなわち、一度の書き出しが、システムの PIPE_BUF サイズよりも小さければ)、
+そういうことも次のような構文で可能である。
+
+@example
+tardir=your-pkg-M.N
+tar chof - "$tardir" \
+  | tee >(md5sum --tag) > >(sha256sum --tag) \
+  | sort | gpg --clearsign > your-pkg-M.N.tar.sig
+@end example
+
 @exitstatus
 
 
@@ -13922,7 +13789,7 @@ tar chof - "$tardir" \
 @cindex leading directory components, stripping
 
 @command{basename} は、@var{name} の先頭にディレクトリ部分があれば、それを取り除く。
-@sp 1
+
 書式:
 
 @example
@@ -13930,26 +13797,25 @@ basename @var{name} [@var{suffix}]
 basename @var{option}@dots{} @var{name}@dots{}
 @end example
 
-@var{suffix} が指定されていて、それが @var{name} の末尾と同一ならば、@var{suffix} の
-部分も @var{name} から取り除かれる。気をつけていただきたいが、ファイル名の
\9c«å°¾ã\81®ã\82¹ã\83©ã\83\83ã\82·ã\83¥ã\81¯ã\80\81æ\8e¥å°¾è¾\9eã\81®ã\83\9eã\83\83ã\83\81ã\83³ã\82°ã\81«å\85\88ç«\8bã\81£ã\81¦é\99¤å\8e»ã\81\95ã\82\8cã\82\8bã\81®ã\81§ã\80\81@var{suffix}
-にスラッシュが含まれていると、指定に効果がないことになる。@command{basename} は、
-結果を標準出力に表示する。
+@var{suffix} が指定されていて、それが @var{name} の末尾と同一ならば、
+@var{suffix} の部分も @var{name} から取り除かれる。
°\97ã\82\92ã\81¤ã\81\91ã\81¦ã\81\84ã\81\9fã\81 ã\81\8dã\81\9fã\81\84ã\81\8cã\80\81ã\83\95ã\82¡ã\82¤ã\83«å\90\8dã\81®æ\9c«å°¾ã\81®ã\82¹ã\83©ã\83\83ã\82·ã\83¥ã\81¯ã\80\81æ\8e¥å°¾è¾\9eã\81®ã\83\9eã\83\83ã\83\81ã\83³ã\82°ã\81«å\85\88ç«\8bã\81£ã\81¦é\99¤å\8e»ã\81\95ã\82\8cã\82\8bã\81®ã\81§ã\80\81
+@var{suffix} にスラッシュが含まれていると、指定に効果がないことになる。
+@command{basename} は、結果を標準出力に表示する。
 
 @c This test is used both here and in the section on dirname.
 @macro basenameAndDirname
 @command{basename} と @command{dirname} は合わせて設計されており、もし @samp{ls "$name"}
 が成功するならば、@samp{cd "$(dirname "$name")"; ls "$(basename "$name")"}
-というコマンドの連続も成功するようになっている。これは、ファイル名の
-末尾に改行が付いている場合を除いて、あらゆる場合にうまく行く。
+というコマンドの連続も成功するようになっている。
+これは、ファイル名の末尾に改行が付いている場合を除いて、あらゆる場合にうまく行く。
 @end macro
 @basenameAndDirname
 
 POSIX によれば、@var{name} が空の場合や @samp{//} の場合に、結果がどうなるかは、
-実装側で決めてよいことになっている。前者の場合、GNU の @command{basename} は、
-空文字列を返す。後者の場合、@var{//} と @var{/} とが別のものであるプラットフォーム
-では、結果は @samp{//} になり、全く区別しないプラットフォームでは、結果は @samp{/}
-になる。
+実装側で決めてよいことになっている。前者の場合、GNU の @command{basename} は、空文字列を返す。
+後者の場合、@var{//} と @var{/} とが別のものであるプラットフォームでは、結果は
+@samp{//} になり、全く区別しないプラットフォームでは、結果は @samp{/} になる。
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 オプションはオペランドの前に置かなければならない。
@@ -13960,22 +13826,18 @@ POSIX によれば、@var{name} が空の場合や @samp{//} の場合に、結
 @itemx --multiple
 @opindex -a
 @opindex --multiple
-複数の引数を受け付ける。すべての引数は @var{name} として処理される。この
\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92使ç\94¨ã\81\99ã\82\8bå ´å\90\88ã\80\81@var{suffix} ã\82\92æ\8c\87å®\9aã\81\99ã\82\8bã\81ªã\82\89ã\81°ã\80\81@option{-s} ã\82ªã\83\97ã\82·ã\83§ã\83³
-を使わなければならない。
+複数の引数を受け付ける。すべての引数は @var{name} として処理される。
\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92使ç\94¨ã\81\99ã\82\8bå ´å\90\88ã\80\81@var{suffix} ã\82\92æ\8c\87å®\9aã\81\99ã\82\8bã\81ªã\82\89ã\81°ã\80\81@option{-s}
\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92使ã\82\8fã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82
 
 @item -s @var{suffix}
 @itemx --suffix=@var{suffix}
 @opindex -s
 @opindex --suffix
-末尾にある @var{suffix} を除去する。このオプションを指定すると @option{-a} オプ
-ションも指定したことになる。
+末尾にある @var{suffix} を除去する。このオプションを指定すると
+@option{-a} オプションも指定したことになる。
 
-@item -z
-@itemx --zero
-@opindex -z
-@opindex --zero
-出力する項目を NUL 文字で区切る。
+@optZero
 
 @end table
 
@@ -14007,36 +13869,33 @@ basename -a -s .h include/stdio.h include/stdlib.h
 @cindex non-directory suffix, stripping
 
 @command{dirname} は、各 @var{name} からスラッシュで区切られた最後の要素を取り除いて、
-残りのすべてを表示する。その際、最後の要素の左右どちらにあるスラッシュ
-も除去される。@var{name} を構成する文字列にスラッシュが一つも含まれない場合、
+残りのすべてを表示する。その際、最後の要素の左右どちらにあるスラッシュも除去される。
+@var{name} を構成する文字列にスラッシュが一つも含まれない場合、
 @command{dirname} は (カレントディレクトリを意味する) @samp{.} を表示する。
-@sp 1
+
 書式:
 
 @example
 dirname [@var{option}] @var{name}@dots{}
 @end example
 
-@var{name} は実在するファイル名でなくても構わないが、実在するファイル名
\81ªã\82\89ã\81°ã\80\81ã\81\93ã\81®æ\93\8dä½\9cã\81«ã\82\88ã\81£ã\81¦ã\80\81æ\9c\80å¾\8cã\81®è¦\81ç´ ã\81\9dã\82\8cè\87ªä½\93ã\81\8cã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81§ã\81\82ã\82\8bå ´å\90\88ã\82\82
-含めて、最後の要素が存在するディレクトリが、利用できる形で表示される。
+@var{name} は実在するファイル名でなくても構わないが、実在するファイル名ならば、
\81\93ã\81®æ\93\8dä½\9cã\81«ã\82\88ã\81£ã\81¦ã\80\81æ\9c\80å¾\8cã\81®è¦\81ç´ ã\81\9dã\82\8cè\87ªä½\93ã\81\8cã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81§ã\81\82ã\82\8bå ´å\90\88ã\82\82å\90«ã\82\81ã\81¦ã\80\81
+最後の要素が存在するディレクトリが、利用できる形で表示される。
 
 @basenameAndDirname
 
-POSIX によれば、@var{name} が @samp{//} の場合に、結果がどうなるかは、実装側で
-決めてよいことになっている。GNU の @command{dirname} について言うと、@var{//} と @var{/}
-とが別のものであるプラットフォームでは、結果は @samp{//} になり、全く区別
-しないプラットフォームでは、結果は @samp{/} になる。
+POSIX によれば、@var{name} が @samp{//} の場合に、結果がどうなるかは、
+実装側で決めてよいことになっている。
+GNU の @command{dirname} について言うと、@var{//} と @var{/}
+とが別のものであるプラットフォームでは、結果は @samp{//} になり、
+全く区別しないプラットフォームでは、結果は @samp{/} になる。
 
 このプログラムでは、以下のオプションが使える。参照: @ref{Common options}.
 
 @table @samp
 
-@item -z
-@itemx --zero
-@opindex -z
-@opindex --zero
-出力する項目を NUL 文字で区切る。
+@optZero
 
 @end table
 
@@ -14066,30 +13925,28 @@ dirname stdio.h
 @cindex portable file names, checking for
 
 @command{pathchk} は、ファイル名が有効かどうか、可搬性があるかどうかを検査する。
-@sp 1
+
 書式:
 
 @example
 pathchk [@var{option}]@dots{} @var{name}@dots{}
 @end example
 
-@command{pathchk} は各 @var{name} に対して、以下の条件のどれかが真ならば、エラー
\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82\92表示ã\81\99ã\82\8b
+@command{pathchk} は各 @var{name} に対して、以下の条件のどれかが真ならば、
\82¨ã\83©ã\83¼ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82\92å\87ºã\81\99
 
 @enumerate
 @item
-@var{name} 中の実在するディレクトリの一つが、検索 (実行) 許可を持って
-いない。
+@var{name} 中の実在するディレクトリの一つが、検索 (実行) 許可を持っていない。
 @item
-@var{name} の長さが、オペレーティング・システムによってサポートされている
-最大長を越えている。
+@var{name} の長さが、オペレーティング・システムによってサポートされている最大長を越えている。
 @item
-@var{name} の構成要素の一つの長さが、それが存在することになるファイル
-システムによってサポートされている最大長を越えている。
+@var{name} の構成要素の一つの長さが、
\81\9dã\82\8cã\81\8cå­\98å\9c¨ã\81\99ã\82\8bã\81\93ã\81¨ã\81«ã\81ªã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\82·ã\82¹ã\83\86ã\83 ã\81«ã\82\88ã\81£ã\81¦ã\82µã\83\9dã\83¼ã\83\88ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bæ\9c\80大é\95·ã\82\92è¶\8aã\81\88ã\81¦ã\81\84ã\82\8bã\80\82
 @end enumerate
 
-実在しないファイル名を指定しても、エラーにはならない。その名前の
-ファイルが、上記の条件内で作成可能であればよい。
+実在しないファイル名を指定しても、エラーにはならない。
\81\9dã\81®å\90\8då\89\8dã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81\8cã\80\81ä¸\8aè¨\98ã\81®æ\9d¡ä»¶å\86\85ã\81§ä½\9cæ\88\90å\8f¯è\83½ã\81§ã\81\82ã\82\8cã\81°ã\82\88ã\81\84ã\80\82
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 オプションはオペランドの前に置かなければならない。
@@ -14099,34 +13956,31 @@ pathchk [@var{option}]@dots{} @var{name}@dots{}
 @item -p
 @opindex -p
 実際に使用しているファイルシステムに基づいて検査を行うのではなく、
-以下の条件を調べて、そのどれかが真ならば、エラーメッセージを表示
-する。
+以下の条件を調べて、そのどれかが真ならば、エラーメッセージを出す。
 
 @enumerate
 @item
 ファイル名が空である。
 
 @item
-ファイル名に、どのシステムでもファイル名に使用できる文字と
-して POSIX が規定している文字セット以外の文字が含まれている。
-すなわち、ASCII 英数字、@samp{.}、@samp{_}、@samp{-}、@samp{/} 以外の文字が使用
-されている。
+ファイル名に、どのシステムでもファイル名に使用できる文字として
+POSIX が規定している文字セット以外の文字が含まれている。
+すなわち、ASCII 英数字、@samp{.}、@samp{_}、@samp{-}、@samp{/}
+以外の文字が使用されている。
 
 @item
-ファイル名の長さや、その構成要素の一つの長さが、POSIX の規格で
-可搬性のために最小限サポートすべしとされている長さを越えている。
+ファイル名の長さや、その構成要素の一つの長さが、
+POSIX の規格で可搬性のために最小限サポートしなければならないとされている長さを越えている。
 @end enumerate
 
 @item -P
 @opindex -P
-ファイル名が空だったり、@samp{-} で始まる構成要素を含んでいたりすると、
-エラーメッセージを表示する。
+ファイル名が空だったり、@samp{-} で始まる構成要素を含んでいたりすると、エラーメッセージを出す。
 
 @item --portability
 @opindex --portability
-ファイル名が POSIX に準拠しているすべてのホストで使えるもので
-なければ、エラーメッセージを表示する。このオプションは、@samp{-p -P} と
-同じことである。
+ファイル名が POSIX に準拠しているすべてのホストで使えるものでなければ、エラーメッセージを出す。
+このオプションは、@samp{-p -P} と同じことである。
 
 @end table
 
@@ -14147,47 +14001,45 @@ pathchk [@var{option}]@dots{} @var{name}@dots{}
 @cindex temporary files and directories
 
 @command{mktemp} は、テンポラリファイルやテンポラリディレクトリの作成を行う。
-@sp 1
+
 書式:
 
 @example
 mktemp [@var{option}]@dots{} [@var{template}]
 @end example
 
-@command{mktemp} は、@var{template} を基にして、安全なテンポラリファイルや
-ディレクトリを作成し、その名前を表示する。@var{template} を指定する場合、
-その最後の構成部分に少なくとも 3 個の連続する @samp{X} が含まれていなければ
-ならない。@var{template} を省略した場合は、@samp{tmp.XXXXXXXXXX} というテンプレート
-が使用され、@option{--tmpdir} オプションが暗黙のうちに指定されることになる。
+@command{mktemp} は、@var{template} を基にして、
+安全なテンポラリファイルやディレクトリを作成し、その名前を表示する。
+@var{template} を指定する場合、その最後の構成部分に少なくとも
+3 個の連続する @samp{X} が含まれていなければならない。@var{template}
+を省略した場合は、@samp{tmp.XXXXXXXXXX} というテンプレートが使用され、
+@option{--tmpdir} オプションが暗黙のうちに指定されることになる。
 @var{template} 中の @samp{X} が連続する最後の部分は、英数字で置き換えられる。
-従って、大文字小文字を区別するファイルシステムなら、テンプレートに
-連続する @var{n} 個の @samp{X} が含まれていると、作成されるファイル名には、
+従って、大文字小文字を区別するファイルシステムなら、テンプレートに連続する
+@var{n} 個の @samp{X} が含まれていると、作成されるファイル名には、
 62 の @var{n} 乗とおりの可能性があることになる。
 
-昔のスクリプトでは、テンポラリファイルを作成する際、単にプログラムの
-名前にプロセス ID (@samp{$$}) を拡張子として付けるのが習慣だった。しかし、
-この命名法は、名前の推測が容易であり、従って、競合状態を起こしやすい
-という弱点がある。攻撃者としては、テンポラリファイルに使われそうな名前で
-シンボリックリンクを作っておけばよい。そうすれば、スクリプトが未使用の
-ファイルだと考えて、テンポラリファイルのファイルハンドルを開いたとき、
-実際にはすでに存在しているファイルに書き込みをしているという羽目になる。
-同じ命名法を使ってディレクトリを作成するのは、もう少し安全である。作成
-しようとするディレクトリがすでに存在していると、@command{mkdir} は実行に失敗
-するからだ。とは言え、こちらもサービス不能化攻撃 (denial of service
-attacks) を可能にしてしまうわけで、やはり良策とは言えない。それ故、
-新しいスクリプトでは @command{mktemp} コマンドを使用するべきである。そうすれば、
-生成されるファイル名が確実に予測不可能になるので、実行中のスクリプトが
-テンポラリファイルの名前を知っているというまさにその事実が、ファイルを
-作成したのがそのスクリプトであり、他のユーザはそのファイルを変更でき
-ないと、間違いなく示すことになる。
-
-ファイルを作成する場合、作成されるファイルには現在のユーザに対する
-読み込みと書き出しの許可が付くが、グループやその他のユーザに対しては、
-いかなる許可も付かない。現在の umask がより厳格な場合、付けられる許可は
-さらに厳しくなる。
-
-用例をいくつか挙げてみる (ただし、注意していただきたいが、お手元で
-この通り実行しても、おそらくファイル名は違ったものになるはずだ)。
+昔のスクリプトでは、テンポラリファイルを作成する際、そのプログラム名にプロセス ID
+(@samp{$$}) を拡張子として付けで済ますのが習慣だった。
+しかし、この命名法は、名前の推測が容易であり、従って、競合状態を起こしやすいという弱点がある。
+攻撃者としては、テンポラリファイルに使われそうな名前でシンボリックリンクを作っておけばよい。
+そうすれば、スクリプトが未使用のファイルだと考えて、テンポラリファイルのファイルハンドルを開いたとき、
+実際にはすでに存在しているファイルの更新をしているということになる。
+同じ命名法を使ってディレクトリを作成するのは、もう少し安全である。
+作成しようとするディレクトリがすでに存在していると、@command{mkdir}
+は実行に失敗するからだ。とは言え、こちらもサービス不能化攻撃
+(denial of service attacks) を可能にしてしまうわけで、やはり良策とは言えない。
+それ故、新しいスクリプトでは @command{mktemp} コマンドを使用するべきである。
+そうすれば、生成されるファイル名が確実に予測不可能になるので、
+実行中のスクリプトがテンポラリファイルの名前を知っているというまさにその事実が、
+ファイルを作成したのはそのスクリプトであり、他のユーザによってそのファイルが変更されることはありえないと、間違いなく示すことになる。
+
+ファイルを作成する場合、作成されるファイルには現在のユーザに対する読み込みと書き出しの許可が付くが、
+グループやその他のユーザに対しては、いかなる許可も付かない。
+現在の umask がより厳格な場合、付けられる許可はさらに厳しくなる。
+
+用例をいくつか挙げてみる (ただし、注意していただきたいが、
+お手元でこの通り実行しても、おそらくファイル名は違ったものになるはずだ)。
 
 @itemize @bullet
 
@@ -14210,10 +14062,10 @@ file-XXXX-eI9L.txt
 @item
 ユーザが環境変数 @env{TMPDIR} で指定しているディレクトリを基点として、
 その下に安全な FIFO を作成する。@env{TMPDIR} が設定されていない場合は、
-@file{/tmp} ではなく、カレントディレクトリを基点として使用する。肝腎な
-点は、@command{mktemp} は FIFO を作成しないが、FIFO を置くことができる
-安全なディレクトリなら作成できるということである。ディレクトリや
-FIFO を作成することができなかったときは、シェルを終了する。
+@file{/tmp} ではなく、カレントディレクトリを基点として使用する。
+肝腎な点は、@command{mktemp} は FIFO を作成しないが、FIFO
+を置くことができる安全なディレクトリなら作成できるということである。
+ディレクトリや FIFO を作成することができなかったときは、シェルを終了する。
 @example
 $ dir=$(mktemp -p "$@{TMPDIR:-.@}" -d dir-XXXX) || exit 1
 $ fifo=$dir/fifo
@@ -14221,13 +14073,13 @@ $ mkfifo "$fifo" || @{ rmdir "$dir"; exit 1; @}
 @end example
 
 @item
-可能ならば、テンポラリファイルを作成して使用するが、作成に失敗
\81\97ã\81¦ã\82\82ã\80\81ã\82¨ã\83©ã\83¼ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82\92å\87ºã\81\95ã\81ªã\81\84ã\80\82ã\83\95ã\82¡ã\82¤ã\83«ã\81¯ã\80\81ç\92°å¢\83å¤\89æ\95° @env{TMPDIR}
+可能ならば、テンポラリファイルを作成して使用するが、作成に失敗しても、
+エラーメッセージを出さない。ファイルは、環境変数 @env{TMPDIR}
 が設定されていれば、そこで指名されているディレクトリに作られるが、
 設定されていなければ、@file{/tmp} に作られる。
 @example
 $ file=$(mktemp -q) && @{
->   # $file ã\81®ä½¿ç\94¨ã\82\92ã\81\93ã\81®ã\83\96ã\83­ã\83\83ã\82¯ã\81®å\86\85å\81´ã\81«é\99\90å®\9aã\81\97ã\81¦ã\81\8aã\81\91ば、
+>   # $file ã\82\92ã\81\93ã\81®ã\83\96ã\83­ã\83\83ã\82¯ã\81®å\86\85å\81´ã\81§ã\81®ã\81¿ä½¿ç\94¨ã\81\99ã\82\8bã\81\93ã\81¨ã\81«ã\81\99ã\82\8cば、
 >   # 安全である。$file を引用符で囲んでいるのは、$TMPDIR が、
 >   # 従って、$file が、ホワイトスペースを含んでいるかも
 >   # しれないからだ。
@@ -14237,10 +14089,9 @@ $ file=$(mktemp -q) && @{
 @end example
 
 @item
-擬似ランダム文字発生装置として動作する (カレントディレクトリの内容
-によって影響を受けるので、完全にランダムではない)。セキュリティ
-ホールを避けたいならば、生成された名前を使って、ファイルを作っては
-いけない。
+擬似ランダム文字発生装置として動作する
+(カレントディレクトリの内容によって影響を受けるので、完全にランダムではない)。
+セキュリティホールを避けたいならば、生成された名前を使って、ファイルを作ってはいけない。
 @example
 $ mktemp -u XXX
 Gb9
@@ -14258,10 +14109,10 @@ nzC
 @itemx --directory
 @opindex -d
 @opindex --directory
-ファイルではなく、ディレクトリを作成する。作成されるディレクトリには
-現在のユーザに対して、読み、書き、検索の許可が付くが、グループや
\81\9dã\81®ä»\96ã\81®ã\83¦ã\83¼ã\82¶ã\81«å¯¾ã\81\97ã\81¦ã\81¯ã\80\81ã\81\84ã\81\8bã\81ªã\82\8b許å\8f¯ã\82\82ä»\98ã\81\8bã\81ªã\81\84ã\80\82ç\8f¾å\9c¨ã\81® umask ã\81\8c
-より厳格な場合、付けられる許可はさらに厳しくなる。
+ファイルではなく、ディレクトリを作成する。
+作成されるディレクトリには現在のユーザに対して、読み、書き、検索の許可が付くが、
\82°ã\83«ã\83¼ã\83\97ã\82\84ã\81\9dã\81®ä»\96ã\81®ã\83¦ã\83¼ã\82¶ã\81«å¯¾ã\81\97ã\81¦ã\81¯ã\80\81ã\81\84ã\81\8bã\81ªã\82\8b許å\8f¯ã\82\82ä»\98ã\81\8bã\81ªã\81\84ã\80\82
+現在の umask がより厳格な場合、付けられる許可はさらに厳しくなる。
 
 @item -q
 @itemx --quiet
@@ -14274,46 +14125,45 @@ nzC
 @itemx --dry-run
 @opindex -u
 @opindex --dry-run
-既存のファイルの名前と重ならないテンポラリファイル用の名前を生成
-するが、ファイルシステムの内容を変更することはない (訳注: 要する
-に、テンポラリファイル名を生成表示するだけで、実際にファイルを
-作成することはないということ)。このコマンドの出力を使って、新しい
-ファイルを作るのは、本質的に安全ではない。名前の生成とその使用との
-間には、時間差があり、その間に他のプロセスが同じ名前でオブジェクト
-を作成することもありえるからである。
+既存のファイルの名前と重ならないテンポラリファイル用の名前を生成するが、
+ファイルシステムの内容を変更することはない (訳注: 要するに、
+テンポラリファイル名を生成表示するだけで、実際にファイルを作成することはないということ)。
+このコマンドの出力を使って、新しいファイルを作るのは、本質的に安全ではない。
+名前の生成とその使用との間には、時間差があり、
+その間に他のプロセスが同じ名前でオブジェクトを作成することもありえるからである。
 
 @item -p @var{dir}
 @itemx --tmpdir[=@var{dir}]
 @opindex -p
 @opindex --tmpdir
 @var{template} をディレクトリ @var{dir} を基点とする相対パスとして扱う。
-@var{dir} が指定されていない場合や (ロングオプションの @option{--tmpdir} でのみ
-可能)、空文字列の場合は、環境変数 @env{TMPDIR} が設定されていれば、その
-値を使用し、設定されていなければ、@samp{/tmp} を使用する。このオプション
\82\92æ\8c\87å®\9aã\81\99ã\82\8bå ´å\90\88ã\80\81 @var{template} ã\81¯çµ¶å¯¾ã\83\91ã\82¹ã\81§ã\81\82ã\81£ã\81¦ã\81¯ã\81ªã\82\89ã\81ªã\81\84ã\80\82ã\81¨ã\81¯è¨\80ã\81\88ã\80\81
-@var{template} にスラッシュが含まれていても構わないが、その場合、途中に
-あるディレクトリはすでに存在していなければならない。
+@var{dir} が指定されていない場合や (ロングオプションの @option{--tmpdir}
+でのみ可能)、空文字列の場合は、環境変数 @env{TMPDIR} が設定されていれば、
+その値を使用し、設定されていなければ、@samp{/tmp} を使用する。
\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92æ\8c\87å®\9aã\81\99ã\82\8bå ´å\90\88ã\80\81 @var{template} ã\81¯çµ¶å¯¾ã\83\91ã\82¹ã\81§ã\81\82ã\81£ã\81¦ã\81¯ã\81ªã\82\89ã\81ªã\81\84ã\80\82
+とは言え、@var{template} にスラッシュが含まれていても構わないが、
\81\9dã\81®å ´å\90\88ã\80\81é\80\94中ã\81«ã\81\82ã\82\8bã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81¯ã\81\99ã\81§ã\81«å­\98å\9c¨ã\81\97ã\81¦ã\81\84ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82
 
 @item --suffix=@var{suffix}
 @opindex --suffix
-@var{template} の末尾に @var{suffix} を追加する。@var{suffix} はスラッシュを含んで
\81\84ã\81¦ã\81¯ã\81ªã\82\89ã\81ªã\81\84ã\80\82@option{--suffix} ã\82\92æ\8c\87å®\9aã\81\99ã\82\8bå ´å\90\88ã\80\81@var{template} ã\81¯ @samp{X} ã\81§çµ\82ã\82\8fã\81£
-ていなければならない。@option{--suffix} が指定されていない場合は、@var{template}
-中の最後の @samp{X} の位置を調べることで、@var{suffix} としてふさわしいもの
-を割り出す。このオプションが存在するのは、デフォルトの @var{template} を
-使ç\94¨ã\81\97ã\81¦ã\81\84ã\82\8bã\81¨ã\81\8dã\80\81@samp{X} ã\81§å§\8bã\81¾ã\82\8b @var{suffix} ã\82\92ä»\98ã\81\91ã\82\89ã\82\8cã\82\8bã\82\88ã\81\86ã\81«ã\81\99ã\82\8bã\81\9fã\82\81
-である。
+@var{template} の末尾に @var{suffix} を追加する。@var{suffix}
\81¯ã\82¹ã\83©ã\83\83ã\82·ã\83¥ã\82\92å\90«ã\82\93ã\81§ã\81\84ã\81¦ã\81¯ã\81ªã\82\89ã\81ªã\81\84ã\80\82@option{--suffix} ã\82\92æ\8c\87å®\9aã\81\99ã\82\8bå ´å\90\88ã\80\81
+@var{template} は @samp{X} で終わっていなければならない。
+@option{--suffix} が指定されていない場合は、@var{template}
+中の最後の @samp{X} の位置を調べることで、@var{suffix} としてふさわしいものを推測する。
+ã\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81\8cå­\98å\9c¨ã\81\99ã\82\8bã\81®ã\81¯ã\80\81ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81® @var{template} ã\82\92使ç\94¨ã\81\97ã\81¦ã\81\84ã\82\8bã\81¨ã\81\8dã\80\81
+@samp{X} で始まる @var{suffix} を付けられるようにするためである。
 
 @item -t
 @opindex -t
-@var{template} を、環境変数 @env{TMPDIR} が設定されていれば、その値である
\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªç\9b´ä¸\8bã\81® 1 å\80\8bã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81¨ã\81\97ã\81¦æ\89±ã\81\86ã\80\82@env{TMPDIR} ã\81\8c設å®\9aã\81\95ã\82\8cã\81¦
-いなければ、@option{-p} で指定されるディレクトリ直下、それ以外の場合は
-@samp{/tmp} 直下になる。なお、@var{template} にスラッシュが含まれていてはなら
\81ªã\81\84ã\80\82ã\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯é\9d\9eæ\8e¨å¥¨ã\81§ã\81\82ã\82\8bã\80\82@option{-t} ã\81ªã\81\97ã\81§ @option{-p} ã\82\92使ã\81\86æ\96¹ã\81\8c
-(@env{TMPDIR} よりコマンドラインの指定を優先するという点で) デフォルト
\81®å\8b\95ä½\9cã\81¨ã\81\97ã\81¦å\84ªã\82\8cã\81¦ã\81\84ã\82\8bã\81\97ã\80\81\80\94中ã\81®ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\82\82æ\8c\87å®\9aã\81§ã\81\8dã\82\8bã\81¨ã\81\84ã\81\86
-点で) 柔軟性も上だからである。
+@var{template} を、環境変数 @env{TMPDIR} が設定されていれば、
\81\9dã\81®å\80¤ã\81§ã\81\82ã\82\8bã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªç\9b´ä¸\8bã\81® 1 å\80\8bã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81¨ã\81\97ã\81¦æ\89±ã\81\86ã\80\82
+@env{TMPDIR} が設定されていなければ、@option{-p} で指定されるディレクトリ直下
+それ以外の場合は、@samp{/tmp} 直下になる。なお、@var{template}
\81«ã\82¹ã\83©ã\83\83ã\82·ã\83¥ã\81\8cå\90«ã\81¾ã\82\8cã\81¦ã\81\84ã\81¦ã\81¯ã\81ªã\82\89ã\81ªã\81\84ã\80\82ã\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯é\9d\9eæ\8e¨å¥¨ã\81§ã\81\82ã\82\8bã\80\82
+@option{-t} なしで @option{-p} を使う方が (@env{TMPDIR}
\82\88ã\82\8aã\82³ã\83\9eã\83³ã\83\89ã\83©ã\82¤ã\83³ã\81®æ\8c\87å®\9aã\82\92å\84ªå\85\88ã\81\99ã\82\8bã\81¨ã\81\84ã\81\86ç\82¹ã\81§) ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81®å\8b\95ä½\9cã\81¨ã\81\97ã\81¦å\84ªã\82\8cã\81¦ã\81\84ã\82\8bã\81\97ã\80\81
+(途中のディレクトリも指定できるという点で) 柔軟性も上だからである。
 
 @end table
 
@@ -14337,11 +14187,11 @@ nzC
 @pindex realpath
 @findex realpath
 
-@command{realpath} は、すべてのシンボリックリンクを展開し、@samp{/./} や @samp{/../} に
-対する参照を解決する。さらに、余分な @samp{/} 文字の削除も行う。デフォルト
\81§ã\81¯ã\80\81æ\8c\87å®\9aã\81\97ã\81\9fã\83\95ã\82¡ã\82¤ã\83«å\90\8dã\81®ã\81\86ã\81¡ã\80\81æ\9c\80å¾\8cã\81®è¦\81素以å¤\96ã\81®ã\81\99ã\81¹ã\81¦ã\81®è¦\81ç´ ã\81\8cå®\9få\9c¨ã\81\97ã\81¦
-いなければならない。
-@sp 1
+@command{realpath} は、すべてのシンボリックリンクを展開し、
+@samp{/./} や @samp{/../} に対する参照を解決する。
\81\95ã\82\89ã\81«ã\80\81ä½\99å\88\86ã\81ª @samp{/} æ\96\87å­\97ã\81®å\89\8aé\99¤ã\82\82è¡\8cã\81\86ã\80\82ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81§ã\81¯ã\80\81
+指定したファイル名のうち、最後の要素以外のすべての要素が実在していなければならない。
+
 書式:
 
 @example
@@ -14357,40 +14207,40 @@ realpath [@var{option}]@dots{} @var{file}@dots{}
 @opindex -e
 @opindex --canonicalize-existing
 指定されたファイル名中のすべての構成要素が実在することを確認する。
-存在しなかったり、利用できなかったりする要素があると、@option{-q} オプ
\82·ã\83§ã\83³ã\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84ã\81\8bã\81\8eã\82\8aã\80\81@command{realpath} ã\81¯ã\82¨ã\83©ã\83¼ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82\92
-出し、0 以外の終了コードで終了する。ファイル名の末尾にスラッシュ
-を付けると、その名前はディレクトリであるという指定になる。
+存在しなかったり、利用できなかったりする要素があると、@option{-q}
\82ªã\83\97ã\82·ã\83§ã\83³ã\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84ã\81\8bã\81\8eã\82\8aã\80\81@command{realpath}
+はエラーメッセージを出し、0 以外の終了コードで終了する。
\83\95ã\82¡ã\82¤ã\83«å\90\8dã\81®æ\9c«å°¾ã\81«ã\82¹ã\83©ã\83\83ã\82·ã\83¥ã\82\92ä»\98ã\81\91ã\82\8bã\81¨ã\80\81ã\81\9dã\81®å\90\8då\89\8dã\81¯ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81§ã\81\82ã\82\8bã\81¨ã\81\84ã\81\86æ\8c\87å®\9aã\81«ã\81ªã\82\8bã\80\82
 
 @item -m
 @itemx --canonicalize-missing
 @opindex -m
 @opindex --canonicalize-missing
-指定されたファイル名中に存在しなかったり、使用できなかったりする
-構成要素があれば、それをディレクトリとして処理する。
+指定されたファイル名中に存在しなかったり、使用できなかったりする構成要素があれば、
+それをディレクトリとして処理する。
 
 @item -L
 @itemx --logical
 @opindex -L
 @opindex --logical
\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\83\95ã\82¡ã\82¤ã\83«å\90\8d中ã\81«ã\81\82ã\82\8bã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\82\92å±\95é\96\8bã\81\99ã\82\8bã\80\82ã\81\9fã\81 ã\81\97
-シンボリックリンクに @samp{..} という要素が後続している場合は、シンボ
\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81®å±\95é\96\8bã\82\92è¡\8cã\81\86å\89\8dã\81«ã\80\81ã\81\9dã\81¡ã\82\89ã\82\92å\85\88ã\81«å\87¦ç\90\86ã\81\99ã\82\8bã\80\82(訳注: ä¾\8bã\82\92
-挙げた方が、わかりやすいだろう。@samp{symlink-directory/../..} といった
\83\95ã\82¡ã\82¤ã\83«å\90\8dã\81\8cä¸\8eã\81\88ã\82\89ã\82\8cã\81\9få ´å\90\88ã\80\81symlink-directory ã\81¨ã\81\84ã\81\86ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯
\83ªã\83³ã\82¯ã\81\9dã\81®ã\82\82ã\81®ã\81®è¦ªã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81®è¦ªã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81«å±\95é\96\8bã\81\99ã\82\8bã\81¨ã\81\84ã\81\86
-こと。次項の注と比較していただきたい。)
\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\83\95ã\82¡ã\82¤ã\83«å\90\8d中ã\81«ã\81\82ã\82\8bã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81®å±\95é\96\8bã\82\92è¡\8cã\81\86ã\81\8c
+シンボリックリンクに @samp{..} という要素が後続している場合は、
\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\82\92å±\95é\96\8bã\81\99ã\82\8bã\82\88ã\82\8aå\89\8dã\81«ã\80\81ã\81\9dã\81¡ã\82\89ã\82\92å\85\88ã\81«å\87¦ç\90\86ã\81\99ã\82\8bã\80\82
+(訳注: 例を挙げた方が、わかりやすいだろう。@samp{symlink-directory/../..}
\81¨ã\81\84ã\81£ã\81\9fã\83\95ã\82¡ã\82¤ã\83«å\90\8dã\81\8cä¸\8eã\81\88ã\82\89ã\82\8cã\81\9få ´å\90\88ã\80\81symlink-directory
\81¨ã\81\84ã\81\86ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81\9dã\81®ã\82\82ã\81®ã\81®è¦ªã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81®è¦ªã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81«å±\95é\96\8bã\81\99ã\82\8bã\81¨ã\81\84ã\81\86ã\81\93ã\81¨ã\80\82
+次項の注と比較していただきたい。)
 
 @item -P
 @itemx --physical
 @opindex -P
 @opindex --physical
\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\83\95ã\82¡ã\82¤ã\83«å\90\8d中ã\81«ã\81\82ã\82\8bã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\82\92å±\95é\96\8bã\81\99ã\82\8bã\80\82ã\82·ã\83³ã\83\9c
\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81« @samp{..} ã\81¨ã\81\84ã\81\86è¦\81ç´ ã\81\8cå¾\8cç¶\9aã\81\97ã\81¦ã\81\84ã\82\8bå ´å\90\88ã\82\82ã\80\81ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯
\83ªã\83³ã\82¯ã\82\92å±\95é\96\8bã\81\97ã\81¦ã\81\8bã\82\89ã\80\81@samp{..} ã\81®å\87¦ç\90\86ã\82\92è¡\8cã\81\86ã\80\82ã\81\93ã\81¡ã\82\89ã\81\8cã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81®å\8b\95ä½\9c
\83¢ã\83¼ã\83\89ã\81§ã\81\82ã\82\8bã\80\82(訳注: ã\81\99ã\81ªã\82\8fã\81¡ã\80\81@samp{symlink-directory/../..} ã\81¨ã\81\84ã\81£ã\81\9f
-ファイル名が与えられた場合、シンボリックリンクの参照先の親ディレ
-クトリの親ディレクトリに展開する。)
\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\83\95ã\82¡ã\82¤ã\83«å\90\8d中ã\81«ã\81\82ã\82\8bã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\81®å±\95é\96\8bã\82\92è¡\8cã\81\86é\9a\9bã\80\81
\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81« @samp{..} ã\81¨ã\81\84ã\81\86è¦\81ç´ ã\81\8cå¾\8cç¶\9aã\81\97ã\81¦ã\81\84ã\82\8bå ´å\90\88ã\82\82ã\80\81
\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\82\92å±\95é\96\8bã\81\97ã\81¦ã\81\8bã\82\89ã\80\81@samp{..} ã\81®å\87¦ç\90\86ã\82\92è¡\8cã\81\86ã\80\82
\81\93ã\81¡ã\82\89ã\81\8cã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81®å\8b\95ä½\9cã\83¢ã\83¼ã\83\89ã\81§ã\81\82ã\82\8bã\80\82(訳注: ã\81\99ã\81ªã\82\8fã\81¡ã\80\81
+@samp{symlink-directory/../..} といったファイル名が与えられた場合、
\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81®å\8f\82ç\85§å\85\88ã\81®è¦ªã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81®è¦ªã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81«å±\95é\96\8bã\81\99ã\82\8bã\80\82)
 
 @item -q
 @itemx --quiet
@@ -14398,24 +14248,6 @@ realpath [@var{option}]@dots{} @var{file}@dots{}
 @opindex --quiet
 指定されたファイル名についてエラーメッセージを出力しない。
 
-@item -s
-@itemx --strip
-@itemx --no-symlinks
-@opindex -s
-@opindex --strip
-@opindex --no-symlinks
-シンボリックリンクの展開を行わない。すなわち、@samp{/./} や @samp{/../} の
-参照の解決と、余分な @samp{/} 文字の削除だけを行う。@option{-m} オプションと
-組み合わせた場合、@command{realpath} は与えられたファイル名に対して操作を
-行うだけであり、その各要素が存在しているかどうか、実在のファイルに
-当たってみることはない。
-
-@item -z
-@itemx --zero
-@opindex -z
-@opindex --zero
-出力する項目を NUL 文字で区切る。
-
 @item --relative-to=@var{file}
 @opindex --relative-to
 @cindex relpath
@@ -14425,17 +14257,17 @@ realpath [@var{option}]@dots{} @var{file}@dots{}
 
 @item --relative-base=@var{base}
 @opindex --relative-base
-このオプションは @option{--relative-to} と一緒に使うこともでき、その
-場合は、操作対象の @var{file} が @var{base} 以下のディレクトリに存在するとき
-にのみ、相対パス名を表示するように、@option{--relative-to} の出力に制限
-を課す。@var{file} が @var{base} 以下のディレクトリに存在しないときは、出力
-は絶対パスのファイル名になる。@option{--relative-to} を指定しなかった
-場合、@var{base} 以下のディレクトリに存在するファイルは、@var{base} を基点
\81¨ã\81\99ã\82\8bç\9b¸å¯¾ã\83\91ã\82¹ã\81§è¡¨ç¤ºã\81\95ã\82\8cã\82\8bã\80\82@option{--relative-to} ã\82\82æ\8c\87å®\9aã\81\99ã\82\8bã\81ªã\82\89ã\80\81ã\81\9dã\81®
\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81¯ @var{base} ã\81®ä¸\8bä½\8dã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81§ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81\9aã\80\81ã\81\95ã\82\82ã\81ªã\81\84
\81¨ã\80\81ã\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯å\8a¹æ\9e\9cã\82\92æ\8c\81ã\81\9fã\81ªã\81\84ã\80\82ã\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯ã\80\81ã\83\95ã\82¡ã\82¤ã\83«
-の存在に関して @option{-m} や @option{-e} オプションを認識することに注意して
-いただきたい。例を挙げよう。
+このオプションは @option{--relative-to} と一緒に使うこともでき、
+その場合は、操作対象の @var{file} が @var{base} 以下のディレクトリに存在するときにのみ、
+相対パス名を表示するように、@option{--relative-to} の出力に制限を課す。
+@var{file} が @var{base} 以下のディレクトリに存在しないときは、
+出力は絶対パスのファイル名になる。@option{--relative-to} を指定しなかった場合、
+@var{base} 以下のディレクトリに存在するファイルは、@var{base}
\82\92å\9fºç\82¹ã\81¨ã\81\99ã\82\8bç\9b¸å¯¾ã\83\91ã\82¹ã\81§è¡¨ç¤ºã\81\95ã\82\8cã\82\8bã\80\82@option{--relative-to} ã\82\82æ\8c\87å®\9aã\81\99ã\82\8bã\81ªã\82\89ã\80\81
\81\9dã\81®ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81¯ @var{base} ã\81®ä¸\8bä½\8dã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81§ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81\9aã\80\81
\81\95ã\82\82ã\81ªã\81\84ã\81¨ã\80\81ã\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯å\8a¹æ\9e\9cã\82\92æ\8c\81ã\81\9fã\81ªã\81\84ã\80\82ã\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\81®å­\98å\9c¨ã\81«é\96¢ã\81\97ã\81¦
+@option{-m} や @option{-e} オプションを認識することに注意していただきたい。
+例を挙げよう。
 
 @example
 realpath --relative-to=/usr /tmp /usr/bin
@@ -14446,6 +14278,20 @@ realpath --relative-base=/usr /tmp /usr/bin
 @result{} bin
 @end example
 
+@item -s
+@itemx --strip
+@itemx --no-symlinks
+@opindex -s
+@opindex --strip
+@opindex --no-symlinks
+シンボリックリンクの展開を行わない。すなわち、@samp{/./} や @samp{/../}
+の参照の解決と、余分な @samp{/} 文字の削除だけを行う。
+@option{-m} オプションと組み合わせた場合、@command{realpath}
+は与えられたファイル名に対して操作を行うだけであり、
+その各要素が存在しているかどうか、実在のファイルに当たってみることはない。
+
+@optZero
+
 @end table
 
 @cindex exit status of @command{realpath}
@@ -14463,15 +14309,15 @@ realpath --relative-base=/usr /tmp /usr/bin
 @cindex working context
 @cindex commands for printing the working context
 
-この章では、現在作業中の環境を表示したり、変更したりするコマンドを説明
\81\99ã\82\8bã\80\82ã\81\93ã\81\93ã\81§ç\92°å¢\83ã\81¨ã\81\84ã\81\86ã\81®ã\81¯ã\80\81ã\82«ã\83¬ã\83³ã\83\88ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\80\81端æ\9c«ã\81®è¨­å®\9aã\81ªã\81©ã\81§ã\81\82ã\82\8bã\80\82
+この章では、現在作業中の環境を表示したり、変更したりするコマンドを説明する。
+ここで環境というのは、カレントディレクトリ、端末の設定などである。
 次章で取り上げるユーザ関係のコマンドも参照していただきたい。
 
 @menu
 * pwd invocation::           現在作業中のディレクトリを表示する。
 * stty invocation::          端末の諸特性を表示・変更する。
 * printenv invocation::      環境変数を表示する。
-* tty invocation::           æ¨\99æº\96å\87º力に接続している端末のファイル名を表示する。
+* tty invocation::           æ¨\99æº\96å\85¥力に接続している端末のファイル名を表示する。
 @end menu
 
 
@@ -14485,7 +14331,7 @@ realpath --relative-base=/usr /tmp /usr/bin
 
 
 @command{pwd} は、カレントディレクトリの名前を表示する。
-@sp 1
+
 書式:
 
 @example
@@ -14499,8 +14345,9 @@ pwd [@var{option}]@dots{}
 @itemx --logical
 @opindex -L
 @opindex --logical
-環境変数 @env{PWD} の値が、@samp{.} や @samp{..} を含まないカレントディレクトリ
-の絶対パス名であっても、シンボリックリンクは含んでいるかもしれない。
+環境変数 @env{PWD} の値が、@samp{.} や @samp{..}
+を含まないカレントディレクトリの絶対パス名であっても、
+シンボリックリンクは含んでいるかもしれない。
 その場合は、その値をそのまま出力する。それ以外の場合は、デフォルトの
 @option{-P} オプションと同じ処理を行う。
 
@@ -14509,13 +14356,13 @@ pwd [@var{option}]@dots{}
 @opindex -P
 @opindex --physical
 カレントディレクトリについて、参照を完全に解決した名前を表示する。
-すなわち、表示される名前のすべての要素が、本物のディレクトリの名前
\81«ã\81ªã\82\8aã\80\81ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81¯ä¸\80ã\81¤ã\82\82å\90«ã\81¾ã\82\8cã\81ªã\81\84ã\80\82
+すなわち、表示される名前のすべての要素が、本物のディレクトリの名前になり、
+シンボリックリンクは一つも含まれない。
 @end table
 
 @cindex symbolic links and @command{pwd}
-@option{-L} と @option{-P} のオプションが両方とも指定されている場合は、最後に
-指定された方が優先される。どちらのオプションも指定されない場合は、
+@option{-L} と @option{-P} のオプションが両方とも指定されている場合は、
\9c\80å¾\8cã\81«æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fæ\96¹ã\81\8cå\84ªå\85\88ã\81\95ã\82\8cã\82\8bã\80\82ã\81©ã\81¡ã\82\89ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\82æ\8c\87å®\9aã\81\95ã\82\8cã\81ªã\81\84å ´å\90\88ã\81¯ã\80\81
 環境変数  @env{POSIXLY_CORRECT} が設定されていないかぎり、この実装では、
 @option{-P} がデフォルトとして使用される。
 
@@ -14534,7 +14381,7 @@ pwd [@var{option}]@dots{}
 
 @command{stty} は、たとえばボーレート (baud rate) のような、端末の諸特性を表示、
 または変更する。
-@sp 1
+
 書式:
 
 @example
@@ -14542,15 +14389,15 @@ stty [@var{option}] [@var{setting}]@dots{}
 stty [@var{option}]
 @end example
 
-tty ラインの設定を一つも指定しない場合、@command{stty} は、ボーレートと
-(それをサポートしているシステムでは) ライン制御規則番号 (line discipline
-number)、それに、ライン設定のうち @samp{stty sane} によって設定される値から
-変更のあるものを表示する。デフォルトでは、モードの取得や設定は、
-標準入力に結びついている tty ラインに対して行うが、これは @option{--file}
-オプションによって変更することができる。
+tty ラインの設定 (訳注: 上記書式の @var{setting}) を一つも指定しない場合、
+@command{stty} は、ボーレートと (それをサポートしているシステムでは)
+ライン制御規則番号 (line discipline number)、それに、ライン設定のうち
+@samp{stty sane} によって設定される値から変更のあるものを表示する。
+デフォルトでは、モードの取得や設定は、標準入力に結びついている tty ラインに対して行うが、
\81\93ã\82\8cã\81¯ @option{--file} ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81«ã\82\88ã\81£ã\81¦å¤\89æ\9b´ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\80\82
 
-@command{stty} では、以下で述べるように、オプションではないたくさんの
-引数が使える。そうした引数は、端末ライン運用の様々な面を変更する。
+@command{stty} では、以下で述べるように、オプションではないたくさんの引数が使える。
+そうした引数は、端末ライン運用の様々な面を変更する。
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 
@@ -14559,47 +14406,48 @@ number)、それに、ライン設定のうち @samp{stty sane} によって設
 @itemx --all
 @opindex -a
 @opindex --all
-現在のすべての設定を人間に読みやすい形で表示する。このオプションを
-指定したときには、ラインの設定はできない。
+現在のすべての設定を人間に読みやすい形で表示する。
+このオプションを指定したときには、ラインの設定はできない。
 
 @item -F @var{device}
 @itemx --file=@var{device}
 @opindex -F
 @opindex --file
 標準入力に結びついている tty ラインを操作の対象にする代わりに、
-@var{device} で指定されたファイル名を使ってオープンするラインを操作
-の対象にする。このオプションが必要なのは、POSIX 準拠の tty を
-オープンするには、@code{O_NONDELAY} フラグを使う必要があるからだ。
-そうしないと、POSIX 準拠の tty は、@code{clocal} フラグがセットされて
-いない場合に、キャリア検出線 (carrier detect line) が活発化する
-まで、ブロッキングを起こす。そんなわけで、デバイスのオープンは、
-いつも通りのやり方で (訳注: たとえば、@samp{stty < /dev/ttyS1} といった
-形で) シェルにやらせておけばよい、というわけには必ずしも行かない
-のである。
+@var{device} で指定されたファイル名を使ってオープンするラインを操作の対象にする。
+このオプションが必要なのは、POSIX 準拠の tty をオープンするには、
+@code{O_NONDELAY} フラグを使う必要があるからだ。
+そうしないと、POSIX 準拠の tty は、@code{clocal} フラグがセットされていない場合に、
+キャリア検出線 (carrier detect line) が活発化するまで、ブロッキングを起こす。
+そんなわけで、デバイスのオープンは、いつも通りのやり方で
+(訳注: たとえば、@samp{stty < /dev/ttyS1} といった形で)
+シェルにやらせておけばよい、というわけには必ずしも行かないのである。
 
 @item -g
 @itemx --save
 @opindex -g
 @opindex --save
 @cindex machine-readable @command{stty} output
-現在の設定を別の @command{stty} コマンドを使って再現する際に、その引数と
\81\97ã\81¦ä½¿ã\81\88ã\82\8bã\82\88ã\81\86ã\81ªå½¢ã\81§ã\80\81ç\8f¾å\9c¨ã\81®ã\81\99ã\81¹ã\81¦ã\81®è¨­å®\9aã\82\92表示ã\81\99ã\82\8bã\80\82ã\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³
-を指定したときには、ラインの設定はできない。
+現在の設定を別の @command{stty} コマンドを使って再現する際に、
\81\9dã\81®å¼\95æ\95°ã\81¨ã\81\97ã\81¦ä½¿ã\81\88ã\82\8bã\82\88ã\81\86ã\81ªå½¢ã\81§ã\80\81ç\8f¾å\9c¨ã\81®ã\81\99ã\81¹ã\81¦ã\81®è¨­å®\9aã\82\92表示ã\81\99ã\82\8bã\80\82
\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92æ\8c\87å®\9aã\81\97ã\81\9fã\81¨ã\81\8dã\81«ã\81¯ã\80\81ã\83©ã\82¤ã\83³ã\81®è¨­å®\9aã\81¯ã\81§ã\81\8dã\81ªã\81\84ã\80\82
 
 @end table
 
-設定の多くは、前に @samp{-} を付けることで OFF にすることができる。以下
-では、そうした引数については、説明中に「無効化できる」と記しておいた。
-説明そのものは、有効にする場合について、すなわち、@samp{-} で OFF にしない
-場合について述べている (「無効にした場合」とはっきりことわっている場合
-は、もちろん別である)。
+設定の多くは、前に @samp{-} を付けることで OFF にすることができる。
+以下では、そうした引数については、説明中に「無効化できる」と記しておいた。
+説明そのものは、有効にする場合について、すなわち、@samp{-} で OFF にしない場合について述べている
+(「無効にした場合」とはっきりことわっている場合は、もちろん別である)。
+
+設定の中には、すべての POSIX 準拠システムで利用できるとはかぎらないものもある。
+そうしたものは、拡張機能を使用しているからだ。
+以下では、そうした引数については、説明中に「非 POSIX」と記しておいた。
+非 POSIX のシステムであっても、そうした設定が使えないことがあるかもしれないが、
+あらゆる場合について書いておくことは、不可能である。とりあえず、試してみていただきたい。
 
-設定の中には、すべての POSIX 準拠システムで利用できるとはかぎらない
-ものもある。そうしたものは、拡張機能を使用しているからだ。以下では、
-そうした引数については、説明中に「非 POSIX」と記しておいた。非 POSIX
-のシステムであっても、そうした設定が使えないことがあるかもしれないが、
-あらゆる場合について書いておくことは、不可能である。とりあえず、試して
-みていただきたい。
+@command{stty} がインストールされるのは、POSIX ターミナルインターフェースを備えたシステムだけである。
+従って、移植を考慮したスクリプトでは、非 POSIX システムに @command{stty}
+コマンドが存在することを当てにしない方がよい。
 
 @exitstatus
 
@@ -14624,15 +14472,15 @@ number)、それに、ライン設定のうち @samp{stty sane} によって設
 @item parenb
 @opindex parenb
 @cindex two-way parity
-出力にパリティビットを生成し、入力にもパリティビットがあるものと
-期待する。無効化できる。
+出力にパリティビットを生成し、入力にもパリティビットがあるものと期待する。
+無効化できる。
 
 @item parodd
 @opindex parodd
 @cindex odd parity
 @cindex even parity
-パリティを奇数に設定する。無効化できる (この設定の場合、@samp{-} の前置
-は偶数パリティを意味する)。
+パリティを奇数に設定する。無効化できる (この設定の場合、@samp{-}
\81®å\89\8dç½®ã\81¯å\81¶æ\95°ã\83\91ã\83ªã\83\86ã\82£ã\82\92æ\84\8få\91³ã\81\99ã\82\8b\80\82
 
 @item cmspar
 @opindex cmspar
@@ -14640,10 +14488,10 @@ number)、それに、ライン設定のうち @samp{stty sane} によって設
 @cindex stick parity
 @cindex mark parity
 @cindex space parity
-"stick" (mark/space) パリティを使用する。parodd が設定されている
-場合、このパリティビットは常に 1 である。parodd が設定されていない
-場合、このパリティビットは常に 0 だ。非 POSIX。無効化できる
-(coreutils-8.22 の新機能)
+"stick" (mark/space) パリティを使用する。
+parodd が設定されている場合、このパリティビットは常に 1 である。
+parodd が設定されていない場合、このパリティビットは常に 0 だ
+非 POSIX。無効化できる。
 
 @item cs5
 @itemx cs6
@@ -14657,8 +14505,8 @@ number)、それに、ライン設定のうち @samp{stty sane} によって設
 @item hup
 @itemx hupcl
 @opindex hup[cl]
-最後のプロセスが tty をクローズするとき、ハングアップ・シグナルを
-送る。無効化できる。
+最後のプロセスが tty をクローズするとき、ハングアップ・シグナルを送る。
+無効化できる。
 
 @item cstopb
 @opindex cstopb
@@ -14731,8 +14579,7 @@ DTR/DSR フロー制御を有効にする。非 POSIX。無効化できる。
 @item inlcr
 @opindex inlcr
 @cindex newline, translating to return
-改行文字 (newline) を復帰文字 (carriage return) に変換する。無効化
-できる。
+改行文字 (newline) を復帰文字 (carriage return) に変換する。無効化できる。
 
 @item igncr
 @opindex igncr
@@ -14753,8 +14600,8 @@ DTR/DSR フロー制御を有効にする。非 POSIX。無効化できる。
 @opindex ixon
 @kindex C-s/C-q flow control
 @cindex XON/XOFF flow control
-XON/XOFF フロー制御を有効にする (すなわち、@kbd{CTRL-S}/@kbd{CTRL-Q} を
-有効にする)。無効化できる。
+XON/XOFF フロー制御を有効にする (すなわち、@kbd{Ctrl-S}/@kbd{Ctrl-Q}
+有効にする)。無効化できる。
 
 @item ixoff
 @itemx tandem
@@ -14769,10 +14616,10 @@ XON/XOFF フロー制御を有効にする (すなわち、@kbd{CTRL-S}/@kbd{CTR
 @item iuclc
 @opindex iuclc
 @cindex uppercase, translating to lowercase
-大文字を小文字に変換する。非 POSIX。無効化できる。ilcuc は実装
-されていないことに注意していただきたい。そんなものを有効にしたら、
\81»ã\81¨ã\82\93ã\81©ã\81® (å°\8fæ\96\87å­\97ã\81§ã\81\82ã\82\8b) Unix ã\81®ã\82³ã\83\9eã\83³ã\83\89ã\81\8cã\80\81æ\89\93ã\81¡è¾¼ã\82\81ã\81ªã\81\8fã\81ªã\81£ã\81¦
-しまうからである
+大文字を小文字に変換する。非 POSIX。無効化できる。
+ilcuc は実装されていないことに注意していただきたい。
\81\9dã\82\93ã\81ªã\82\82ã\81®ã\82\92æ\9c\89å\8a¹ã\81«ã\81\97ã\81\9fã\82\89ã\80\81ã\81»ã\81¨ã\82\93ã\81©ã\81® (å°\8fæ\96\87å­\97ã\81§ã\81\82ã\82\8b) Unix ã\81®ã\82³ã\83\9eã\83³ã\83\89ã\81\8cã\80\81
+打ち込めなくなってしまうからだ
 
 @item ixany
 @opindex ixany
@@ -14782,8 +14629,8 @@ XON/XOFF フロー制御を有効にする (すなわち、@kbd{CTRL-S}/@kbd{CTR
 @item imaxbel
 @opindex imaxbel
 @cindex beeping at input buffer full
-入力バッファが一杯のとき、文字を受け取ると、入力バッファをフラッシュ
\81\9bã\81\9aã\81«ã\80\81ã\83\93ã\83¼ã\83\97é\9f³ã\82\92é³´ã\82\89ã\81\99ã\82\88ã\81\86ã\81«ã\81\99ã\82\8bã\80\82é\9d\9e POSIXã\80\82ç\84¡å\8a¹å\8c\96ã\81§ã\81\8dã\82\8bã\80\82
+入力バッファが一杯のとき、文字を受け取ると、入力バッファをフラッシュせずに、
+ビープ音を鳴らすようにする。非 POSIX。無効化できる。
 @end table
 
 
@@ -14796,14 +14643,14 @@ XON/XOFF フロー制御を有効にする (すなわち、@kbd{CTRL-S}/@kbd{CTR
 @table @samp
 @item opost
 @opindex opost
-出力に対して後処理 (postprocess) を行う (訳注: すなわち、以下に列挙
-するようなことをする)。無効化できる。
+出力に対して後処理 (postprocess) を行う
+(訳注: すなわち、以下に列挙するようなことをする)。無効化できる。
 
 @item olcuc
 @opindex olcuc
 @cindex lowercase, translating to output
-小文字を大文字に変換する。非 POSIX。無効化できる。(ouclc は現在の
-ところ、実装されていないことに注意。)
+小文字を大文字に変換する。非 POSIX。無効化できる。
+(ouclc は現在のところ、実装されていないことに注意。)
 
 @item ocrnl
 @opindex ocrnl
@@ -14827,9 +14674,8 @@ XON/XOFF フロー制御を有効にする (すなわち、@kbd{CTRL-S}/@kbd{CTR
 @item ofill
 @opindex ofill
 @cindex pad instead of timing for delaying
-時間で間合いを計る代りに、充填文字 (埋め草文字) を何字か送る
-ことで、遅延を行う。非 POSIX。無効化できる。(訳注: 遅延という
-のは、端末側の処理が済むまで、データの送出を遅らせること)。
+時間で間合いを計る代りに、充填文字 (埋め草文字) を何字か送ることで、遅延を行う。
+非 POSIX。無効化できる。(訳注: 遅延というのは、端末側の処理が済むまで、データの送出を遅らせること)。
 
 @item ofdel
 @opindex ofdel
@@ -14881,13 +14727,12 @@ XON/XOFF フロー制御を有効にする (すなわち、@kbd{CTRL-S}/@kbd{CTR
 @table @samp
 @item isig
 @opindex isig
-特殊文字 @code{interrupt}, @code{quit}, @code{suspend} を有効にする。無効化
-できる。
+特殊文字 @code{interrupt}, @code{quit}, @code{suspend} を有効にする。無効化できる。
 
 @item icanon
 @opindex icanon
-特殊文字 @code{erase}, @code{kill}, @code{werase}, @code{rprnt} を有効にする。無効化
-できる。
+特殊文字 @code{erase}, @code{kill}, @code{werase}, @code{rprnt}
\82\92æ\9c\89å\8a¹ã\81«ã\81\99ã\82\8bã\80\82ç\84¡å\8a¹å\8c\96ã\81§ã\81\8dã\82\8bã\80\82
 
 @item iexten
 @opindex iexten
@@ -14901,8 +14746,7 @@ POSIX にない特殊文字を有効にする。無効化できる。
 @itemx crterase
 @opindex echoe
 @opindex crterase
-@code{erase} 文字を「バックスペース、スペース、バックスペース」として
-エコーする。無効化できる。
+@code{erase} 文字を「バックスペース、スペース、バックスペース」としてエコーする。無効化できる。
 
 @item echok
 @opindex echok
@@ -14918,17 +14762,16 @@ POSIX にない特殊文字を有効にする。無効化できる。
 @item noflsh
 @opindex noflsh
 @cindex flushing, disabling
-特殊文字 @code{interrupt} や @code{quit} の後で、フラッシュを行わない。無効化
-できる。
+特殊文字 @code{interrupt} や @code{quit} の後で、フラッシュを行わない。無効化できる。
 
 @item xcase
 @opindex xcase
 @cindex case translation
-@code{icanon} が設定されているとき、小文字を表す文字の頭に @samp{\} を付ける
-ことで、大文字の入出力を可能にする。非 POSIX。無効化できる。
-(訳注: たとえば、大文字しか入出力できない端末で、ただの @samp{A} なら
-小文字の a を意味し、@samp{\A} なら大文字の A を意味するということ。
-次節「組み合わせ設定」の lcase と termios(3) を参照。)
+@code{icanon} が設定されているとき、小文字を表す文字の頭に
+@samp{\} を付けることで、大文字の入出力を可能にする。非 POSIX。無効化できる。
+(訳注: たとえば、大文字しか使えない端末で、ただの @samp{A} なら小文字の
+a を意味し、@samp{\A} なら大文字の A を意味するようにすること。
+次ç¯\80ã\80\8cçµ\84ã\81¿å\90\88ã\82\8fã\81\9b設å®\9aã\80\8dã\81® lcase ã\81¨ termios(3) ã\81® XCASE ã\81®èª¬æ\98\8eã\82\92å\8f\82ç\85§ã\80\82)
 
 @item tostop
 @opindex tostop
@@ -14949,16 +14792,28 @@ POSIX にない特殊文字を有効にする。無効化できる。
 @opindex ctlecho
 @cindex control characters, using @samp{^@var{c}}
 @cindex hat notation for control characters
-制御文字をそのまま表示するのではなく、ハット記法 (@samp{^@var{c}}) で
-エコーする。非 POSIX。無効化できる。
+制御文字をそのまま表示するのではなく、ハット記法 (@samp{^@var{c}}) でエコーする。
+非 POSIX。無効化できる。
 
 @item echoke
 @itemx crtkill
 @opindex echoke
 @opindex crtkill
 行上の各文字を削除することで、特殊文字 @code{kill} のエコーを行う際、
-@code{echoctl} や @code{echok} の設定ではなく、@code{echoprt} や @code{echoe} の設定が
-指示するところに従う。非 POSIX。無効化できる。
+@code{echoctl} や @code{echok} の設定ではなく、@code{echoprt} や
+@code{echoe} の設定が指示するところに従う。非 POSIX。無効化できる。
+
+@item extproc
+@opindex extproc
+@samp{LINEMODE} を有効にする。@samp{LINEMODE}
+を使用すれば、各文字のエコーを遅延の大きいリンクを通して行わないで済む。
+@uref{ftp://ftp.rfc-editor.org/in-notes/rfc1116.txt, Internet RFC 1116}
+も参照していただきたい。非 POSIX。無効化できる。
+
+@item flusho
+@opindex flusho
+出力を破棄する。この設定は、現在のところ GNU/Linux システムでは無視されることに注意。
+非 POSIX。無効にできる。
 @end table
 
 
@@ -14996,11 +14851,11 @@ POSIX にない特殊文字を有効にする。無効化できる。
 
 @c This is too long to write inline.
 @example
-cread -ignbrk brkint -inlcr -igncr icrnl -ixoff
--iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr
--onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0
-ff0 isig icanon iexten echo echoe echok -echonl
--noflsh -xcase -tostop -echoprt echoctl echoke
+cread -ignbrk brkint -inlcr -igncr icrnl
+icanon iexten echo echoe echok -echonl -noflsh
+-ixoff -iutf8 -iuclc -ixany imaxbel -xcase -olcuc -ocrnl
+opost -ofill onlcr -onocr -onlret nl0 cr0 tab0 bs0 vt0 ff0
+isig -tostop -ofdel -echoprt echoctl echoke -extproc
 @end example
 
 @noindent
@@ -15009,9 +14864,9 @@ ff0 isig icanon iexten echo echoe echok -echonl
 @item cooked
 @opindex cooked
 @code{brkint ignpar istrip icrnl ixon opost isig icanon} に相当する。
-さらに、特殊文字 @code{eof} と @code{eol} が @code{min} 及び @code{time} 文字と同じ
\81ªã\82\89ã\81°ã\80\81@code{eof} ã\81¨ @code{eol} ã\82\92ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81®å\80¤ã\81«è¨­å®\9aã\81\99ã\82\8bã\80\82ç\84¡å\8a¹å\8c\96ã\81§ã\81\8dる。
-無効化した場合は、@code{raw} と同じになる。
+さらに、特殊文字 @code{eof} と @code{eol} が @code{min} 及び @code{time}
\81¨å\90\8cã\81\98æ\96\87å­\97ã\81«ã\81ªã\81£ã\81¦ã\81\84ã\82\8cã\81°ã\80\81@code{eof} ã\81¨ @code{eol} ã\82\92ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81®å\80¤ã\81«è¨­å®\9aã\81\99る。
\84¡å\8a¹å\8c\96ã\81§ã\81\8dã\82\8bã\80\82ç\84¡å\8a¹å\8c\96ã\81\97ã\81\9få ´å\90\88ã\81¯ã\80\81@code{raw} ã\81¨å\90\8cã\81\98ã\81«ã\81ªã\82\8bã\80\82
 
 @item raw
 @opindex raw
@@ -15019,8 +14874,8 @@ ff0 isig icanon iexten echo echoe echok -echonl
 
 @example
 -ignbrk -brkint -ignpar -parmrk -inpck -istrip
--inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany
--imaxbel -opost -isig -icanon -xcase min 1 time 0
+-inlcr -igncr -icrnl -ixon -ixoff -icanon -opost
+-isig -iuclc -ixany -imaxbel -xcase min 1 time 0
 @end example
 
 @noindent
@@ -15028,8 +14883,8 @@ ff0 isig icanon iexten echo echoe echok -echonl
 
 @item cbreak
 @opindex cbreak
-@option{-icanon} と同じである。無効化できる。無効化した場合は、@code{icanon}
-と同じになる。
+@option{-icanon} と同じである。無効化できる。
+無効化した場合は、@code{icanon} と同じになる。
 
 @item pass8
 @opindex pass8
@@ -15039,8 +14894,8 @@ ff0 isig icanon iexten echo echoe echok -echonl
 
 @item litout
 @opindex litout
-@option{-parenb -istrip -opost cs8} に相当する。無効化できる。無効化した
-場合は、@code{parenb istrip opost cs7} と同じになる。
+@option{-parenb -istrip -opost cs8} に相当する。無効化できる。
+無効化した場合は、@code{parenb istrip opost cs7} と同じになる。
 
 @item decctlq
 @opindex decctlq
@@ -15055,8 +14910,8 @@ ff0 isig icanon iexten echo echoe echok -echonl
 @itemx LCASE
 @opindex lcase
 @opindex LCASE
-@code{xcase iuclc olcuc} に相当する。非 POSIX。無効化できる。(この設定
-は、大文字しか扱えない端末で使用する。)
+@code{xcase iuclc olcuc} に相当する。非 POSIX。無効化できる。
+(この設定は、大文字しか扱えない端末で使用する。)
 
 @item crt
 @opindex crt
@@ -15074,20 +14929,21 @@ ff0 isig icanon iexten echo echoe echok -echonl
 @cindex special characters
 @cindex characters, special
 
-特殊文字のデフォルトの値は、システムによって様々である。特殊文字を設定
-するには、@samp{name value} という書式を用いる。この name に何が指定できる
\81\8bã\81¯ã\80\81以ä¸\8bã\81«å\88\97æ\8c\99ã\81\99ã\82\8bã\81\8cã\80\81value ã\81«ã\81¯ã\80\81æ\96\87å­\97ã\81\9dã\81®ã\82\82ã\81®ã\80\81ã\83\8fã\83\83ã\83\88è¨\98æ³\95 (@samp{^@var{c}})
-整数のいづれかを指定することができる。整数は、@samp{0x} で始まっていれば
-16 進数、@samp{0} で始まっていれば 8 進数、それ以外の数字なら 10 進数と
-見なされる。
+特殊文字のデフォルトの値は、システムによって様々である。
+特殊文字を設定するには、@samp{name value} という書式を用いる。
\81\93ã\81® name ã\81«ä½\95ã\81\8cæ\8c\87å®\9aã\81§ã\81\8dã\82\8bã\81\8bã\81¯ã\80\81以ä¸\8bã\81«å\88\97æ\8c\99ã\81\99ã\82\8bã\81\8cã\80\81value ã\81«ã\81¯ã\80\81æ\96\87å­\97ã\81\9dã\81®ã\82\82ã\81®
+ハット記法 (@samp{^@var{c}})、整数のいづれかを指定することができる。
+整数は、@samp{0x} で始まっていれば 16 進数、@samp{0} で始まっていれば
+8 進数、それ以外の数字なら 10 進数と見なされる。
 
 @cindex disabling special characters
 @kindex u@r{, and disabling special characters}
-GNU の stty では、値に @code{^-} や @code{undef} を指定すると、その特殊文字を
-無効にする。(これは、Ultrix の @command{stty} と互換性がない。そこでは、特殊
-文字を無効にするには @samp{u} という値が使用されるのだ。GNU の @command{stty} は、
-@samp{u} という値を特別扱いしない。すなわち、その特殊文字として @key{U} を設定
-するだけである。)
+GNU の stty では、値に @code{^-} や @code{undef} を指定すると、
+その特殊文字を無効にする。(これは、Ultrix の @command{stty}
+と互換性がない。そこでは、特殊文字を無効にするには @samp{u}
+という値が使用されるのだ。GNU の @command{stty} は、@samp{u}
+という値を特別扱いしない。すなわち、その特殊文字として @key{U}
+を設定するだけである。)
 
 @table @samp
 
@@ -15097,7 +14953,7 @@ GNU の stty では、値に @code{^-} や @code{undef} を指定すると、そ
 
 @item quit
 @opindex quit
-終了 (quit) シグナルを送る。
+中止 (quit) シグナルを送る。
 
 @item erase
 @opindex erase
@@ -15119,10 +14975,19 @@ GNU の stty では、値に @code{^-} や @code{undef} を指定すると、そ
 @opindex eol2
 行を終端する別の文字。非 POSIX。
 
+@item discard
+@opindex discard
+@opindex flush
+出力を廃棄するか否かをトグルで切り替える文字。非 POSIX。
+
 @item swtch
 @opindex swtch
 シェルの別の層 (a different shell layer) に切り換える。非 POSIX。
 
+@item status
+@opindex status
+info シグナルを送る。現在のところ Linux ではサポートされていない。非 POSIX。
+
 @item start
 @opindex start
 停止している出力を再開する。
@@ -15133,11 +14998,11 @@ GNU の stty では、値に @code{^-} や @code{undef} を指定すると、そ
 
 @item susp
 @opindex susp
-端末停止シグナル (terminal stop signal) を送る。
+端末からの停止シグナル (terminal stop signal, SIGTSTP) を送る。
 
 @item dsusp
 @opindex dsusp
-入力をフラッシュしてから、端末停止シグナルを送る。非 POSIX。
+入力をフラッシュしてから、端末からの停止シグナルを送る。非 POSIX。
 
 @item rprnt
 @opindex rprnt
@@ -15149,10 +15014,10 @@ GNU の stty では、値に @code{^-} や @code{undef} を指定すると、そ
 
 @item lnext
 @opindex lnext
-次にタイプする文字が特殊文字であっても、タイプしたとおりの文字として
-入力する。非 POSIX。(訳注: たとえば、lnext が ^V の場合、^V^D と
-続けてタイプすると、^D を入力終了の印としてではなく、^D という文字
-そのものとして入力できるということ。)
+次にタイプする文字が特殊文字であっても、タイプしたとおりの文字として入力する。
+非 POSIX。(訳注: たとえば、lnext が ^V の場合、^V^D
+と続けてタイプすると、^D を入力終了の印としてではなく、^D
\81¨ã\81\84ã\81\86æ\96\87å­\97ã\81\9dã\81®ã\82\82ã\81®ã\81¨ã\81\97ã\81¦å\85¥å\8a\9bã\81§ã\81\8dã\82\8bã\81¨ã\81\84ã\81\86ã\81\93ã\81¨ã\80\82)
 @end table
 
 
@@ -15164,15 +15029,13 @@ GNU の stty では、値に @code{^-} や @code{undef} を指定すると、そ
 @table @samp
 @item min @var{n}
 @opindex min
-@option{-icanon} が設定されている際、time の値として指定されている時間が
-経過するまでの間に、1 回分の読み込みの条件を満たす最少限の文字数を
-設定する。
+@option{-icanon} が設定されている際、time の値として指定されている時間が経過するまでの間に、
+1 回分の読み込みの条件を満たす最少限の文字数を設定する。
 
 @item time @var{n}
 @opindex time
-@option{-icanon} が設定されている際、最小限の文字数が読み込まれなかった
-場合に、読み込みが時間切れになるまでの時間を 10 分の 1 秒単位で
-設定する。
+@option{-icanon} が設定されている際、最小限の文字数が読み込まれなかった場合に、
+読み込みが時間切れになるまでの時間を 10 分の 1 秒単位で設定する。
 
 @item ispeed @var{n}
 @opindex ispeed
@@ -15192,15 +15055,28 @@ GNU の stty では、値に @code{^-} や @code{undef} を指定すると、そ
 @opindex columns
 端末の横幅は @var{n} 桁だと、カーネルに伝える。非 POSIX。
 
+@item drain
+@opindex drain
+@cindex nonblocking @command{stty} setting
+保留になっている出力が送出されるのを待ち、その後で設定を適用する。
+GNU の @command{stty} では、デフォルトで有効になっている。
+システムが、シリアルな伝送ができない状態になっているかもしれない場合には、
+このオプションを無効にするとよい。
+たとえば、@code{ixon} (ソフトウェアによるフロー制御)
+が有効になっている場合に、システムが @samp{DC3} 文字を受け取っていたりすると
+(訳注: @samp{DC3} は device control 3、すなわち ASCII 0x13、@samp{^S})、
+@code{-drain} の指定なしでは、@command{stty} はブロッキングを起こすだろう。
+無効化できる。非 POSIX。
+
 @item size
 @opindex size
 @vindex LINES
 @vindex COLUMNS
-端末の行数と桁数を表示する。これは、端末が持っていると、カーネルが
-考えている行数と桁数である。(カーネル中に行数や桁数を保持しない
-システムでは、通常その代わりに、環境変数 @env{LINES} や @env{COLUMNS} を
-使用する。それに対して、GNU の @command{stty} は、そうした環境変数に全く
\96¢ç\9f¥ã\81\97ã\81ªã\81\84ã\80\82) é\9d\9e POSIXã\80\82
+端末の行数と桁数を表示する。これは、端末が持っていると、カーネルが考えている行数と桁数である。
+(カーネルで行数や桁数をサポートしていないシステムでは、通常その代わりに、環境変数
+@env{LINES} や @env{COLUMNS} が使用される。
+それに対して、GNU の @command{stty} は、そうした環境変数について何も知らない。)
+非 POSIX。
 
 @item line @var{n}
 @opindex line
@@ -15214,13 +15090,12 @@ GNU の stty では、値に @code{^-} や @code{undef} を指定すると、そ
 @cindex baud rate, setting
 入出力の速度を @var{n} に設定する。@var{n} には次の一つが使える。0 50 75 110
 134 134.5 150 200 300 600 1200 1800 2400 4800 9600 19200 38400
-@code{exta} @code{extb}。@code{exta} は 19200 と同じであり、@code{extb} は 38400 と
-同じである。GNU/Linux を含む多くのシステムが、もっと早い速度を
-サポートしている。@command{stty} は、システムがサポートしているならという
-条件で、次の速度もサポートしている。57600 115200 230400 460800
-500000 576000 921600 1000000 1152000 1500000 2000000 2500000
-3000000 3500000 4000000。なお、0 は、@option{-clocal} が設定されている場合
-に、ラインを切断する。
+@code{exta} @code{extb}。@code{exta} は 19200 と同じであり、@code{extb} は 38400
+と同じである。GNU/Linux を含む多くのシステムが、もっと早い速度をサポートしている。
+@command{stty} は、システムがサポートしているならという条件で、次の速度もサポートしている。
+57600 115200 230400 460800 500000 576000 921600 1000000 1152000
+1500000 2000000 2500000 3000000 3500000 4000000。
+なお、0 は、@option{-clocal} が設定されている場合に、ラインを切断する。
 @end table
 
 
@@ -15232,22 +15107,22 @@ GNU の stty では、値に @code{^-} や @code{undef} を指定すると、そ
 @cindex environment variables, printing
 
 @command{printenv} は、環境変数の値を表示する。
-@sp 1
+
 書式:
 
 @example
 printenv [@var{option}] [@var{variable}]@dots{}
 @end example
 
-@var{variable} が一つも指定されていない場合、@command{printenv} はすべての環境変数
\81®å\80¤ã\82\92表示ã\81\99ã\82\8bã\80\82@var{variable} ã\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bå ´å\90\88ã\81¯ã\80\81ã\81\9dã\81®å¤\89æ\95°ã\81\9dã\82\8cã\81\9eã\82\8cã\81«
-ついて、設定されていれば値を表示し、設定されていなければ何も表示しない。
+@var{variable} が一つも指定されていない場合、@command{printenv}
\81¯ã\81\99ã\81¹ã\81¦ã\81®ç\92°å¢\83å¤\89æ\95°ã\81®å\80¤ã\82\92表示ã\81\99ã\82\8bã\80\82@var{variable} ã\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bå ´å\90\88ã\81¯ã\80\81
\81\9dã\81®å¤\89æ\95°ã\81\9dã\82\8cã\81\9eã\82\8cã\81«ã\81¤ã\81\84ã\81¦ã\80\81設å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\82\8cã\81°å\80¤ã\82\92表示ã\81\97ã\80\81設å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\91ã\82\8cã\81°ä½\95ã\82\82表示ã\81\97ã\81ªã\81\84ã\80\82
 
 このプログラムでは、以下のオプションが使える。参照: @ref{Common options}.
 
 @table @samp
 
-@optNull{printenv}
+@optNull
 
 @end table
 
@@ -15262,7 +15137,7 @@ printenv [@var{option}] [@var{variable}]@dots{}
 
 
 @node tty invocation
-@section @command{tty}: æ¨\99æº\96å\87º力に接続している端末のファイル名を表示する
+@section @command{tty}: æ¨\99æº\96å\85¥力に接続している端末のファイル名を表示する
 
 @pindex tty
 @cindex print terminal file name
@@ -15270,7 +15145,7 @@ printenv [@var{option}] [@var{variable}]@dots{}
 
 @command{tty} は、自分の標準入力に接続している端末のファイル名を表示する。
 標準入力が端末ではない場合は、@samp{not a tty} というメッセージを出す。
-@sp 1
+
 書式:
 
 @example
@@ -15308,8 +15183,8 @@ tty [@var{option}]@dots{}
 @cindex user information, commands for
 @cindex commands for printing user information
 
-この章では、ユーザ関係の情報を表示するコマンドの説明をする。誰がログイン
-しているか、どんなグループに所属しているか、などである。
+この章では、ユーザ関係の情報を表示するコマンドの説明をする。
+誰がログインしているか、どんなグループに所属しているか、などである。
 
 @menu
 * id invocation::        ユーザの ID を表示する。
@@ -15318,6 +15193,8 @@ tty [@var{option}]@dots{}
 * groups invocation::    ユーザが所属しているグループ名を表示する。
 * users invocation::     現在ログインしている全ユーザのログイン名を表示する。
 * who invocation::       現在誰がログインしているかを表示する。
+
+
 @end menu
 
 
@@ -15329,9 +15206,9 @@ tty [@var{option}]@dots{}
 @cindex effective user and group IDs, printing
 @cindex printing real and effective user and group IDs
 
-@command{id} は、指定されたユーザについて情報を表示する。ユーザが指定されて
-いない場合は、@command{id} を実行しているプロセスについて情報を表示する。
-@sp 1
+@command{id} は、指定されたユーザについて情報を表示する。
\83¦ã\83¼ã\82¶ã\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84å ´å\90\88ã\81¯ã\80\81@command{id} ã\82\92å®\9fè¡\8cã\81\97ã\81¦ã\81\84ã\82\8bã\83\97ã\83­ã\82»ã\82¹ã\81«ã\81¤ã\81\84ã\81¦æ\83\85å ±ã\82\92表示ã\81\99ã\82\8bã\80\82
+
 書式:
 
 @example
@@ -15340,19 +15217,21 @@ id [@var{option}]@dots{} [@var{user}]
 
 @var{user} にはユーザ ID (番号) とユーザ名のどちらも使えるが、ID が頭に
 @samp{+} を付けて指定されていないかぎり、まずユーザ名として検索が行われる。
+@xref{Disambiguating names and IDs}.
 
 @vindex POSIXLY_CORRECT
 デフォルトで表示するのは、実ユーザ ID、実グループ ID、実効ユーザ ID
 (実ユーザ ID と違う場合)、実効グループ ID (実グループID と違う場合)、
-それに、補助 (supplemental) グループ ID である。さらに、SELinux が
-有効になっていて、環境変数 @env{POSIXLY_CORRECT} が設定されていない場合は、
-@samp{context=@var{c}} も表示する。この @var{c} はセキュリティ・コンテキストである。
+それに、補助 (supplemental) グループ ID である。
+さらに、SELinux が有効になっていて、環境変数 @env{POSIXLY_CORRECT}
+が設定されていない場合は、@samp{context=@var{c}} も表示する。
+この @var{c} はセキュリティ・コンテキストである。
 
-表示される各数値には、それが何であるかを示す文字列が前に付き、対応
-するユーザ名やグループ名がカッコで囲まれて後ろに続く。
+表示される各数値には、それが何であるかを示す文字列が前に付き、
+対応するユーザ名やグループ名がカッコで囲まれて後ろに続く。
 
-オプションを指定すると、@command{id} は上で述べた情報のうち、一部のみを表示
-する。参照: @ref{Common options}.
+オプションを指定すると、@command{id} は上で述べた情報のうち、一部のみを表示する。
+参照: @ref{Common options}.
 
 @table @samp
 @item -g
@@ -15378,8 +15257,8 @@ ID 番号の代りに、ユーザ名やグループ名を表示する。@option{
 @itemx --real
 @opindex -r
 @opindex --real
-実効ユーザや実効グループの ID ではなく、実ユーザや実グループの ID
-を表示する。@option{-u}, @option{-g}, @option{-G} のどれか一つを指定する必要がある。
+実効ユーザや実効グループの ID ではなく、実ユーザや実グループの ID を表示する。
+@option{-u}, @option{-g}, @option{-G} のどれか一つを指定する必要がある。
 
 @item -u
 @itemx --user
@@ -15393,17 +15272,17 @@ ID 番号の代りに、ユーザ名やグループ名を表示する。@option{
 @opindex --context
 @cindex SELinux
 @cindex security context
-実行中のユーザのセキュリティ・コンテキストのみを表示する。SELinux
-が無効になっている場合は、警告メッセージを出し、終了ステータスを
-1 にする。
+現プロセスのセキュリティ・コンテキストのみを表示する。
+たいていの場合、それは、親プロセスから継承したユーザのセキュリティ・コンテキストである。
+SELinux と SMACK のどちらも有効になっていない場合は、
+警告メッセージを出し、終了ステータスを 1 にする。
 
 @item -z
 @itemx --zero
 @opindex -z
 @opindex --zero
-出力する項目を NUL 文字で区切る。このオプションは、デフォルトの
-フォーマットを使用しているときは、使うことができない。
-(coreutils-8.22 の新機能)
+出力する項目を NUL 文字で区切る。
+このオプションは、デフォルトのフォーマットを使用しているときは、使うことができない。
 
 用例:
 @example
@@ -15416,10 +15295,10 @@ users <NUL> devs <NUL>
 @macro primaryAndSupplementaryGroups{cmd,arg}
 プロセスの基本 (primary) グループや 補助 (supplementary) グループは、
 通常その親プロセスから継承され、ログイン後ずっと変わらないのが普通だ。
-従って、ログイン後にグループ・データベースを変更しても、現在のログイン
-セッションが続いている間は、@command{\cmd\} コマンドはその変更を反映しない。
-しかし、\arg\を指定して @command{\cmd\} を実行した場合は、ユーザ・
-データベースやグループ・データベースの参照が改めて行われるので、
+従って、ログイン後にグループ・データベースを変更しても、
+現在のログインセッションが続いている間は、@command{\cmd\} コマンドはその変更を反映しない。
+しかし、\arg\を指定して @command{\cmd\} を実行した場合は、
\83¦ã\83¼ã\82¶ã\83»ã\83\87ã\83¼ã\82¿ã\83\99ã\83¼ã\82¹ã\82\84ã\82°ã\83«ã\83¼ã\83\97ã\83»ã\83\87ã\83¼ã\82¿ã\83\99ã\83¼ã\82¹ã\81®å\8f\82ç\85§ã\81\8cæ\94¹ã\82\81ã\81¦è¡\8cã\82\8fã\82\8cã\82\8bã\81®ã\81§ã\80\81
 変更した結果が表示されることになる。
 @end macro
 @primaryAndSupplementaryGroups{id,引数にユーザの名前}
@@ -15435,14 +15314,14 @@ users <NUL> devs <NUL>
 @cindex user name, printing
 
 @flindex utmp
-@command{logname} ã\81¯ã\80\81è\87ªå\88\86ã\82\92å\91¼ã\81³å\87ºã\81\97ã\81\9fã\83¦ã\83¼ã\82¶ã\81®å\90\8då\89\8dã\82\92ã\80\81ã\82·ã\82¹ã\83\86ã\83 ã\81\8c管ç\90\86ã\81\97ã\81¦
-いるファイル (たいていは @file{/var/run/utmp} か @file{/etc/utmp}) で調べて
-表示し、ステータス 0 で終了する。自分を呼び出しているプロセスの
-エントリが存在しない場合は、@command{logname} はエラーメッセージを出し
-ステータス 1 で終了する。
+@command{logname} ã\81¯ã\80\81è\87ªå\88\86ã\82\92å\91¼ã\81³å\87ºã\81\97ã\81¦ã\81\84ã\82\8bã\83¦ã\83¼ã\82¶ã\81®å\90\8då\89\8dã\82\92ã\80\81ã\82·ã\82¹ã\83\86ã\83 ã\81\8c管ç\90\86ã\81\97ã\81¦ã\81\84ã\82\8bã\83\95ã\82¡ã\82¤ã\83«
+(たいていは @file{/var/run/utmp} か @file{/etc/utmp})
+で調べて表示し、ステータス 0 で終了する。
+自分を呼び出しているプロセスのエントリが存在しない場合は
\82¨ã\83©ã\83¼ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82\92å\87ºã\81\97ã\80\81ã\82¹ã\83\86ã\83¼ã\82¿ã\82¹ 1 ã\81§çµ\82äº\86ã\81\99ã\82\8bã\80\82
 
-オプションは、@option{--help} と @option{--version} だけである。@xref{Common
-options}.
+オプションは、@option{--help} と @option{--version} だけである。
+@xref{Common options}.
 
 @exitstatus
 
@@ -15457,8 +15336,8 @@ options}.
 @command{whoami} は、現在の実効ユーザ ID に対応するユーザ名を表示する。
 @samp{id -un} コマンドと同じことである。
 
-オプションは、@option{--help} と @option{--version} だけである。@xref{Common
-options}.
+オプションは、@option{--help} と @option{--version} だけである。
+@xref{Common options}.
 
 @exitstatus
 
@@ -15472,11 +15351,10 @@ options}.
 
 @command{groups} は、@var{username} が指定されていれば、指定された各ユーザの基本
 (primary) グループ名と補助 (supplementary) グループ名を表示し、
-ユーザ名が指定されていなければ、現在のプロセスの基本グループ名と
-補助グループ名を表示する。複数の名前が指定されている場合は、
-各ユーザの名前がグループのリストの前に置かれ、両者の間はコロンで
-区切られる。
-@sp 1
+ユーザ名が指定されていなければ、現在のプロセスの基本グループ名と補助グループ名を表示する。
+複数の名前が指定されている場合は、
+各ユーザの名前がグループのリストの前に置かれ、両者の間はコロンで区切られる。
+
 書式:
 
 @example
@@ -15485,8 +15363,8 @@ groups [@var{username}]@dots{}
 
 グループのリストは、@samp{id -Gn} コマンドの出力と同じである。
 
-オプションは、@option{--help} と @option{--version} だけである。@xref{Common
-options}.
+オプションは、@option{--help} と @option{--version} だけである。
+@xref{Common options}.
 
 @primaryAndSupplementaryGroups{groups,ユーザのリスト}
 
@@ -15500,12 +15378,12 @@ options}.
 @cindex usernames, printing current
 
 @cindex login sessions, printing users with
-@command{users} は、目下使用しているホストに現在ログインしている全ユーザの
-ユーザ名のリストを、空白で区切って 1 行に表示する。ユーザ名はログイン
\82»ã\83\83ã\82·ã\83§ã\83³ã\81\94ã\81¨ã\81«è¡¨ç¤ºã\81\95ã\82\8cã\82\8bã\81®ã\81§ã\80\81ã\81\82ã\82\8bã\83¦ã\83¼ã\82¶ã\81\8cè¤\87æ\95°ã\81®ã\83­ã\82°ã\82¤ã\83³ã\82»ã\83\83ã\82·ã\83§ã\83³ã\82\92
-行っていれば、そのユーザの名前はログインセッションの数だけ出力に現れる
-ことになる。
-@sp 1
+@command{users} は、目下使用しているホストに現在ログインしている全ユーザのユーザ名のリストを、
+空白で区切って 1 行に表示する。
\83¦ã\83¼ã\82¶å\90\8dã\81¯ã\83­ã\82°ã\82¤ã\83³ã\82»ã\83\83ã\82·ã\83§ã\83³ã\81\94ã\81¨ã\81«è¡¨ç¤ºã\81\95ã\82\8cã\82\8bã\81®ã\81§ã\80\81
+あるユーザが複数のログインセッションを行っていれば、
\81\9dã\81®ã\83¦ã\83¼ã\82¶ã\81®å\90\8då\89\8dã\81¯ã\83­ã\82°ã\82¤ã\83³ã\82»ã\83\83ã\82·ã\83§ã\83³ã\81®æ\95°ã\81 ã\81\91å\87ºå\8a\9bã\81«ç\8f¾ã\82\8cã\82\8bã\81\93ã\81¨ã\81«ã\81ªã\82\8bã\80\82
+
 書式:
 
 @example
@@ -15515,12 +15393,18 @@ users [@var{file}]
 @flindex utmp
 @flindex wtmp
 引数 @var{file} の指定がない場合、@command{users} はシステムが管理するファイル
-(たいていは @file{/var/run/utmp} か @file{/etc/utmp}) からログインしているユーザの
-情報を引き出す。引数 @var{file} が指定されている場合は、代りにそのファイルを
-使用する。@file{/var/log/wtmp} が使われることが多い。
+(たいていは @file{/var/run/utmp} か @file{/etc/utmp})
+からログインしているユーザの情報を引き出す。引数 @var{file}
+が指定されている場合は、代りにそのファイルを使用する。@file{/var/log/wtmp}
+が使われることが多い。
+
+オプションは、@option{--help} と @option{--version} だけである。
+@xref{Common options}.
 
-オプションは、@option{--help} と @option{--version} だけである。@xref{Common
-options}.
+@command{users} コマンドがインストールされるのは、POSIX 準拠の @code{<utmpx.h>}
+インクルードファイル、またはそれに相当するものが存在するプラットフォームだけである。
+従って、移植を考慮したスクリプトでは、非 POSIX
+のプラットフォームにも @command{users} コマンドが存在することを当てにしない方がよい。
 
 @exitstatus
 
@@ -15533,7 +15417,7 @@ options}.
 @cindex information, about current users
 
 @command{who} は、現在ログインしているユーザについての情報を表示する。
-@sp 1
+
 書式:
 
 @example
@@ -15543,29 +15427,29 @@ options}.
 @cindex terminal lines, currently used
 @cindex login time
 @cindex remote hostname
-オプション以外の引数が一つもない場合、@command{who} は現在ログインしている
-各ユーザについて、次の情報を表示する。ログイン名、端末ライン、ログイン
-日時、それにリモート・ホスト名か X ディスプレー名。
+オプション以外の引数が一つもない場合、@command{who}
+は現在ログインしている各ユーザについて、次の情報を表示する。
+ログイン名、端末ライン、ログイン日時、それにリモート・ホスト名か X ディスプレー名。
 
 @flindex utmp
 @flindex wtmp
-オプション以外の引数を一つだけ指定すると、@command{who} はそれを、ログイン
\81\97ã\81\9fã\83¦ã\83¼ã\82¶ã\82\92è¨\98é\8c²ã\81\97ã\81¦ã\81\84ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\81®å\90\8då\89\8dã\81¨ã\81\97ã\81¦ã\80\81ã\82·ã\82¹ã\83\86ã\83 ã\81\8c管ç\90\86ã\81\97ã\81¦ã\81\84ã\82\8b
\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81®ã\83\95ã\82¡ã\82¤ã\83« (ã\81\9fã\81\84ã\81¦ã\81\84ã\81¯ @file{/var/run/utmp} ã\81\8b @file{/etc/utmp}) ã\81®
-代りに使用する。@command{who} に引数として @file{/var/log/wtmp} を渡して、これまでに
-誰がログインしたかを調べるのはよくあることである。
+オプション以外の引数を一つだけ指定すると、@command{who}
\81¯ã\81\9dã\82\8cã\82\92ã\80\81ã\83­ã\82°ã\82¤ã\83³ã\81\97ã\81\9fã\83¦ã\83¼ã\82¶ã\82\92è¨\98é\8c²ã\81\97ã\81¦ã\81\84ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\81®å\90\8då\89\8dã\81¨ã\81\97ã\81¦ã\80\81
\82·ã\82¹ã\83\86ã\83 ã\81\8c管ç\90\86ã\81\97ã\81¦ã\81\84ã\82\8bã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81®ã\83\95ã\82¡ã\82¤ã\83« (ã\81\9fã\81\84ã\81¦ã\81\84ã\81¯ @file{/var/run/utmp} ã\81\8b
+@file{/etc/utmp}) の代りに使用する。@command{who} に引数として @file{/var/log/wtmp}
+を渡して、これまでに誰がログインしたかを調べるのはよくあることである。
 
 @opindex am i
 @opindex who am i
-オプション以外の引数を二つ指定すると、@command{who} は、自分を実行している
-ユーザの情報のみを (自分が接続している標準入力からユーザの見当を
-付けて)、ホスト名を前に付けて表示する。渡される二つの引数は、
-全体として @samp{who am i} になるように、@samp{am i} とするのが慣例である。 
+オプション以外の引数を二つ指定すると、@command{who}は、
+自分を実行しているユーザの情報のみを (自分が接続している標準入力からユーザの見当を付けて)、
+ホスト名を前に付けて表示する。渡される二つの引数は、全体として
+@samp{who am i} になるように、@samp{am i} とするのが慣例である。 
 
 @vindex TZ
-タイムスタンプは、タイムゾーンのルールに従って表示されるが、その
\83«ã\83¼ã\83«ã\82\92æ\8c\87å®\9aã\81\97ã\81¦ã\81\84ã\82\8bã\81®ã\81¯ã\80\81ç\92°å¢\83å¤\89æ\95° @env{TZ} ã\81§ã\81\82ã\82\8bã\80\82@env{TZ} ã\81\8c設å®\9aã\81\95ã\82\8cã\81¦
-いない場合は、システムのデフォルトのルールに従って表示される。
+タイムスタンプは、タイムゾーンのルールに従って表示されるが、
\81\9dã\81®ã\83«ã\83¼ã\83«ã\82\92æ\8c\87å®\9aã\81\97ã\81¦ã\81\84ã\82\8bã\81®ã\81¯ã\80\81ç\92°å¢\83å¤\89æ\95° @env{TZ} ã\81§ã\81\82ã\82\8bã\80\82
+@env{TZ} が設定されていない場合は、システムのデフォルトのルールに従って表示される。
 @xref{TZ Variable,, Specifying the Time Zone with @env{TZ}, libc,
 The GNU C Library Reference Manual}.
 
@@ -15601,15 +15485,14 @@ The GNU C Library Reference Manual}.
 @itemx --login
 @opindex -l
 @opindex --login
-現在システムがログインの窓口としてユーザを待ち受けているプロセス
\81«é\96¢ã\81\99ã\82\8bæ\83\85å ±ã\81®ã\81¿ã\82\92表示ã\81\99ã\82\8bã\80\82ã\83¦ã\83¼ã\82¶å\90\8dã\81¯å¸¸ã\81« @samp{LOGIN} ã\81§ã\81\82ã\82\8bã\80\82
+現在システムがログインの窓口としてユーザを待ち受けているプロセスに関する情報のみを表示する。
+ユーザ名は常に @samp{LOGIN} である。
 
 @item --lookup
 @opindex --lookup
-utmp で見つかったホスト名について DNS を検索して正規名を得ようと
-する。これがデフォルトになっていないのは、インターネットに自動
-ダイアルアップで接続しているシステムでは、深刻な遅滞を招きかねない
-からである。
+utmp で見つかったホスト名について DNS を検索して正規名を得ようとする。
+これがデフォルトになっていないのは、インターネットに自動ダイアルアップで接続しているシステムでは、
+深刻な遅滞を招きかねないからである。
 
 @item -m
 @opindex -m
@@ -15619,22 +15502,19 @@ utmp で見つかったホスト名について DNS を検索して正規名を
 @itemx --process
 @opindex -p
 @opindex --process
-init によって生み出されたプロセスのうち、現在活動中のものをリスト
-する。
+init によって生み出されたプロセスのうち、現在活動中のものをリストする。
 
 @item -q
 @itemx --count
 @opindex -q
 @opindex --count
-ログインしているユーザのログイン名と人数のみを表示する。他のすべての
-オプションを無効にする。
+ログインしているユーザのログイン名と人数のみを表示する。他のすべてのオプションを無効にする。
 
 @item -r
 @itemx --runlevel
 @opindex -r
 @opindex --runlevel
-init プロセスの現在のランレベルを表示する (たぶん、直前のラン
-レベルも)。
+init プロセスの現在のランレベルを表示する (たぶん、直前のランレベルも)。
 
 @item -s
 @opindex -s
@@ -15649,10 +15529,9 @@ init プロセスの現在のランレベルを表示する (たぶん、直前
 @item -u
 @opindex -u
 @cindex idle time
-ログイン日時の後ろに、ユーザが何時間何分端末を使用していないかを
-(idle 状態かを) 表示する。@samp{.} は、ユーザがここ 1 分以内に端末操作
-をしたことを意味する。@samp{old} は、ユーザが 24 時間以上端末を使用
-していないいうことである。
+ログイン日時の後ろに、ユーザが何時間何分端末を使用していないかを (idle 状態かを) 表示する。
+@samp{.} は、ユーザがここ 1 分以内に端末操作をしたことを意味する。
+@samp{old} は、ユーザが 24 時間以上端末を使用していないということである。
 
 @item -w
 @itemx -T
@@ -15666,8 +15545,7 @@ init プロセスの現在のランレベルを表示する (たぶん、直前
 @opindex --writable
 @cindex message status
 @pindex write@r{, allowed}
-ログイン名の後ろに、ユーザのメッセージ受け入れ状態を示す 1 文字を
-表示する。
+ログイン名の後ろに、ユーザのメッセージ受け入れ状態を示す 1 文字を表示する。
 
 @display
 @samp{+} @code{write} によるメッセージを受け入れる。
@@ -15677,6 +15555,11 @@ init プロセスの現在のランレベルを表示する (たぶん、直前
 
 @end table
 
+@command{who} コマンドがインストールされるのは、POSIX 準拠の @code{<utmpx.h>}
+インクルードファイル、またはそれに相当するものが存在するプラットフォームだけである。
+従って、移植を考慮したスクリプトでは、非 POSIX
+のプラットフォームにも @command{who} コマンドが存在することを当てにしない方がよい。
+
 @exitstatus
 
 
@@ -15687,8 +15570,7 @@ init プロセスの現在のランレベルを表示する (たぶん、直前
 @cindex context, system
 @cindex commands for system context
 
-この章では、システム全体に関わる情報を表示したり、変更したりするコマンドを
-説明する。
+この章では、システム全体に関わる情報を表示したり、変更したりするコマンドを説明する。
 
 @menu
 * date invocation::          システムの日付や時刻を表示、設定する。
@@ -15716,42 +15598,41 @@ date [-u|--utc|--universal] @c this avoids a newline in the output
 @end example
 
 @vindex LC_TIME
-@command{date} を @var{format} 引数なしで起動すると、デフォルトの書式を指定して
-起動するのと同じことになる。デフォルトの書式は、@env{LC_TIME} ロケール・
-カテゴリによって様々である。デフォルトの C ロケールの場合、その書式は
-@samp{'+%a %b %e %H:%M:%S %Z %Y'} なので、出力は @samp{Thu Mar @ 3 13:47:51 PST
-2005}
-のような形になる。
+@command{date} を @var{format} 引数なしで起動すると、
+デフォルトの書式を指定して起動するのと同じことになる。
+デフォルトの書式は、@env{LC_TIME} ロケール・カテゴリによって様々である。
+デフォルトの C ロケールの場合、その書式は @samp{'+%a %b %e %H:%M:%S %Z %Y'}
+なので、出力は @samp{Thu Mar @ 3 13:47:51 PST 2005} のような形になる。
 
 @vindex TZ
-通常 @command{date} は、環境変数 @env{TZ} が指示しているタイムゾーンのルールを
-使用し、@env{TZ} が設定されていないときは、システムのデフォルトのルールを
-使用する。@xref{TZ Variable,, Specifying the Time Zone with @env{TZ}, libc,
+通常 @command{date} は、環境変数 @env{TZ} が指示しているタイムゾーンのルールを使用し、
+@env{TZ} が設定されていないときは、システムのデフォルトのルールを使用する。
+@xref{TZ Variable,, Specifying the Time Zone with @env{TZ}, libc,
 The GNU C Library Reference Manual}.
 
 @findex strftime @r{and @command{date}}
 @cindex time formats
 @cindex formatting times
-@samp{+} で始まる引数を指定すると、@command{date} は現在の日付と時刻を (あるいは、
-後述する @option{--date} オプションで指定した日付と時刻を)、その引数によって
-定義された書式で表示する。書式を指定するこの引数は、@code{strftime} 関数の
-それとほぼ同じである。なお、@samp{%} で始まる変換指定子を除いて、書式文字列
-中の文字は、変更されずにそのまま表示される。変換指定子については、次節
-以降で説明する。
+@samp{+} で始まる引数を指定すると、@command{date} は現在の日付と時刻を
+(あるいは、後述する @option{--date} オプションで指定した日付と時刻を)、
+その引数によって定義された書式で表示する。書式を指定するこの引数は、@code{strftime}
+関数のそれとほぼ同じである。なお、@samp{%} で始まる変換指定子を除いて、
+書式文字列中の文字は、変更されずにそのまま表示される。
+変換指定子については、次節以降で説明する。
 
 @exitstatus
 
 @menu
 * Time conversion specifiers:: 時刻関係の変換指定子 %[HIklMNpPrRsSTXzZ]。
 * Date conversion specifiers:: 日付関係の変換指定子 %[aAbBcCdDeFgGhjmuUVwWxyY]。
-* Literal conversion specifiers::  文字変換指定子 %[%nt]。
-* Padding and other flags::  0 や空白による空き埋め、その他。
-* Setting the time::         システムクロックの変更。
-* Options for date::         現在の日時以外の指定
+* Literal conversion specifiers:: 文字変換指定子 %[%nt]。
+* Padding and other flags::    0 や空白による空き埋め、その他。
+* Setting the time::           システムクロックの変更。
+* Options for date::           現在の日時以外の指定など
 @detailmenu
-* Date input formats::       日付文字列の指定法。
+* Date input formats::         日付文字列の指定法。
 @end detailmenu
-* Examples of date::         用例。
+* Examples of date::           用例。
 @end menu
 
 @node Time conversion specifiers
@@ -15768,18 +15649,18 @@ The GNU C Library Reference Manual}.
 @item %I
 時 (@samp{01}@dots{}@samp{12})
 @item %k
-時。一桁のときは、0 ではなく、空白で埋める (@samp{ 0}@dots{}@samp{23})。@samp{%_H} と
-同じ。これは GNU の拡張である。
+時。一桁のときは、0 ではなく、空白で埋める (@samp{ 0}@dots{}@samp{23})。
+@samp{%_H} と同じ。これは GNU の拡張である。
 @item %l
-時。一桁のときは、0 ではなく、空白で埋める (@samp{ 1}@dots{}@samp{12})。@samp{%_I} と
-同じ。これは GNU の拡張である。
+時。一桁のときは、0 ではなく、空白で埋める (@samp{ 1}@dots{}@samp{12})。
+@samp{%_I} と同じ。これは GNU の拡張である。
 @item %M
 分 (@samp{00}@dots{}@samp{59})
 @item %N
 ナノ秒 (@samp{000000000}@dots{}@samp{999999999})。これは GNU の拡張である。
 @item %p
-現在のロケールで @samp{AM} や @samp{PM} に相当するもの。空白になるロケール
-も多い。正午は @samp{PM} として、真夜中は @samp{AM} として扱う。
+現在のロケールで @samp{AM} や @samp{PM} に相当するもの。空白になるロケールも多い。
+正午は @samp{PM} として、真夜中は @samp{AM} として扱う。
 @item %P
 @samp{%p} と同様だが、小文字を使う。これは GNU の拡張である。
 @item %r
@@ -15792,43 +15673,42 @@ The GNU C Library Reference Manual}.
 @cindex beginning of time
 @cindex leap seconds
 ジ・エポック (the epoch、Unix 紀元)、すなわち 1970-01-01 00:00:00 UTC
-からの経過秒数。閏秒のサポートを利用できない場合、閏秒は計算に
-入れない。用例については、「@command{date} の用例」を見ること。
+からの経過秒数。閏秒のサポートを利用できない場合、閏秒は計算に入れない。
+用例については、「@command{date} の用例」を見ること。
 @xref{%s-examples}. これは GNU の拡張である。
 @item %S
 @cindex leap seconds
-秒 (@samp{00}@dots{}@samp{60})。閏秒がサポートされている場合、@samp{60} になることが
-ある。
+秒 (@samp{00}@dots{}@samp{60})。閏秒がサポートされている場合、@samp{60}
\81«ã\81ªã\82\8bã\81\93ã\81¨ã\81\8cã\81\82ã\82\8bã\80\82
 @item %T
 24 時間表記の時、分、秒。@samp{%H:%M:%S} と同じ。
 @item %X
 現在のロケールによる時刻表示 (例: @samp{23:13:48})
 @item %z
 @w{RFC 2822/ISO 8601} 形式の数値によるタイムゾーン (たとえば、@samp{-0600} や
-@samp{+0530})。タイムゾーンが特定できない場合は、空になる。この値は、
-環境変数 @env{TZ} によって指定されたタイムゾーンのルールを使用する
-ことで、現在の日時に対応した、数値によるタイムゾーンを正しく反映
-する (訳注: 要するに、夏時間、冬時間が存在する地帯では、それを
-反映するということ)。操作の対象となる日時は (もしそうしたければ、
-その日時におけるタイムゾーンのルールも)、@option{--date} オプションに
-よって変更することができる。
+@samp{+0530})。タイムゾーンが特定できない場合は、空になる。
+この値は、環境変数 @env{TZ} によって指定されたタイムゾーンのルールを使用することで、
+現在の日時に対応した、数値によるタイムゾーンを正しく反映する
+(訳注: 要するに、夏時間、冬時間が存在する地帯では、それを反映するということ)。
+操作の対象となる日時は (もしそうしたければ、その日時におけるタイムゾーンのルールも)、
+@option{--date} オプションによって変更することができる。
 @item %:z
 @w{RFC 3339/ISO 8601} 形式の、@samp{:} を使用する数値によるタイムゾーン
-(たとえば、@samp{-06:00} や @samp{+05:30})。タイムゾーンが特定できない
-場合は、空になる。これは GNU による拡張である。
+(たとえば、@samp{-06:00} や @samp{+05:30})。
+タイムゾーンが特定できない場合は、空になる。これは GNU による拡張である。
 @item %::z
 @samp{:} を使用する数値によるタイムゾーンで、もっとも近い秒まで表示する
-(たとえば、@samp{-06:00:00} や @samp{+05:30:00})。タイムゾーンが特定できない
-場合は、空になる。これは GNU による拡張である。
+(たとえば、@samp{-06:00:00} や @samp{+05:30:00})。
+タイムゾーンが特定できない場合は、空になる。これは GNU による拡張である。
 @item %:::z
-@samp{:} ã\82\92使ç\94¨ã\81\99ã\82\8bæ\95°å\80¤ã\81«ã\82\88ã\82\8bã\82¿ã\82¤ã\83 ã\82¾ã\83¼ã\83³ã\81§ã\80\81æ\99\82é\96\93ã\81®ç²¾åº¦ã\81¯å¿\85è¦\81æ\9c\80å°\8fé\99\90ã\81§
-済ます (たとえば、@samp{-06}, @samp{+05:30}, @samp{-04:56:02})。タイムゾーンが
-特定できない場合は、空になる。これは GNU による拡張である。
+@samp{:} ã\82\92使ç\94¨ã\81\99ã\82\8bæ\95°å\80¤ã\81«ã\82\88ã\82\8bã\82¿ã\82¤ã\83 ã\82¾ã\83¼ã\83³ã\81§ã\80\81æ\99\82é\96\93ã\81®ç²¾åº¦ã\82\92å¿\85è¦\81æ\9c\80å°\8fé\99\90ã\81§æ¸\88ã\81¾ã\81\99
+(たとえば、@samp{-06}, @samp{+05:30}, @samp{-04:56:02})。
+タイムゾーンが特定できない場合は、空になる。これは GNU による拡張である。
 @item %Z
-アルファベットによるタイムゾーンの略称 (たとえば、@samp{EDT})。タイム
\82¾ã\83¼ã\83³ã\81\8cç\89¹å®\9aã\81§ã\81\8dã\81ªã\81\84å ´å\90\88ã\81¯ã\80\81空ã\81«ã\81ªã\82\8bã\80\82ã\82¿ã\82¤ã\83 ã\82¾ã\83¼ã\83³ã\81\8cã\81©ã\81®ã\82\88ã\81\86ã\81«ã\81\97ã\81¦
-特定されるか (訳注: たとえば、アメリカ東部なら、EST (冬時間) と EDT
-(夏時間) のどちらが選ばれるか) については、@samp{%z} を参照すること。
+アルファベットによるタイムゾーンの略称 (たとえば、@samp{EDT})。
\82¿ã\82¤ã\83 ã\82¾ã\83¼ã\83³ã\81\8cç\89¹å®\9aã\81§ã\81\8dã\81ªã\81\84å ´å\90\88ã\81¯ã\80\81空ã\81«ã\81ªã\82\8bã\80\82ã\82¿ã\82¤ã\83 ã\82¾ã\83¼ã\83³ã\81\8cã\81©ã\81®ã\82\88ã\81\86ã\81«ã\81\97ã\81¦ç\89¹å®\9aã\81\95ã\82\8cã\82\8bã\81\8b
+(訳注: たとえば、アメリカ東部なら、EST (冬時間) と EDT (夏時間)
+のどちらが選ばれるか) については、@samp{%z} を参照すること。
 @end table
 
 
@@ -15855,53 +15735,54 @@ The GNU C Library Reference Manual}.
 世紀。@samp{%Y} に似ているが、下二桁を省略している。たとえば、@samp{%Y} が
 @samp{2000} ならば、@samp{%C} は @samp{20}、@samp{%Y} が @samp{-001} ならば、@samp{%C}
 は @samp{-0}
-である。通例、少なくとも 2 個の文字からなるが、2 個以上のことも
-ありえる。
+である。通例、少なくとも 2 個の文字からなるが、2 個以上のこともありえる。
 @item %d
-その月の何日目か (e.g., @samp{01})
+その月の何日目か (例: @samp{01})
 @item %D
 日付。@samp{%m/%d/%y} と同じ
 @item %e
 その月の何日目か。一桁のときは、0 ではなく、空白で埋める。@samp{%_d}
 と同じ。
 @item %F
-ISO 8601 形式の完全な日付。@samp{%Y-%m-%d} と同じ。日付の形式にこれを
-選ぶのは、好判断である。標準的な形式だし、年度が 0000@dots{}9999 の
-範囲にある通常の場合に、ソートしやすい。
+ISO 8601 形式の完全な日付。@samp{%Y-%m-%d} と同じ。
+日付の形式にこれを選ぶのは、好判断である。標準的な形式だし、年度が 0000@dots{}9999
+範囲にある通常の場合に、ソートしやすい。
 @item %g
-ISO 週番号に対応する年度表示だが、世紀の部分を省略している (その
-結果、@samp{00} から @samp{99} の範囲になる)。これは普通 @samp{%y} と同じ形式、
-同じ値になるが、ISO 週番号 (@samp{%V} 参照) が前年、または翌年に
-属する場合は、そちらの年度が代りに使用される点が異なる。
+ISO 週番号に対応する年度表示だが、世紀の部分を省略している
+(その結果、@samp{00} から @samp{99} の範囲になる)。
+これは普通 @samp{%y} と同じ形式、同じ値になるが、ISO 週番号 (@samp{%V} 参照)
+が前年、または翌年に属する場合は、そちらの年度が代りに使用される点が異なる。
 @item %G
-ISO 週番号に対応する年度表示。これは普通 @samp{%Y} と同じ形式、同じ値
-になるが、ISO 週番号 (@samp{%V} 参照) が前年、または翌年に属する場合は、
+ISO 週番号に対応する年度表示。これは普通 @samp{%Y} と同じ形式、同じ値になるが、
+ISO 週番号 (@samp{%V} 参照) が前年、または翌年に属する場合は、
 そちらの年度が代りに使用される点が異なる。通常、これが役に立つのは、
-@samp{%V} も一緒に使用するときだけである。たとえば、@samp{%G-%m-%d} という
-書式は、ISO 週番号による年度と普段使用する月や日を組み合わせている
\81®ã\81§ã\80\81ã\81\9fã\81¶ã\82\93æ\8c\87å®\9aã\81®ä»\95æ\96¹ã\82\92é\96\93é\81\95ã\81\88ã\81¦ã\81\84ã\82\8bã\80\82
+@samp{%V} も一緒に使用するときだけである。たとえば、@samp{%G-%m-%d}
+という書式は、ISO 週番号による年度と普段使用する月や日を組み合わせているので、
+たぶん指定の仕方を間違えている。
 @item %h
 @samp{%b} と同じ。
 @item %j
 その年の何日目か (@samp{001}@dots{}@samp{366})
 @item %m
 月 (@samp{01}@dots{}@samp{12})
+@item %q
+四半期 (@samp{1}@dots{}@samp{4})
 @item %u
 その週の何日目か (@samp{1}@dots{}@samp{7})。@samp{1} は月曜日に当たる。
 @item %U
-日曜日を週の最初の日とする、その年の週番号 (@samp{00}@dots{}@samp{53})。新しい
-年の最初の日曜日より前の日々は、第 0 週に属する。
+日曜日を週の最初の日とする、その年の週番号 (@samp{00}@dots{}@samp{53})。
+新しい年の最初の日曜日より前の日々は、第 0 週に属する。
 @item %V
 ISO 週番号。すなわち、月曜日を週の最初の日とする、その年の週番号
-(@samp{01}@dots{}@samp{53})。1 月 1 日を含む週が、新しい年の日々を 4 日以上含む
-場合は、その週が第 1 週であると見なされる。そうでない場合は、
\81\9dã\81®é\80±ã\81¯å\89\8då¹´ã\81®ç¬¬ 53 é\80±ã\81§ã\81\82ã\82\8aã\80\81ç¿\8cé\80±ã\81\8c第 1 é\80±ã\81«ã\81ªã\82\8bã\80\82(ISO 8601 ã\81®
-規格を参照。)
+(@samp{01}@dots{}@samp{53})。1 月 1 日を含む週が、新しい年の日々を
+4 日以上含む場合は、その週が第 1 週であると見なされる。
\81\9dã\81\86ã\81§ã\81ªã\81\84å ´å\90\88ã\81¯ã\80\81ã\81\9dã\81®é\80±ã\81¯å\89\8då¹´ã\81®ç¬¬ 53 é\80±ã\81§ã\81\82ã\82\8aã\80\81ç¿\8cé\80±ã\81\8c第 1 é\80±ã\81«ã\81ªã\82\8bã\80\82
+(ISO 8601 の規格を参照。)
 @item %w
 その週の何日目か (@samp{0}@dots{}@samp{6})。0 は日曜日に当たる。
 @item %W
-月曜日を週の最初の日とする、その年の週番号 (@samp{00}@dots{}@samp{53})。最初の
-月曜日より前の新しい年の日々は、第 0 週に属する。
+月曜日を週の最初の日とする、その年の週番号 (@samp{00}@dots{}@samp{53})。
\9c\80å\88\9dã\81®æ\9c\88æ\9b\9cæ\97¥ã\82\88ã\82\8aå\89\8dã\81®æ\96°ã\81\97ã\81\84å¹´ã\81®æ\97¥ã\80\85ã\81¯ã\80\81第 0 é\80±ã\81«å±\9eã\81\99ã\82\8bã\80\82
 @item %x
 現在のロケールによる日付の表示 (例: @samp{12/31/99})
 @item %y
@@ -15938,23 +15819,21 @@ ISO 週番号。すなわち、月曜日を週の最初の日とする、その
 @cindex fields, padding numeric
 
 特に指定がないかぎり、@command{date} は通常、数値の入るフィールドの空きを
-0 で埋める。従って、たとえば、数値による月名は常に二桁の数字として
-出力される。しかし、ジ・エポック (Unix 紀元) 以来の経過秒数では、
-空きを埋めることはしない。この秒数には決まった長さがないからである。
+0 で埋める。従って、たとえば、数値による月名は常に二桁の数字として出力される。
+しかし、ジ・エポック (Unix 紀元) 以来の経過秒数では、空きを埋めることはしない。
+この秒数には決まった長さがないからである。
 
-GNU の拡張として、以下に挙げるフラグの一つを @samp{%} の後ろに置くことが
-できる (指定するしないは自由)。
+GNU の拡張として、以下に挙げるフラグの一つを @samp{%} の後ろに置くことができる
+(指定するしないは自由)。
 
 @table @samp
 @item -
-(ハイフン) フィールドの空き埋めをしない。出力が人間に見せるための
-ものである場合に、役に立つ。
+(ハイフン) フィールドの空き埋めをしない。出力が人間に見せるためのものである場合に、役に立つ。
 @item _
-(アンダースコア、下線) 空白で空き埋めをする。出力を一定の文字数に
-する必要があるが、0 で埋めたのでは見にくいという場合に、役に立つ。
+(アンダースコア、下線) 空白で空き埋めをする。
+出力を一定の文字数にする必要があるが、0 で埋めたのでは見にくいという場合に、役に立つ。
 @item 0
-(ゼロ) 変換指定子が普通なら空白で埋める場合にも、ゼロで空き埋めを
-する。
+(ゼロ) 変換指定子が普通なら空白で埋める場合にも、ゼロで空き埋めをする。
 @item ^
 可能なら、大文字を使う。
 @item #
@@ -15974,25 +15853,24 @@ date +%_d/%_m -d "Feb 1"
 @result{}  1/ 2
 @end example
 
-これも GNU の拡張だが、フィールドの幅を 10 進数で指定することができ
-る (数字は、上記のフラグがあれば、その後ろに置く)。そのフィールドの
-出力の加工前の長さが、幅として指定した文字数より短い場合は、右詰めに
-して、指定サイズにまで空き埋めした結果が書き出される。たとえば、@samp{%9B}
+これも GNU の拡張だが、フィールドの幅を 10 進数で指定することができ
+(数字は、上記のフラグがあれば、その後ろに置く)。
+そのフィールドの出力の加工前の長さが、幅として指定した文字数より短い場合は、
+右詰めにして、指定サイズにまで空き埋めした結果が書き出される。たとえば、@samp{%9B}
 は、右詰めにした月の名前を 9 文字分のフィールドに表示する。
 
-上記のフラグやフィールド幅の指定の後ろに、修飾子 (modifier) を付ける
-こともできる (指定するしないは自由)。修飾子には、次のものがある。
+上記のフラグやフィールド幅の指定の後ろに、修飾子 (modifier) を付けることもできる
+(指定するしないは自由)。修飾子には、次のものがある。
 
 @table @samp
 @item E
-現在のロケールが持つもう一つの日時表記を使用する。この修飾子は、
-@samp{%c}, @samp{%C}, @samp{%x}, @samp{%X}, @samp{%y}, @samp{%Y}
-に対して使用できる。たとえば、
-日本語ロケールで @samp{%Ex} とすれば、元号による日付を表示するだろう。
+現在のロケールが持つもう一つの日時表記を使用する。この修飾子は、@samp{%c},
+@samp{%C}, @samp{%x}, @samp{%X}, @samp{%y}, @samp{%Y} に対して使用できる。
+たとえば、日本語ロケールで @samp{%Ex} とすれば、元号による日付を表示するだろう。
 
 @item O
-現在のロケールが持つもう一つの数字表記を使用する。この修飾子は、
-数値を表す変換指定子にしか使用できない。
+現在のロケールが持つもう一つの数字表記を使用する。
+この修飾子は、数値を表す変換指定子にしか使用できない。
 @end table
 
 書式が修飾子をサポートしていても、もう一つの表記が利用できない場合、
@@ -16006,18 +15884,16 @@ date +%_d/%_m -d "Feb 1"
 @cindex time setting
 @cindex appropriate privileges
 
-@samp{+} で始まらない引数を指定すると、@command{date} は、(以下で述べるように) その
-引数で指定した日時にシステムクロックを設定する。システムクロックを設定
-するには、しかるべき権限が必要である。リブート後も変更を維持するには、
-システムクロックに合わせてハードウェアクロックも更新する必要があるかも
-しれないことに注意していただきたい。ご使用のシステムでは、ハードウェア
-クロックの更新は、自動的に行われないかもしれないからだ。
+@samp{+} で始まらない引数を指定すると、@command{date} は、(以下で述べるように)
+その引数で指定した日時にシステムクロックを設定する。
+システムクロックを設定するには、しかるべき権限が必要である。リブート後も変更を維持するには、
+システムクロックに合わせてハードウェアクロックも更新する必要があるかもしれないことに注意していただきたい。
+ご使用のシステムでは、ハードウェアクロックの更新は、自動的に行われないかもしれないからだ。
 
-引き数の構成要素は、すべて数字でなければならない。それは以下の意味を
-持っている。
-@sp 1
-(訳注: 念のため、この章の冒頭にあるシステムクロック設定用の書式を
-再掲しておく。date [-u|--utc|--universal] [ MMDDhhmm[[CC]YY][.ss] ])
+引き数の構成要素は、すべて数字でなければならない。それは以下の意味を持っている。
+
+(訳注: 念のため、この章の冒頭にあるシステムクロック設定用の書式を再掲しておく。
+date [-u|--utc|--universal] [ MMDDhhmm[[CC]YY][.ss] ])
 
 @table @samp
 @item MM
@@ -16036,10 +15912,10 @@ date +%_d/%_m -d "Feb 1"
 何秒 (省略可)
 @end table
 
-注意していただきたいが、@option{--date} や @option{--set} オプションは、ここで
-述べている書式の引数と組み合わせて使うことができない。@option{--universal}
-オプションは、ここで述べている書式の引数と一緒に使うことができるが、
-その場合、指定されている日時が現在地のタイムゾーンではなく、協定世界時
+注意していただきたいが、@option{--date} や @option{--set} オプションは、
+ここで述べている書式の引数と組み合わせて使うことができない。
+@option{--universal} オプションは、ここで述べている書式の引数と一緒に使うことができるが、
\81\9dã\81®å ´å\90\88ã\81¯ã\80\81æ\8c\87å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bæ\97¥æ\99\82ã\81\8cç\8f¾å\9c¨å\9c°ã\81®ã\82¿ã\82¤ã\83 ã\82¾ã\83¼ã\83³ã\81§ã\81¯ã\81ªã\81\8fã\80\81å\8d\94å®\9aä¸\96ç\95\8cæ\99\82
 (UTC) に準じているのを示すことになる。
 
 
@@ -16065,28 +15941,36 @@ date +%_d/%_m -d "Feb 1"
 @opindex next @var{day}
 @opindex last @var{day}
 現在の日時の代りに、日付文字列 @var{datestr} で指定した日時を表示する。
-@var{datestr} には、よく使われる書式なら、ほとんどどんな書式でも使う
-ことができる。月の名前、タイムゾーン、@samp{am} や @samp{pm}、@samp{yesterday}
+@var{datestr} には、よく使われる書式なら、ほとんどどんな書式でも使うことができる。
+月の名前、タイムゾーン、@samp{am} や @samp{pm}、@samp{yesterday}
 といった単語、などを含んでいてもよい。たとえば、@option{--date="2004-02-27
-14:19:13.489392193 +0530"} は、UTC よりも東 5 時間 30 分のタイム
-ゾーンで 2004 年 2 月 27 日 午後 2 時 19 分 13 秒から 489,392,193
-ナノ秒経過した瞬間を指定している。
-@*注意: 現在のところ、入力は、ロケールに依存しない書式でなければ
-ならない。たとえば、以下の例の LC_TIME=C は、多くのロケールで正しい
-日時を再表示させるために必要である。
+14:19:13.489392193 +0530"} は、UTC よりも東 5 時間 30 分のタイムゾーンで
+2004 年 2 月 27 日 午後 2 時 19 分 13 秒から 489,392,193
+ナノ秒経過した瞬間を指定している。@*
+注意: 現在のところ、入力は、ロケールに依存しない書式でなければならない。
+たとえば、以下の例の LC_TIME=C は、多くのロケールで正しい日時を再表示させるために必要である。
 @example
 date -d "$(LC_TIME=C date)"
 @end example
 参照: @xref{Date input formats}.
 
+@item --debug
+@opindex --debug
+@cindex debugging date strings
+@cindex date strings, debugging
+@cindex arbitrary date strings, debugging
+解析した日時について説明し、現在のタイムゾーンを表示し、
+間違えた使い方をしている疑いがあれば、警告を出す。
+
 @item -f @var{datefile}
 @itemx --file=@var{datefile}
 @opindex -f
 @opindex --file
-@var{datefile} の各行を @option{-d} の場合と同じように解析して、生成された日付
-と時刻を表示する。@var{datefile} が @samp{-} ならば、標準入力を使用する。処理
-する日付がたくさんある場合に、このオプションは重宝である。何故ならば、
-@command{date} コマンドを何度も起動するときのシステムのオーバーヘッドは、
+ファイル @var{datefile} の各行を @option{-d}
+の場合と同じように解析して、生成された日付と時刻を表示する。
+@var{datefile} が @samp{-} ならば、標準入力を使用する。
+処理する日付がたくさんある場合に、このオプションは重宝である。
+何故ならば、@command{date} コマンドを何度も起動するときのシステムのオーバーヘッドは、
 馬鹿にならないことがあるからだ。
 
 @item -I[@var{timespec}]
@@ -16095,8 +15979,8 @@ date -d "$(LC_TIME=C date)"
 @opindex --iso-8601[=@var{timespec}]
 ISO 8601 の書式、@samp{%Y-%m-%d} を使って、日付を表示する。
 
-引数 @var{timespec} では、日付の後ろに時刻をどの単位まで追加するかを
-指定する。以下の一つを指定することができる。
+引数 @var{timespec} では、日付の後ろに時刻をどの単位まで追加するかを指定する。
+以下の一つを指定することができる。
 @table @samp
 @item date
 日付のみを表示する。@var{timespec} を省略した場合のデフォルト。
@@ -16114,7 +15998,12 @@ ISO 8601 の書式、@samp{%Y-%m-%d} を使って、日付を表示する。
 何時何分何秒何ナノ秒まで追加する。
 @end table
 
-時刻の部分まで表示するときは、@samp{%z} の書式でタイムゾーンも付ける。
+時刻の部分まで表示するときは、@samp{%:z} の書式でタイムゾーンも付ける。
+@macro dateParseNote
+この書式は、使用しているロケールが何であるかを問わず、@option{--date} (@option{-d})
+や @option{--file} (@option{-f}) オプションに対する入力として、常に適切である。
+@end macro
+@dateParseNote
 
 @item -r @var{file}
 @itemx --reference=@var{file}
@@ -16129,9 +16018,9 @@ modification) 日付と時刻を表示する。
 @opindex -R
 @opindex --rfc-822
 @opindex --rfc-2822
-日付と時刻を @samp{%a, %d %b %Y %H:%M:%S %z} という書式を使用し、C
-ロケールで評価して表示する。従って、月や曜日の省略形は常に英語に
-なる。一例を挙げると、こんな表示である。
+日付と時刻を @samp{%a, %d %b %Y %H:%M:%S %z} という書式を使用し、
+C ロケールで評価して表示する。従って、月や曜日の省略形は常に英語になる。
+一例を挙げると、こんな表示である。
 
 @example
 Fri, 09 Sep 2005 13:51:39 -0700
@@ -16146,32 +16035,29 @@ Fri, 09 Sep 2005 13:51:39 -0700
 @opindex --rfc-3339=@var{timespec}
 @uref{ftp://ftp.rfc-editor.org/in-notes/rfc3339.txt, Internet RFC 3339}
 が規定している書式を使用して、日付を表示する。この書式は、ISO 8601
-の書式のサブセットだが、日付と時刻を区切るのに、@samp{T} という文字では
-なく、空白を使うことをアプリケーションに許している、という相違点も
-ある。他の標準の書式とは違って、RFC 3339 の書式は、現在のロケール
-が何であろうとも、@option{--date} (@option{-d}) や @option{--file} (@option{-f})
-オプションに
-対する入力として常に適切である。
+の書式のサブセットだが、日付と時刻を区切るのに、@samp{T}
+という文字ではなく、空白を使うことをアプリケーションに許しているという相違点がある。
+@dateParseNote
 
-引数 @var{timespec} では、時刻をどこまで表示するかを指定する。以下の一つ
-を指定することができる。
+引数 @var{timespec} では、時刻をどこまで表示するかを指定する。
+以下の一つを指定することができる。
 
 @table @samp
 @item date
-年から始まる日付だけを表示する。たとえば、@samp{2005-09-14}。これは、
-@samp{%Y-%m-%d} という書式と等価ある。
+年から始まる日付だけを表示する。たとえば、@samp{2005-09-14}。
+これは、@samp{%Y-%m-%d} という書式と等価である。
 
 @item seconds
 年から始まる日付と秒までの時刻を表示し、両者の間は空白で区切る。
 一例を挙げると、@samp{2005-09-14 00:56:06+05:30}。出力の末尾には、
 協定世界時からの時差が付く。例の場合、@samp{+05:30} は、地方時が
-UTC より 5 時間 30 分進んでいることを意味している。これは、
-@samp{%Y-%m-%d %H:%M:%S%:z} という書式と等価である。
+UTC より 5 時間 30 分進んでいることを意味している。
+これは、@samp{%Y-%m-%d %H:%M:%S%:z} という書式と等価である。
 
 @item ns
-@samp{seconds} と似ているが、ナノ秒まで表示する。一例を挙げると、
-@samp{2005-09-14 00:56:06.998458565+05:30}。これは、@samp{%Y-%m-%d
-%H:%M:%S.%N%:z} という書式と等価である。
+@samp{seconds} と似ているが、ナノ秒まで表示する。
+一例を挙げると、@samp{2005-09-14 00:56:06.998458565+05:30}。
+これは、@samp{%Y-%m-%d %H:%M:%S.%N%:z} という書式と等価である。
 
 @end table
 
@@ -16179,8 +16065,8 @@ UTC より 5 時間 30 分進んでいることを意味している。これは
 @itemx --set=@var{datestr}
 @opindex -s
 @opindex --set
-日付と時刻を @var{datestr} に設定する。上記の @option{-d} を参照。前節「システム
-クロックの設定」 も参照すること。@ref{Setting the time}.
+日付と時刻を @var{datestr} に設定する。上記の @option{-d} を参照。
+前節「システムクロックの設定」 も参照すること。@ref{Setting the time}.
 
 @item -u
 @itemx --utc
@@ -16194,11 +16080,10 @@ UTC より 5 時間 30 分進んでいることを意味している。これは
 @cindex GMT
 @cindex leap seconds
 @vindex TZ
-環境変数 @env{TZ} が、文字列 @samp{UTC0} に設定されているかのように、処理に
-協定世界時 (UTC, Coordinated Universal Time) を使用する。協定世界時
-は、歴史的な理由から「グリニッジ標準時 (GMT)」と呼ばれることもよく
-ある。一般にシステムは閏秒を無視するので、日時は正真の UTC では
-なく、UTC の近似値になる。
+環境変数 @env{TZ} が、文字列 @samp{UTC0} に設定されているかのように、
+処理に協定世界時 (UTC, Coordinated Universal Time) を使用する。
+協定世界時は、歴史的な理由から「グリニッジ標準時 (GMT)」と呼ばれることもよくある。
+一般にシステムは閏秒を無視するので、日時は正真の UTC ではなく、UTC の近似値になる。
 @end table
 
 
@@ -16207,8 +16092,7 @@ UTC より 5 時間 30 分進んでいることを意味している。これは
 
 @cindex examples of @command{date}
 
-用例をいくつか挙げてみる。前節の @option{-d} オプションの説明も参照して
-いただきたい。
+用例をいくつか挙げてみる。前節の @option{-d} オプションの説明も参照していただきたい。
 
 @itemize @bullet
 
@@ -16240,23 +16124,21 @@ date --date='25 Dec' +%j
 date '+%B %d'
 @end example
 
-しかし、月の最初の 9 日間では、@samp{%d} は空きを 0 で埋めた 2 桁の
-フィールドに展開されるので、この結果はご希望のものとは違うかも
-しれない。たとえば、@samp{date -d 1may '+%B %d'} の出力は、@samp{May 01} に
-なるのだ。
+しかし、月の最初の 9 日間では、@samp{%d} は空きを 0 で埋めた
+2 桁のフィールドに展開されるので、この結果はご希望のものとは違うかもしれない。
+たとえば、@samp{date -d 1may '+%B %d'} の出力は、@samp{May 01} になるのだ。
 
 @item
-月のうちの 1 桁の日々に対して、先頭に 0 を付けずに日付を表示したい
-のなら、(GNU の拡張である) @samp{-} フラグを使用すれば、空き埋めを全く
-しないようにすることができる。
+月のうちの 1 桁の日々に対して、先頭に 0 を付けずに日付を表示したいのなら、
+(GNU の拡張である) @samp{-} フラグを使用すれば、空き埋めを全くしないようにすることができる。
 
 @example
 date -d 1may '+%B %-d'
 @end example
 
 @item
-現在の日付と時刻を、non-GNU 版の @command{date} の多くでシステムクロックを
-設定するときに要求される書式で表示する。
+現在の日付と時刻を、non-GNU 版の @command{date}
+の多くでシステムクロックを設定するときに要求される書式で表示する。
 
 @example
 date +%m%d%H%M%Y.%S
@@ -16270,8 +16152,8 @@ date --set='+2 minutes'
 @end example
 
 @item
-日付を RFC 2822 の書式で表示するためには、@samp{date --rfc-2822} を使用
-する。ここに示すのは、出力の一例である。
+日付を RFC 2822 の書式で表示するためには、@samp{date --rfc-2822}
\82\92使ç\94¨ã\81\99ã\82\8bã\80\82ã\81\93ã\81\93ã\81«ç¤ºã\81\99ã\81®ã\81¯ã\80\81å\87ºå\8a\9bã\81®ä¸\80ä¾\8bã\81§ã\81\82ã\82\8bã\80\82
 
 @example
 Fri, 09 Sep 2005 13:51:39 -0700
@@ -16281,21 +16163,19 @@ Fri, 09 Sep 2005 13:51:39 -0700
 @item
 日付を表す文字列をジ・エポック (the epoch、Unix 紀元、すなわち、
 1970-01-01 00:00:00 UTC) からの経過秒数に変換するには、@option{--date}
-オプションを @samp{%s} 書式と組み合わせて使用する。これは、データを日付
-によってソートしたり、グラフ化したり、比較したりする際に、便利
-である。次のコマンドは、ジ・エポックから 2 分経ったときの、
-ジ・エポックからの経過秒数を出力する。
+オプションを @samp{%s} 書式と組み合わせて使用する。
+これは、データを日付によってソートしたり、グラフ化したり、比較したりする際に、便利である。
+次のコマンドは、ジ・エポックから 2 分経ったときの、ジ・エポックからの経過秒数を出力する。
 
 @example
 date --date='1970-01-01 00:02:00 +0000' +%s
 120
 @end example
 
-日付を表す文字列でタイムゾーン情報を指定しない場合、@command{date} は、
-コンピュータが認識しているタイムゾーンを使用して、その文字列を
-解釈する。たとえば、使用しているコンピュータのタイムゾーンが、
-マサチューセッツ州のケンブリッジのものならば、それは UTC より
-5 時間遅れているので、次のようになる。
+日付を表す文字列でタイムゾーン情報を指定しない場合、@command{date}
+は、コンピュータが認識しているタイムゾーンを使用して、その文字列を解釈する。
+たとえば、使用しているコンピュータのタイムゾーンが、マサチューセッツ州のケンブリッジのものならば、
+それは UTC より 5 時間遅れているので、次のようになる。
 
 @example
 # 現在地のタイムゾーンを使用
@@ -16305,10 +16185,10 @@ date --date='1970-01-01 00:02:00' +%s
 
 @item
 日付の付いたデータをソートしたり、グラフ化したりしているとしよう。
-その日付の加工前の値は、ジ・エポックからの経過秒数で表されている
\81\8bã\82\82ã\81\97ã\82\8cã\81ªã\81\84ã\80\82ã\82\82ã\81£ã\81¨ã\82\82ã\80\81@samp{946684800} ã\81¨ã\81\84ã\81£ã\81\9fæ\97¥ä»\98ã\82\92è¦\8bã\81¦ã\80\81ã\80\8cã\81\82ã\81\82
\82¤ã\82®ã\83ªã\82¹ã\81®ã\82°ã\83ªã\83\8bã\83\83ã\82¸ã\81® 2000 å¹´ã\81®æ\9c\80å\88\9dã\81® 0 ç§\92ã\81 ã\81­ã\80\8dã\81¨ã\80\81ã\81\95ã\82\8aã\81\92ã\81ªã\81\8f
-言える人は、めったにいないけれど
+その日付の加工前の値は、ジ・エポックからの経過秒数で表されているかもしれない。
\81 ã\81\8cã\80\81@samp{946684800} ã\81¨ã\81\84ã\81£ã\81\9fæ\97¥ä»\98ã\82\92è¦\8bã\81¦
\80\8cã\81\82ã\81\82ã\80\81ã\82¤ã\82®ã\83ªã\82¹ã\81®ã\82°ã\83ªã\83\8bã\83\83ã\82¸ã\81® 2000 å¹´ã\81®æ\9c\80å\88\9dã\81® 0 ç§\92ã\81 ã\81­ã\80\8dã\81¨ã\80\81
+さりげなく言える人は、めったにいない
 
 @example
 date --date='2000-01-01 UTC' +%s
@@ -16318,18 +16198,18 @@ date --date='2000-01-01 UTC' +%s
 なお、上と同じ結果は、@option{--utc} (@option{-u}) オプションを使っても得られ、
 その場合は、日付を表す文字列で @samp{UTC} を省略することができる。
 とは言え、@option{--utc} を使う方法は、@samp{%s} を始め、多くの書式文字列では、
-日付文字列で @samp{UTC} を使うのと同じ結果をもたらすものの、協定世界時
-からの時差が 0 ではないタイムゾーンでは、@samp{%z} など、タイムゾーン
-によって値が変わってくる書式文字列に対しては、異なる結果をもたらす
-ことになるだろう。
+日付文字列で @samp{UTC} を使うのと同じ結果をもたらすものの、
+協定世界時からの時差が 0 ではないタイムゾーンでは、
+@samp{%z} のようなタイムゾーンによって値が変わってくる書式文字列に対しては、
+異なる結果をもたらすことになるだろう。
 
 @example
 date -u --date=2000-01-01 +%s
 946684800
 @end example
 
-こうした秒数という扱いにくいデータをもっと読みやすい形に変換し直す
-には、次のようなコマンドを使う。
+こうした秒数という扱いにくいデータをもっと読みやすい形に変換し直すには、
+次のようなコマンドを使う。
 
 @smallexample
 # 現在地のタイムゾーンを使用
@@ -16337,8 +16217,8 @@ date -d '1970-01-01 UTC 946684800 seconds' +"%Y-%m-%d %T %z"
 1999-12-31 19:00:00 -0500
 @end smallexample
 
-coreutils 5.3.0 以来使用できるようになった @samp{@@} という表記に頼っても
-構わないなら、上記のコマンドを短くすることができる。
+coreutils 5.3.0 以来使用できるようになった @samp{@@}
+という表記に頼っても構わないなら、上記のコマンドを短くすることができる。
 
 @smallexample
 date -d @@946684800 +"%F %T %z"
@@ -16355,8 +16235,8 @@ date -u -d '1970-01-01 946684800 seconds' +"%Y-%m-%d %T %z"
 @item
 @cindex leap seconds
 閏秒は秒数計算に入れないのが一般的だが、例外的なシステムもある。
-閏秒は予測できないものなので、閏秒を計算に入れる例外的なシステム
-では、秒数による計算と未来の日時との対応は信頼性に欠ける。
+閏秒は予測できないものなので、閏秒を計算に入れる例外的なシステムでは、
+秒数による計算と未来の日時との対応は信頼性に欠ける。
 
 一般的なシステムと例外的なシステムの両者が、2012-06-30 23:59:60 UTC
 の閏秒をどのように処理しているかを以下に示す。
@@ -16391,9 +16271,8 @@ date --date='2012-07-01 00:00:00 +0000' +%s
 @cindex print machine hardware name
 @cindex system information, printing
 
-@command{arch} は、マシンのハードウェア名を表示する。@samp{uname -m} と同じこと
-である。
-@sp 1
+@command{arch} は、マシンのハードウェア名を表示する。@samp{uname -m} と同じことである。
+
 書式:
 
 @example
@@ -16402,6 +16281,9 @@ arch [@var{option}]
 
 このプログラムでは、共通オプションしか使用できない。@ref{Common options}.
 
+@command{arch} は、デフォルトではインストールされない。
+従って、移植を考慮したスクリプトでは、@command{arch} コマンドが存在することを当てにしない方がよい。
+
 @exitstatus
 
 
@@ -16413,11 +16295,11 @@ arch [@var{option}]
 @cindex system information, printing
 
 カレントプロセスが利用できるプロセシング・ユニットの個数を表示する。
-それは、稼働しているプロセッサの数より少ないかもしれない。そうした
-情報が取得できない場合は、搭載されているプロセッサの数を表示する。
-環境変数 @env{OMP_NUM_THREADS} が設定されている場合は、その変数が、返さ
-れる値を決めることになる。なお、結果は必ず 0 より大きくなる。
-@sp 1
+それは、稼働しているプロセッサの数より少ないかもしれない。
+そうした情報が取得できない場合は、搭載されているプロセッサの数を表示する。
+環境変数 @env{OMP_NUM_THREADS} が設定されている場合は、
\81\9dã\81®å¤\89æ\95°ã\81\8cã\80\81è¿\94ã\81\95ã\82\8cã\82\8bå\80¤ã\82\92決ã\82\81ã\82\8bã\81\93ã\81¨ã\81«ã\81ªã\82\8bã\80\82ã\81ªã\81\8aã\80\81çµ\90æ\9e\9cã\81¯å¿\85ã\81\9a 0 ã\82\88ã\82\8a大ã\81\8dã\81\8fã\81ªã\82\8bã\80\82
+
 書式:
 
 @example
@@ -16430,10 +16312,9 @@ nproc [@var{option}]
 
 @item --all
 @opindex --all
-システムに搭載されているプロセッサの数を表示する。それは、稼働して
-いるプロセッサや、カレントプロセスが利用できるプロセッサの数より
-多いかもしれない。このオプションを付けた場合、環境変数
-@env{OMP_NUM_THREADS} は考慮されない。
+システムに搭載されているプロセッサの数を表示する。
+それは、稼働しているプロセッサや、カレントプロセスが利用できるプロセッサの数より多いかもしれない。
+このオプションを付けた場合、環境変数 @env{OMP_NUM_THREADS} は考慮されない。
 
 @item --ignore=@var{number}
 @opindex --ignore
@@ -16451,33 +16332,31 @@ nproc [@var{option}]
 @cindex print system information
 @cindex system information, printing
 
-@command{uname} は、自分がその上で実行されているマシンとオペレーティング・
-システムについて情報を表示する。オプションが一つも指定されない場合は、
-@option{-s} オプションが指定されたかのように振る舞う。
-@sp 1
+@command{uname} は、自分がその上で実行されているマシンとオペレーティング・システムについて情報を表示する。
+オプションが一つも指定されない場合は、@option{-s} オプションが指定されたかのように振る舞う。
+
 書式:
 
 @example
 uname [@var{option}]@dots{}
 @end example
 
-複数のオプションや @option{-a} オプションが指定された場合、選択された情報は
-次の順番で表示される。
+複数のオプションや @option{-a} オプションが指定された場合、選択された情報は次の順番で表示される。
 
 @example
 @var{kernel-name} @var{nodename} @var{kernel-release} @var{kernel-version}
 @var{machine} @var{processor} @var{hardware-platform} @var{operating-system}
 @end example
 
-個々の情報が空白を含んでいることがある。そうした場合、出力のどこから
\81©ã\81\93ã\81¾ã\81§ã\81\8cã\80\81ã\81\82ã\82\8bæ\83\85å ±ã\81«å½\93ã\81\9fã\82\8bã\81\8bã\82\92å\88¤æ\96­ã\81\99ã\82\8bã\81\93ã\81¨ã\81¯é\9b£ã\81\97ã\81\84ã\80\82以ä¸\8bã\81®ä¾\8bã\81§ @var{release}
+個々の情報が空白を含んでいることがある。そうした場合、出力のどこからどこまでが、
+ある情報に当たるかを判断することは難しい。以下の例で @var{release}
 に当たるのは、@samp{2.2.18 #4 SMP Tue Jun 5 11:24:08 PDT 2001} の部分である。
-@sp 1
+
 (訳注: @var{release} が @var{kernel-release} のことならば、それに相当するのは
-@samp{2.2.18} だけである。#4 から 2001 までは @var{kernel-version}。原文は両者を
\90\88ã\82\8fã\81\9bã\81¦ã\80\81@var{release} ã\81¨è¨\80ã\81£ã\81¦ã\81\84ã\82\8bã\81®ã\81\8bã\82\82ã\81\97ã\82\8cã\81ªã\81\84ã\80\82ã\81ªã\81\8aã\80\81以ä¸\8bã\81®ä¾\8bã\81¯ã\81¡ã\82\87ã\81£ã\81¨
-古い。最近の @command{uname -a} では、@option{-a} オプションの説明にあるように、unknown
-の部分は表示されないはずである。)
+@samp{2.2.18} だけである。#4 から 2001 までは @var{kernel-version}。
\8e\9fæ\96\87ã\81¯ä¸¡è\80\85ã\82\92å\90\88ã\82\8fã\81\9bã\81¦ã\80\81@var{release} ã\81¨è¨\80ã\81£ã\81¦ã\81\84ã\82\8bã\81®ã\81\8bã\82\82ã\81\97ã\82\8cã\81ªã\81\84ã\80\82
+なお、以下の例はちょっと古い。最近の @command{uname -a} では、@option{-a}
\82ªã\83\97ã\82·ã\83§ã\83³ã\81®èª¬æ\98\8eã\81«ã\81\82ã\82\8bã\82\88ã\81\86ã\81«ã\80\81unknown ã\81®é\83¨å\88\86ã\81¯è¡¨ç¤ºã\81\95ã\82\8cã\81ªã\81\84ã\81¯ã\81\9aã\81§ã\81\82ã\82\8bã\80\82)
 
 @smallexample
 uname -a
@@ -16494,8 +16373,7 @@ uname -a
 @itemx --all
 @opindex -a
 @opindex --all
-以下の情報をすべて表示する。ただし、プロセッサ・タイプとハードウェア・
-プラットホームは、unknown ならば省略する。
+以下の情報をすべて表示する。ただし、プロセッサ・タイプとハードウェア・プラットホームは、unknown ならば省略する。
 
 @item -i
 @itemx --hardware-platform
@@ -16504,10 +16382,10 @@ uname -a
 @cindex implementation, hardware
 @cindex hardware platform
 @cindex platform, hardware
-ハードウェア・プラットホームの名前を表示する (ハードウェア実装と
-呼ばれることもある)。この情報がカーネルから簡単に取得できるように
\81ªã\81£ã\81¦ã\81\84ã\81ªã\81\84å ´å\90\88ã\81¯ã\80\81@samp{unknown} ã\81¨è¡¨ç¤ºã\81\99ã\82\8bã\80\82Linux ã\81®ã\82«ã\83¼ã\83\8dã\83«ã\81\8cã\81\9dã\81®
-一例である
+ハードウェア・プラットホームの名前を表示する (ハードウェア実装と呼ばれることもある)。
+その情報が取得できない場合は、@samp{unknown} と表示する。
\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯ã\80\81(GNU/Linux ã\83\87ã\82£ã\82¹ã\83\88ã\83ªã\83\93ã\83¥ã\83¼ã\82·ã\83§ã\83³å\90\8c士ã\81®é\96\93ã\81§ã\81\99ã\82\89)
+可搬性がない
 
 @item -m
 @itemx --machine
@@ -16516,8 +16394,7 @@ uname -a
 @cindex machine type
 @cindex hardware class
 @cindex hardware type
-マシンのハードウェア名を表示する (ハードウェア・クラスとかハード
-ウェア・タイプと呼ばれることもある)。
+マシンのハードウェア名を表示する (ハードウェア・クラスとかハードウェア・タイプと呼ばれることもある)。
 
 @item -n
 @itemx --nodename
@@ -16534,9 +16411,10 @@ uname -a
 @opindex --processor
 @cindex host processor type
 プロセッサ・タイプを表示する (命令セット体系、the instruction
-set architecture、ISA などと呼ばれることもある)。この情報が
-カーネルから簡単に取得できるようになっていない場合は、@samp{unknown} と
-表示する。Linux のカーネルがその一例である。
+set architecture、ISA などと呼ばれることもある)。
+その情報が取得できない場合は、@samp{unknown} と表示する。
+このオプションは、(GNU/Linux ディストリビューション同士の間ですら)
+可搬性がない。
 
 @item -o
 @itemx --operating-system
@@ -16560,12 +16438,12 @@ set architecture、ISA などと呼ばれることもある)。この情報が
 @cindex kernel name
 @cindex name of kernel
 カーネル名を表示する。POSIX 1003.1-2001 では (@pxref{Standards
-conformance})、これを「オペレーティング・システムの実装」と
-呼んでいる。POSIX の仕様には、カーネルという概念がないから
\81§ã\81\82ã\82\8bã\80\82ã\82«ã\83¼ã\83\8dã\83«å\90\8dã\81¯ã\80\81@option{-o} ã\82\84  @option{--operating-system} ã\82ªã\83\97ã\82·ã\83§ã\83³
-で表示されるオペレーティング・システム名と同じかもしれないし、
-違うかもしれない。オペレーティング・システムによって、基盤と
-なっているカーネルと名前が同じものもあれば (FreeBSD, HP-UX など)、
+conformance})、これを「オペレーティング・システムの実装」と呼んでいる。
+POSIX の仕様には、カーネルという概念がないからである。
\82«ã\83¼ã\83\8dã\83«å\90\8dã\81¯ã\80\81@option{-o} ã\82\84  @option{--operating-system}
\82ªã\83\97ã\82·ã\83§ã\83³ã\81§è¡¨ç¤ºã\81\95ã\82\8cã\82\8bã\82ªã\83\9aã\83¬ã\83¼ã\83\86ã\82£ã\83³ã\82°ã\83»ã\82·ã\82¹ã\83\86ã\83 å\90\8dã\81¨å\90\8cã\81\98ã\81\8bã\82\82ã\81\97ã\82\8cã\81ªã\81\84ã\81\97ã\80\81
+違うかもしれない。オペレーティング・システムによって、
+基盤となっているカーネルと名前が同じものもあれば (FreeBSD, HP-UX など)、
 違うものもある (GNU/Linux, Solaris など) からである。
 
 @item -v
@@ -16590,19 +16468,23 @@ conformance})、これを「オペレーティング・システムの実装」
 @cindex system name, printing
 @cindex appropriate privileges
 
-@command{hostname} は、引数なしで実行すると、使用しているホストシステムの
-名前を表示する。引数を一つ付けると、使用しているホストの名前を指定
-された文字列に設定する。ホストの名前を設定するには、しかるべき権限が
-必要である。
-@sp 1
+@command{hostname} は、引数なしで実行すると、使用しているホストシステムの名前を表示する。
+引数を一つ付けて実行すると、指定した文字列を使用しているホストの名前として設定する。
+ホストの名前を設定するには、しかるべき権限が必要である。
+
 書式:
 
 @example
 hostname [@var{name}]
 @end example
 
-オプションは、@option{--help} と @option{--version} だけである。@xref{Common
-options}.
+オプションは、@option{--help} と @option{--version} だけである。
+@xref{Common options}.
+
+@command{hostname} は、デフォルトではインストールされない。
+また、coreutils 以外のパッケージにも @command{hostname} コマンドを提供するものがある。
+従って、移植を考慮したスクリプトでは、@command{hostname}
+コマンドが存在することや、上記通りの動作をすることを当てにしない方がよい。
 
 @exitstatus
 
@@ -16624,9 +16506,11 @@ $ hostid
 1bac013d
 @end example
 
-たまたまこのシステムでは、識別名の 32 ビットの数値が、システムの
-インターネット・アドレスと密接な関係を持っているが、いつでもそうとは
-かぎらない。
+たまたまこのシステムでは、識別名の 32 ビットの数値が、システムのインターネット・アドレスと密接な関係を持っているが、
+いつでもそうとはかぎらない。
+
+@command{hostid} がインストールされるのは、@code{gethostid} 関数が存在するシステムだけである。
+従って、移植を考慮したスクリプトでは、@command{hostid} の存在を当てにしない方がよい。
 
 @exitstatus
 
@@ -16636,31 +16520,36 @@ $ hostid
 @pindex uptime
 @cindex printing the system uptime and load
 
-@command{uptime} は、現在の時刻、システムの連続稼働時間、ログインしているユーザ
\81®æ\95°ã\80\81ã\81\9dã\82\8cã\81«ç\8f¾å\9c¨ã\81®å¹³å\9d\87è² è\8d· (load average) ã\82\92表示ã\81\99ã\82\8bã\80\82
+@command{uptime} は、現在の時刻、システムの連続稼働時間、ログインしているユーザの数、
+それに現在の平均負荷 (load average) を表示する。
 
-引数を指定すると、ユーザが何人ログインしているかを知るために読み込む
-ファイルとして、その引数が使用される。引数を指定しない場合は、システムの
-デフォルトが使用される (@command{uptime --help} を実行すれば、デフォルトの設定が
-わかる)。
+引数を指定すると、ユーザが何人ログインしているかを知るために読み込むファイルとして、その引数が使用される。
+引数を指定しない場合は、システムのデフォルトが使用される
+(@command{uptime --help} を実行すれば、デフォルトの設定がわかる)。
 
-オプションは、@option{--help} と @option{--version} だけである。@xref{Common
-options}.
+オプションは、@option{--help} と @option{--version} だけである。
+@xref{Common options}.
 
-たとえば、以下の例は、筆者が使っているシステムの一つで、ちょうど今表示
-されたものだ。
+たとえば、以下の例は、筆者が使っているシステムの一つで、ちょうど今表示されたものだ。
 
 @example
 $ uptime
  14:07  up   3:35,  3 users,  load average: 1.39, 1.15, 1.04
 @end example
 
-細かいことを言うと、平均負荷の計算方法は、システムによっていくらか
-異なっている。あるシステムでは、ここ 1 分間、5 分間、15 分間の、実行
-可能状態のプロセスの平均数として計算されるが、別のシステムでは、割り込み
-不可能なスリープ状態のプロセスも含めている (すなわち、ディスク I/O を
-待っているプロセスだ)。Linux のカーネルは、割り込み不可能なプロセスを
-含める方である。
+細かいことを言うと、平均負荷の計算方法は、システムによっていくらか異なっている。
+あるシステムでは、ここ 1 分間、5 分間、15 分間の、実行可能状態のプロセスの平均数として計算されるが、
+別のシステムでは、割り込み不可能なスリープ状態のプロセスも含めている
+(すなわち、ディスク I/O を待っているプロセスだ)。
+Linux のカーネルは、割り込み不可能なプロセスを含める方である。
+
+@command{uptime} がインストールされるのは、
+ブート日時を取得するための下部構造を備えているプラットフォームだけである。
+また、coreutils 以外のパッケージにも、@command{uptime} コマンドを提供しているものがある。
+従って、移植を考慮したスクリプトでは、@command{uptime} コマンドが存在することや、
+上記通りの動作をすることを当てにしない方がよい。
+
+@exitstatus
 
 @node SELinux context
 @chapter SELinux コンテキスト
@@ -16683,9 +16572,8 @@ $ uptime
 @cindex changing security context
 @cindex change SELinux context
 
-@command{chcon} は、指定されたファイルの SELinux セキュリティ・コンテキストを
-変更する。
-@sp 1
+@command{chcon} は、指定されたファイルの SELinux セキュリティ・コンテキストを変更する。
+
 書式:
 
 @smallexample
@@ -16696,8 +16584,8 @@ chcon [@var{option}]@dots{} --reference=@var{rfile} @var{file}@dots{}
 @end smallexample
 
 各 @var{file} の SELinux セキュリティ・コンテキストを @var{context} に変更する。
-@option{--reference} オプションを使用した場合は、各 @var{file} のセキュリティ・
-コンテキストを @var{rfile} のそれに変更する。
+@option{--reference} オプションを使用した場合は、
+各 @var{file} のセキュリティ・コンテキストを @var{rfile} のそれに変更する。
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 
@@ -16705,22 +16593,20 @@ chcon [@var{option}]@dots{} --reference=@var{rfile} @var{file}@dots{}
 
 @item --dereference
 @opindex --dereference
-シンボリックリンクそのものではなく、リンクが指しているものを操作の
-対象にする。これがデフォルトである。
+シンボリックリンクそのものではなく、リンクが指しているものを操作の対象にする。
+これがデフォルトである。
 
 @item -h
 @itemx --no-dereference
 @opindex -h
 @opindex --no-dereference
 @cindex no dereference
-参照先のファイルではなく、シンボリックリンクそのものを操作の対象
-にする。
+参照先のファイルではなく、シンボリックリンクそのものを操作の対象にする。
 
 @item --reference=@var{rfile}
 @opindex --reference
 @cindex reference file
-@var{context} の値を直接指定する代わりに、@var{rfile} のセキュリティ・
-コンテキストを使用する。
+@var{context} の値を直接指定する代わりに、@var{rfile} のセキュリティ・コンテキストを使用する。
 
 @item -R
 @itemx --recursive
@@ -16773,8 +16659,7 @@ chcon [@var{option}]@dots{} --reference=@var{rfile} @var{file}@dots{}
 @itemx --range=@var{range}
 @opindex -l
 @opindex --range
-操作対象のセキュリティ・コンテキストのセキュリティ・レベルの
-範囲を @var{range} にする。
+操作対象のセキュリティ・コンテキストのセキュリティ・レベルの範囲を @var{range} にする。
 
 @end table
 
@@ -16787,8 +16672,7 @@ chcon [@var{option}]@dots{} --reference=@var{rfile} @var{file}@dots{}
 @cindex run with security context
 
 
-@command{runcon} は、指定された SELinux セキュリティ・コンテキストでファイルを
-実行する。
+@command{runcon} は、指定された SELinux セキュリティ・コンテキストでファイルを実行する。
 
 書式:
 @smallexample
@@ -16797,19 +16681,16 @@ runcon [ -c ] [-u @var{user}] [-r @var{role}] [-t @var{type}]@c
  [-l @var{range}] @var{command} [@var{args}]
 @end smallexample
 
-セキュリティ・コンテキストのすべてを @var{context} で指定して、@var{command} を
-実行する。あるいは、現在の、または遷移後のセキュリティ・コンテキストの
-うち、@var{user}, @var{role}, @var{type}, @var{level} (訳注: 上の書式で言えば
-@var{range}) の一つ以上
-を変更して、@var{command} を実行する。
+セキュリティ・コンテキストのすべてを @var{context} で指定して、@var{command}
+を実行する。あるいは、現在の、または遷移後のセキュリティ・コンテキストのうち、
+ユーザ、ロール、タイプ、レベルの一つ以上を変更して、@var{command} を実行する。
 
 @option{-c}, @option{-u}, @option{-r}, @option{-t}, @option{-l}
-のどのオプションも指定されていない場合
-は、最初の引数が完全なコンテキストとして使用される。@var{command} の後ろに続く
-引数があれば、それはそのコマンドに対する引数と見なされる。
+のどのオプションも指定されていない場合は、最初の引数が完全なコンテキストとして使用される。
+@var{command} の後ろに続く引数があれば、それはそのコマンドに対する引数と見なされる。
 
-@var{context} と @var{command} のどちらも指定されていない場合は、現在の
-セキュリティ・コンテキストを表示する。
+@var{context} と @var{command} のどちらも指定されていない場合は、
+現在のセキュリティ・コンテキストを表示する。
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 
@@ -16819,8 +16700,7 @@ runcon [ -c ] [-u @var{user}] [-r @var{role}] [-t @var{type}]@c
 @itemx --compute
 @opindex -c
 @opindex --compute
-セキュリティ・コンテキストの変更を行う前に、プロセスの遷移による
-コンテキストを求めておく。
+セキュリティ・コンテキストの変更を行う前に、プロセスの遷移によるコンテキストを求める。
 
 @item -u @var{user}
 @itemx --user=@var{user}
@@ -16844,8 +16724,7 @@ runcon [ -c ] [-u @var{user}] [-r @var{role}] [-t @var{type}]@c
 @itemx --range=@var{range}
 @opindex -l
 @opindex --range
-操作対象のセキュリティ・コンテキストのセキュリティ・レベルの
-範囲を @var{range} にする。
+操作対象のセキュリティ・コンテキストのセキュリティ・レベルの範囲を @var{range} にする。
 
 @end table
 
@@ -16866,14 +16745,14 @@ runcon [ -c ] [-u @var{user}] [-r @var{role}] [-t @var{type}]@c
 @cindex invocation of commands, modified
 @cindex commands for invoking other commands
 
-この章で説明するコマンドは、他のコマンドを現在の条件とは違った条件で
-実行するものである。たとえば、環境を変更して実行する、別のユーザとして
-実行するといったコマンドだ。
-@sp 1
-(訳注: 「別のユーザとして実行する」というのは、@command{chroot} の
-@option{--userspec} オプションを指していると考えられなくもないが、元々は
-@command{su} ã\82³ã\83\9eã\83³ã\83\89ã\81®ã\81\93ã\81¨ã\82\92è¨\80ã\81£ã\81¦ã\81\84ã\81\9fã\81®ã\81 ã\81¨æ\80\9dã\81\86ã\80\82@command{su} ã\82\82以å\89\8dã\81¯ã\81\93ã\81®ç« ã\81§èª¬æ\98\8eã\81\95ã\82\8cã\81¦
\81\84ã\81\9fã\81\8cã\80\81ç\8f¾å\9c¨ã\81§ã\81¯ coreutils ã\81«å\8f\8eé\8c²ã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84ã\80\82)
+この章で説明するコマンドは、他のコマンドを現在の条件とは違った条件で実行するものである。
+たとえば、環境を変更して実行する、別のユーザとして実行するといったコマンドだ。
+
+(訳注: 「別のユーザとして実行する」というのは、@command{chroot}
+の @option{--userspec} オプションを指していると考えられなくもないが、
+元々は @command{su} コマンドのことを言っていたのだと思う。
+@command{su} ã\82\82以å\89\8dã\81¯ã\81\93ã\81®ç« ã\81§èª¬æ\98\8eã\81\95ã\82\8cã\81¦ã\81\84ã\81\9fã\81\8cã\80\81ç\8f¾å\9c¨ã\81§ã\81¯ coreutils
+に収録されていない。)
 
 @menu
 * chroot invocation::        ルート・ディレクトリを変更する。
@@ -16892,16 +16771,18 @@ runcon [ -c ] [-u @var{user}] [-r @var{role}] [-t @var{type}]@c
 @cindex running a program in a specified root directory
 @cindex root directory, running a program in a specified
 
-@command{chroot} は、指定されたディレクトリをルートディレクトリにして、コマンド
-を実行する。多くのシステムでは、この操作を行うことができるのはスーパー
-ユーザだけである。
+@command{chroot} は、指定されたディレクトリをルートディレクトリにして、コマンドを実行する。
+多くのシステムでは、この操作を行うことができるのはスーパーユーザだけである。
 @footnote{もっとも、システムによっては (たとえば、FreeBSD がそうだが)、
-特定の一般ユーザが @code{chroot} システムコールを使用できるように設定
-できるものもある。従って、そうしたユーザは @command{chroot} コマンドを実行
-できるわけだ。また、Cygwin では、どんなユーザでも @command{chroot} コマンド
-を実行できる。MS-Windows では chroot 関数をサポートしていないため、
-内部で使用する関数が特権を要求しないからである。}
-@sp 1
+特定の一般ユーザが @code{chroot} システムコールを使用できるように設定できるものもある。
+従って、そうしたユーザは @command{chroot} コマンドを実行できるわけだ。
+また、Cygwin では、どんなユーザでも @command{chroot} コマンドを実行できる。
+MS-Windows が chroot 関数をサポートしていないため、
+内部で使用する関数が特権とは無関係だからである。
+なお、@var{newroot} が元の @file{/} ディレクトリと同じ場合、@command{chroot}
+コマンドは @code{chroot} システムコールを使わないで済まそうとする。
+これは、非特権ユーザにもそうしたことが許されているシステムとの一貫性を保つためである。}
+
 書式:
 
 @example
@@ -16909,47 +16790,65 @@ chroot @var{option} @var{newroot} [@var{command} [@var{args}]@dots{}]
 chroot @var{option}
 @end example
 
-通常、ファイル名の検索は、ディレクトリ構造の根 (ルート、root)、
-すなわち @file{/} を起点として行われる。@command{chroot} はこのルートを @var{newroot}
+通常、ファイル名の検索は、ディレクトリ構造の根 (ルート、root)、すなわち
+@file{/} を起点として行われる。@command{chroot} はこのルートを @var{newroot}
 ディレクトリ (実在するディレクトリでなければならない) に変更し、
-その上で @var{command} を、@var{args} の指定があれば @var{args} を付けて実行する。
+さらに、作業ディレクトリを @file{/} に変更して、最後に @var{command}
+を、@var{args} の指定があれば @var{args} を付けて実行する。
 @var{command} が指定されていない場合、デフォルトのコマンドは、環境変数
 @env{SHELL} の値か、@env{SHELL} が設定されていなければ、@command{/bin/sh} であり、
-それが @option{-i} オプションを付けて、呼び出される。@var{command} は シェルの
-組み込みコマンドであってはならない (@pxref{Special built-in utilities})。
+それが @option{-i} オプションを付けて、呼び出される。
+@var{command} は シェルの組み込みコマンドであってはならない
+(@pxref{Special built-in utilities})。
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 オプションはオペランドの前に置かなければならない。
 
 @table @samp
 
-@item --userspec=@var{user}[:@var{group}]
-@opindex --userspec
-デフォルトでは、@var{command} は呼び出し側のプロセスと同じ資格情報を
-使って実行されるが、このオプションを使えば、@var{command} を別の @var{user}
-として実行することができる。別の基本 @var{group} を指定することも可能だ。
-(訳注: coreutils-8.22 では、場合によっては @var{user} や @var{group} を名前
-ではなく、ID 番号で指定しなければならないことがある。)
-
 @item --groups=@var{groups}
 @opindex --groups
-このオプションを使えば、新しいプロセスが使用する補助 @var{groups} を指定
-することができる。グループのリスト (名前でも ID 番号でもよい) は、
-コンマで区切られていなければならない。(訳注: coreutils-8.22 では、
-このオプションが使用できない場合もある。)
+このオプションを使えば、新しいプロセスが使用する補助 @var{groups}
+を変更することができる。グループのリストの各項目 (名前でも ID 番号でもよい)
+は、コンマで区切られていなければならない。
+@option{--userspec} オプションで自動的に行われる補助グループの照合をしないようにするには、
+@samp{--groups=''} を使用すればよい。
+
+@item --userspec=@var{user}[:@var{group}]
+@opindex --userspec
+デフォルトでは、@var{command} は呼び出し側のプロセスと同じ資格情報を使って実行されるが、
+このオプションを使えば、@var{command} を別の @var{user}
+の資格で実行することができる。別の基本 @var{group} を指定することも可能だ。
+@var{user} が指定された場合、補助グループは、そのユーザについてシステムが設定しているリストと同じものになる。
+ただし、@option{--groups} オプションによって置き換えられる場合は別だ。
+
+@item --skip-chdir
+@opindex --skip-chdir
+ルートディレクトリを @var{newroot} に変更した後で
+(すなわち chroot 環境中で)、作業ディレクトリを @file{/}
+に変更したくなかったら、このオプションを使えばよい。
+このオプションが使用できるのは、@var{newroot} が元の @file{/}
+ディレクトリと同じときだけであり、従って、役に立つのは、
+@option{--groups} や "@option{--userspec} と一緒に使い、
+元の作業ディレクトリに留まっていたい場合がほとんどである。
 
 @end table
 
-chroot を使う上でよくある問題を避けることができるように、ちょっと
-した情報をいくつか挙げておく。まず簡単なことから言うと、@var{command} は、
-静的にリンクしたバイナリを指すようにした方がよい。もし、動的にリンク
-した実行ファイルを使用するのならば、共有ライブラリが新しいルート
-ディレクトリ以下の適切な場所に存在するように、前もって準備しておく
-必要があるだろう。
+@option{--userspec} や @option{--groups} オプションによって行われるユーザ名やグループ名の照合は、
+chroot 環境の外側と内側の両方で行われるが、chroot 環境の内側で成功した照合が優先される。
+ユーザやグループの指定で ID 番号を使うつもりならば、数字の前に @samp{+}
+を付ければ、名前を ID 番号に還元するステップが行われないで済む。
+@xref{Disambiguating names and IDs}.
+
+chroot を使う上でよくある問題を避けることができるように、
+ちょっとした情報をいくつか挙げておく。まず簡単なことから言うと、@var{command}
+は、静的にリンクしたバイナリを指すようにした方がよい。
+もし、動的にリンクした実行ファイルを使用するのならば、
+共有ライブラリが新しいルートディレクトリ以下の適切な場所に存在するように、
+前もって準備しておく必要があるだろう。
 
 たとえば、静的にリンクした @command{ls} の実行ファイルを作成して、
-@file{/tmp/empty} に置けば、root ユーザとして次のようなコマンドを実行する
-ことができる。
+@file{/tmp/empty} に置けば、root ユーザとして次のようなコマンドを実行することができる。
 
 @example
 $ chroot /tmp/empty /ls -Rl /
@@ -16963,14 +16862,16 @@ total 1023
 -rwxr-xr-x 1 0 0 1041745 Aug 16 11:17 ls
 @end example
 
-もし、動的にリンクした実行ファイル、たとえば @command{bash} を使いたい
-ならば、まず @samp{ldd bash} を実行して、どんな共有オブジェクトファイルが
-必要かを調べることだ。それから、@command{bash} 自体のバイナリをコピーするだけ
-でなく、@samp{ldd bash} でリストされたファイルも、新しいルートディレクトリ
-になるディレクトリ以下のしかるべき場所にコピーしておく。さらに、
-実行ファイルが何か他のファイルも必要としているなら (たとえば、データ
-ファイル、ステータスファイル、デバイスファイルなど)、それも適切な
-場所にコピーする。
+もし、動的にリンクした実行ファイル、たとえば @command{bash} を使いたいならば、
+まず @samp{ldd bash} を実行して、どんな共有オブジェクトファイルが必要かを調べることだ。
+それから、@command{bash} 自体のバイナリをコピーするだけでなく、@samp{ldd bash}
+でリストされたファイルも、新しいルートディレクトリになるディレクトリ以下のしかるべき場所にコピーしておく。
+さらに、実行ファイルが何か他のファイルも必要としているなら
+(たとえば、データファイル、ステータスファイル、デバイスファイルなど)、
+それも適切な場所にコピーする。
+
+@command{chroot} がインストールされるのは、@code{chroot} 関数を持つシステムだけである。
+従って、移植を考慮したスクリプトでは、@command{chroot} が存在することを当てにしない方がよい。
 
 @cindex exit status of @command{chroot}
 終了ステータス:
@@ -16992,7 +16893,7 @@ total 1023
 @cindex running a program in a modified environment
 
 @command{env} は、環境を変更して、コマンドを実行する。
-@sp 1
+
 書式:
 
 @example
@@ -17002,33 +16903,31 @@ env
 @end example
 
 @samp{@var{variable}=@var{value}} という形のオペランドは、環境変数 @var{variable} の値を
-@var{value} に設定する。@var{value} は空っぽでも構わない (@samp{@var{variable}=})。変数の値を
-空に設定 (set) するのは、変数を破棄 (unset) するのとは別のことである。
-こうしたオペランドは、左から右へ評価されるので、二つのオペランドが同じ
-変数を対象にしている場合、前のものは無視される。
-
-環境変数名は、空でもよいし、@samp{=} と ASCII NUL 以外なら、どんな文字を
-含んでいても構わない。とは言え、変数名は、アンダースコア、数字、ASCII
-文字のみから構成し、数字以外の文字で始めるようにした方が、賢明である。
+@var{value} に設定する。@var{value} は空っぽでも構わない (@samp{@var{variable}=})。
+変数の値を空に設定 (set) するのは、変数を破棄 (unset) するのとは別のことである。
+こうしたオペランドは、左から右へ評価されるので、二つのオペランドが同じ変数を対象にしている場合、前のものは無視される。
+
+環境変数名は、空でもよいし、@samp{=} と ASCII NUL 以外なら、どんな文字を含んでいても構わない。
+とは言え、変数名は、アンダースコア、数字、ASCII 文字のみから構成し、
+数字以外の文字で始めるようにした方が、賢明である。
 それ以外の名前だと、シェルなどのアプリケーションがうまく動作しないからだ。
 
 @vindex PATH
-@samp{=} という文字を含まない最初のオペランドが、起動するプログラムで
-あり、環境変数 @env{PATH} に従って、どこにあるかが検索される。残っている
-引数があれば、すべてそのプログラムに引数として渡される。起動するプロ
-グラムは、シェルの組み込みコマンドであってはならない (@pxref{Special built-in
-utilities})。
+@samp{=} という文字を含まない最初のオペランドが、起動するプログラムであり、
+環境変数 @env{PATH} に従って、どこにあるかが検索される。
+残っている引数があれば、すべてそのプログラムに引数として渡される。
+起動するプログラムは、シェルの組み込みコマンドであってはならない
+(@pxref{Special built-in utilities})。
 
 @env{PATH} に対する変更は、@var{command} のありかを検索する前に有効になる。
-そこで、@env{PATH} を短縮するときには、気をつけなければならない。@env{PATH} が
-空だったり、@file{/bin} のような重要なディレクトリを欠いていると、@env{PATH} を
-変更する前と同じ動作にならないからだ。
+そこで、@env{PATH} を短縮するときには、気をつけなければならない。
+@env{PATH} を未定義にしたり、@file{/bin}
+のような重要なディレクトリを外したりすると、変更前と同じ動作にならないかもしれないからだ。
 
-めったにないことだが、プログラムの名前に @samp{=} という文字が含まれて
-いる場合、それを変数の指定と区別する唯一の方法は、@var{command} として仲介的
-なコマンドを使用し、その @var{args} として問題のあるプログラム名を渡すこと
-である。たとえば、@file{./prog=} が現在の @env{PATH} 中に存在する実行ファイルだ
-としよう。
+めったにないことだが、プログラムの名前に @samp{=} という文字が含まれている場合、
+それを変数の指定と区別する唯一の方法は、@var{command} として仲介的なコマンドを使用し、
+その @var{args} として問題のあるプログラム名を渡すことである。
+たとえば、@file{./prog=} が現在の @env{PATH} 中に存在する実行ファイルだとしよう。
 
 @example
 env prog= true 
@@ -17045,9 +16944,8 @@ env sh -c 'exec "$@@"' sh prog= true
 
 @cindex environment, printing
 
-環境変数の設定の後にコマンド名が指定されていない場合は、生成された
-環境が表示される。これは、@var{command} に @command{printenv} を指定するのと同じこと
-である。
+環境変数の設定の後にコマンド名が指定されていない場合は、生成された環境が表示される。
+これは、@var{command} に @command{printenv} を指定するのと同じことである。
 
 以下に例をいくつか挙げる。@command{env} に渡される環境は、@samp{LOGNAME=rms},
 @samp{EDITOR=emacs}, @samp{PATH=.:/gnubin:/hacks} からなっているものとする。
@@ -17064,15 +16962,16 @@ PATH=.:/gnubin:/hacks
 @end example
 
 @item
-環境を削減して、@command{foo} を実行する。@command{foo} が見つからないといけない
-ので、@env{PATH} だけは元のまま残している。
+環境を削減して、@command{foo} を実行する。@command{foo} が見つからないといけないので、
+@env{PATH} だけは元のまま残している。
 @example
 env - PATH="$PATH" foo
 @end example
 
 @item
-@samp{LOGNAME=rms}, @samp{EDITOR=emacs}, @samp{PATH=.:/gnubin:/hacks} からなる環境
-で @command{foo} を実行する。@command{foo} には、シェルの組み込みコマンドではなく、
+@samp{LOGNAME=rms}, @samp{EDITOR=emacs}, @samp{PATH=.:/gnubin:/hacks}
+からなる環境で @command{foo} を実行する。
+@command{foo} には、シェルの組み込みコマンドではなく、
 ファイルシステム中で見つかった実行ファイルが必ず使用される。
 @example
 env foo
@@ -17087,9 +16986,9 @@ env DISPLAY=gnu:0 LOGNAME=foo nemacs
 @end example
 
 @item
-プログラム @command{/energy/--} の実行を試みる (パスの検索でそれしか出て
-こないようにしている)。@command{--} というコマンドが存在する場合、環境
-は、@samp{LOGNAME=rms} と @samp{PATH=/energy} だけになり、引数には、@samp{e=mc2},
+プログラム @command{/energy/--} の実行を試みる (パスの検索でそれしか出てこないようにしている)。
+@command{--} というコマンドが存在する場合、環境は、@samp{LOGNAME=rms} と
+@samp{PATH=/energy} だけになり、引数には、@samp{e=mc2},
 @samp{bar}, @samp{baz} が使われる。
 @example
 env -u EDITOR PATH=/energy -- e=mc2 bar baz
@@ -17103,7 +17002,7 @@ env -u EDITOR PATH=/energy -- e=mc2 bar baz
 
 @table @samp
 
-@optNull{env}
+@optNull
 
 @item -u @var{name}
 @itemx --unset=@var{name}
@@ -17141,12 +17040,11 @@ env -u EDITOR PATH=/energy -- e=mc2 bar baz
 @cindex scheduling, affecting
 @cindex appropriate privileges
 
-"@command{nice} はプロセスの @dfn{niceness} を表示したり、niceness を変更して
-コマンドを実行したりする。@dfn{niceness} は、プロセスがシステム中でどの程度
-優先的にスケジュールされるかに影響を与える。(訳注: niceness を「スケ
-ジューリング優先度」と訳さない理由については、三つほど下のパラグラフを
-御覧いただきたい。)
-@sp 1
+@command{nice} はプロセスの @dfn{niceness} を表示したり、niceness を変更してコマンドを実行したりする。
+@dfn{niceness} は、プロセスがシステム中でどの程度優先的にスケジュールされるかに影響を及ぼす。
+(訳注: niceness を「スケジューリング優先度」と訳さない理由については、
+三つほど下のパラグラフを御覧いただきたい。)
+
 書式:
 
 @example
@@ -17157,25 +17055,24 @@ nice [@var{option}]@dots{} [@var{command} [@var{arg}]@dots{}]
 @var{command} を指定した場合は、niceness を調整して、その @var{command} を実行する。
 デフォルトでは、niceness が 10 増加する。
 
-niceness の値は、最小が @minus{}20 で、最大が 19 である (値が小さければ、
-プロセスの優先度が高くなり、使えるリソースも多くなるが、その分、他の
-プロセスの動作が遅くなる。また、値が大きければ、プロセスの優先度が低く
-なり、自分自身の動作は遅くなるが、実行中の他のプロセスの速度に与える
-影響は小さくなる)。システムによっては、niceness の値の範囲がもっと広い
-ものもあるし、反対に、上下限の制限がもっときついものもある。サポート
-されている範囲を越えた niceness を指定すると、サポートされている値の
-最小、または最大を使用しようとしているものとみなされる。
-
-niceness をスケジューリング優先度 (scheduling priority) と混同しては
-ならない。後者は、様々なスレッドをどういう序列で実行するかの予定を組む
-際に、その序列をアプリケーション側に決めさせるものである。優先度とは
-違って、niceness はスケジューラに対する単なるアドバイスにすぎず、スケ
-ジューラはそれを無視することができるのだ。また、用語について言うと、
+niceness の値は、最小が @minus{}20 で、最大が 19 である
+(値が小さければ、プロセスの優先度が高くなり、使えるリソースも多くなるが、
+その分、他のプロセスの動作が遅くなる。また、値が大きければ、プロセスの優先度が低くなり、
+自分自身の動作は遅くなるが、実行中の他のプロセスの速度に与える影響は小さくなる)。
+システムによっては、niceness の値の範囲がもっと広いものもあるし、
+反対に、上下限の制限がもっときついものもある。サポートされている範囲を越えた niceness を指定すると、
+サポートされている値の最小、または最大を使用しようとしているものと見なされる。
+
+niceness をスケジューリング優先度 (scheduling priority) と混同してはならない。
+後者は、様々なスレッドをどういう序列で実行するかの予定を組む際に、
+その序列をアプリケーション側に決めさせるものである。
+優先度とは違って、niceness はスケジューラに対する単なるアドバイスにすぎず、
+スケジューラはそれを無視することができるのだ。また、用語について言うと、
 POSIX は @command{nice} の動作を @dfn{nice value} という用語で定義している。
-この nice value は、ある niceness と 最小の niceness との間の負ではない
-差である。@command{nice} コマンドは POSIX に準拠しているものの、この文書や
\82¨ã\83©ã\83¼ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\81§ã\81¯ã\80\81å¾\93æ\9d¥ã\81®ç¿\92æ\85£ã\81¨ã\81®è¦ªå\92\8cæ\80§ã\82\92è\80\83æ\85®ã\81\97ã\81¦ã\80\81``niceness'' ã\81¨ã\81\84ã\81\86
-言葉を使っている。
+この nice value は、ある niceness と 最小の niceness との間の負ではない差である。
+@command{nice} コマンドは POSIX に準拠しているものの、
\81\93ã\81®æ\96\87æ\9b¸ã\82\84ã\82¨ã\83©ã\83¼ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\81§ã\81¯ã\80\81å¾\93æ\9d¥ã\81®ç¿\92æ\85£ã\81¨ã\81®è¦ªå\92\8cæ\80§ã\82\92è\80\83æ\85®ã\81\97ã\81¦ã\80\81
+``niceness'' という言葉を使っている。
 
 @var{command} は、シェルの組み込みコマンドであってはならない (@pxref{Special
 built-in utilities})。
@@ -17193,17 +17090,22 @@ built-in utilities})。
 @itemx --adjustment=@var{adjustment}
 @opindex -n
 @opindex --adjustment
-コマンドの niceness を 10 ではなく、@var{adjustment} 増加する。@var{adjustment}
-が負の数の場合、ユーザがしかるべき特権を持っていなければ、@command{nice} は
-警告を発する。とは言え、警告を出すだけで、@var{adjustment} として 0 が
-指定されたかのように振る舞う。
+コマンドの niceness を 10 ではなく、@var{adjustment} 増加する。
+@var{adjustment} が負の数の場合、ユーザがしかるべき特権を持っていなければ、
+@command{nice} は警告を発する。とは言え、警告を出すだけで、@var{adjustment}
+として 0 が指定されたかのように振る舞う。
 
-互換性を考慮して、@command{nice} は @option{-@var{adjustment}} というオプションの古い
-書式もサポートしている。だが、新しいスクリプトでは、@option{-n @var{adjustment}}
-の方を使うべきである。
+互換性を考慮して、@command{nice} は @option{-@var{adjustment}}
+というオプションの古い書式もサポートしている。
\81 ã\81\8cã\80\81æ\96°ã\81\97ã\81\84ã\82¹ã\82¯ã\83ªã\83\97ã\83\88ã\81§ã\81¯ã\80\81@option{-n @var{adjustment}} ã\81®æ\96¹ã\82\92使ã\81\86ã\81¹ã\81\8dã\81§ã\81\82ã\82\8bã\80\82
 
 @end table
 
+@command{nice} がインストールされるのは、
+POSIX の @code{setpriority} 関数を持っているシステムだけである。
+従って、移植を考慮したシステムでは、非 POSIX のプラットフォームに
+@command{nice} コマンドがあることを当てにしない方がよい。
+
 @cindex exit status of @command{nice}
 終了ステータス:
 
@@ -17237,17 +17139,17 @@ $ nice -n 10 nice
 @end example
 
 @var{adjustment} は、現在の niceness からいくら増減するかということである。
-次の例では、最初の @command{nice} が、二番目の @command{nice} を niceness 10 で実行し、
-二番目の @command{nice} は、niceness をさらに 3 増やして、三番目の @command{nice} を
-実行している。
+次の例では、最初の @command{nice} が、二番目の @command{nice} を
+niceness 10 で実行し、二番目の @command{nice} は、niceness
+をさらに 3 増やして、三番目の @command{nice} を実行している。
 
 @example
 $ nice nice -n 3 nice
 13
 @end example
 
-サポートされている範囲より大きい niceness を指定するのは、サポート
-されている最大値を指定するのと同じことである。
+サポートされている範囲より大きい niceness を指定するのは、
\82µã\83\9dã\83¼ã\83\88ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bæ\9c\80大å\80¤ã\82\92æ\8c\87å®\9aã\81\99ã\82\8bã\81®ã\81¨å\90\8cã\81\98ã\81\93ã\81¨ã\81§ã\81\82ã\82\8bã\80\82
 
 @example
 $ nice -n 10000000000 nice
@@ -17274,50 +17176,54 @@ $ sudo nice -n -1 nice
 @cindex logging out and continuing to run
 
 @flindex nohup.out
-@command{nohup} を使って、@var{command} を実行すると、指定されたコマンドがハング
-アップ・シグナルを無視するようになる。従って、そのコマンドは、ユーザが
-ログアウトした後でも、バックグラウンドで実行を継続することができる。
-@sp 1
+@command{nohup} を使って、@var{command} を実行すると、
+指定されたコマンドがハングアップ・シグナルを無視するようになる。
+従って、そのコマンドは、ユーザがログアウトした後でも、バックグラウンドで実行を継続することができる。
+
 書式:
 
 @example
 nohup @var{command} [@var{arg}]@dots{}
 @end example
 
-標準入力が端末の場合、標準入力は @file{/dev/null} に付け換えられる。その
-結果、端末セッションが、@command{nohup} によって実行されているコマンドが端末を
-使用していると勘違いすることがなくなる。これは GNU の拡張である。
-GNU 以外のホストでも使うことを考えているプログラムでは、GNU の拡張を当てに
-せず、@samp{nohup @var{command} [@var{arg}]@dots{} </dev/null} を使った方がよい。
+標準入力が端末の場合は、@command{nohup}
+から実行されているコマンドが端末を使用していると、端末で行われるセッションが誤解しないように、
+標準入力をリダイレクトする。
+さらに、標準入力の代わりになるファイルのファイル・ディスクリプタを読み込み不可にする。
+@command{nohup} から実行されているコマンドが、誤って標準入力から読み込を行おうとした場合に、
+エラーメッセージを出すことができるようにするためである。
+このリダイレクションは GNU の拡張である。
+GNU 以外のホストでも使うことを考えているプログラムでは、GNU の拡張を当てにせず、
+@samp{nohup @var{command} [@var{arg}]@dots{} 0>/dev/null} を使えばよい。
 
 @flindex nohup.out
-標準出力が端末の場合、コマンドの標準出力は、@file{nohup.out} というファ
-イルに追加されて行く。そのファイルに書き込めない場合は、@file{$HOME/nohup.out}
\81«è¿½è¨\98ã\81\95ã\82\8cã\82\8bã\81\93ã\81¨ã\81«ã\81ªã\82\8bã\80\82ã\81\9dã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81«ã\82\82æ\9b¸ã\81\8dè¾¼ã\82\81ã\81ªã\81\84å ´å\90\88ã\81¯ã\80\81ã\82³ã\83\9eã\83³ã\83\89ã\81®
-実行が行われない。@command{nohup} によって作成されるのが @file{nohup.out} であれ、
-@file{$HOME/nohup.out} であれ、それは、ファイルの所有者にのみ読み書き可能な
-ものになる。現在の umask の設定の影響は受けない
-
-標準エラーが端末の場合、コマンドの標準エラー出力は、基本的には
-標準出力 (リダイレクトされているかもしれない) と同じファイル・
-ディスクリプタにリダイレクトされる。ただし、標準出力がクローズ
\81\95ã\82\8cã\81¦ã\81\84ã\82\8bå ´å\90\88ã\81«ã\81¯ã\80\81æ¨\99æº\96ã\82¨ã\83©ã\83¼ã\81®ç«¯æ\9c«ã\81¸ã\81®å\87ºå\8a\9bã\81¯ã\80\81ã\83ªã\83\80ã\82¤ã\83¬ã\82¯ã\83\88ã\81\95ã\82\8cã\82\8b
\81\93ã\81¨ã\81ªã\81\8fã\80\81ç\9b´æ\8e¥ @file{nohup.out} ã\82\84 @file{$HOME/nohup.out} ã\81¨ã\81\84ã\81\86ã\83\95ã\82¡ã\82¤ã\83«ã\81«
-追加される。どちらのファイルが使用されるかは、上述のとおりである。
+標準出力が端末の場合、コマンドの標準出力は、(訳注: カレントディレクトリの)
+@file{nohup.out} というファイルに追加されて行く。
\81\9dã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81«æ\9b¸ã\81\8dè¾¼ã\82\81ã\81ªã\81\84å ´å\90\88ã\81¯ã\80\81@file{$HOME/nohup.out}
+に追記されることになる。そのファイルにも書き込めない場合は、コマンドの実行が行われない。
+@command{nohup} によって作成されるのが @file{nohup.out} であれ、
+@file{$HOME/nohup.out} であれ、それは、ファイルの所有者にのみ読み書き可能なものになる
+現在の umask の設定の影響は受けない。
+
+標準エラーが端末の場合、コマンドの標準エラー出力は、基本的には標準出力
+(リダイレクトされているかもしれない) と同じファイル・ディスクリプタにリダイレクトされる。
\81\9fã\81 ã\81\97ã\80\81æ¨\99æº\96å\87ºå\8a\9bã\81\8cã\82¯ã\83­ã\83¼ã\82ºã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bå ´å\90\88ã\81«ã\81¯ã\80\81æ¨\99æº\96ã\82¨ã\83©ã\83¼ã\81®ç«¯æ\9c«ã\81¸ã\81®å\87ºå\8a\9bã\81¯ã\80\81
\83ªã\83\80ã\82¤ã\83¬ã\82¯ã\83\88ã\81\95ã\82\8cã\82\8bã\81\93ã\81¨ã\81ªã\81\8fã\80\81ç\9b´æ\8e¥ @file{nohup.out} ã\82\84 @file{$HOME/nohup.out}
+というファイルに追加される。どちらのファイルが使用されるかは、上述のとおりである。
 
 コマンドの出力を @file{nohup.out} 以外のファイルに書き込みたければ、
-リダイレクトすればよい。たとえば、@command{make} の出力を @file{make.log} に書き
-込みたかったら、次のようにする。
+リダイレクトすればよい。たとえば、@command{make} の出力を @file{make.log}
+に書き込みたかったら、次のようにする。
 
 @example
 nohup make > make.log
 @end example
 
-@command{nohup} は、実行するコマンドを自動的にバックグラウンドに送ることを
\81\97ã\81ªã\81\84ã\80\82ã\81\9dã\81\93ã\81§ã\80\81ã\83¦ã\83¼ã\82¶ã\81¯ã\80\81ã\82³ã\83\9eã\83³ã\83\89ã\83©ã\82¤ã\83³ã\81®æ\9c«å°¾ã\81« @samp{&} ã\82\92ä»\98ã\81\91ã\82\8bã\81\93ã\81¨ã\81§ã\80\81
-明示的にそれを行わなければならない。また、@command{nohup} は、@var{command} の
-niceness を変更しない。niceness を変更したかったら、@command{nice} を使って、
-@samp{nohup nice @var{command}} のように実行すればよい。
+@command{nohup} は、実行するコマンドを自動的にバックグラウンドに送ることをしない。
+そこで、ユーザは、コマンドラインの末尾に @samp{&} を付けることで、
+明示的にそれを行わなければならない。また、@command{nohup} は、@var{command}
+の niceness を変更しない。niceness を変更したかったら、@command{nice}
+を使って、@samp{nohup nice @var{command}} のように実行すればよい。
 
 @var{command} は、シェルの組み込みコマンドであってはならない (@pxref{Special
 built-in utilities})。
@@ -17336,8 +17242,8 @@ built-in utilities})。
 それ以外の場合は、@var{command} の終了ステータス。
 @end display
 
-@env{POSIXLY_CORRECT} が設定されている場合は、@command{nohup} そのものが実行に
-失敗したときの終了ステータスは、125 ではなく 127 になる。
+@env{POSIXLY_CORRECT} が設定されている場合は、@command{nohup}
+そのものが実行に失敗したときの終了ステータスは、125 ではなく 127 になる。
 
 
 @node stdbuf invocation
@@ -17347,25 +17253,24 @@ built-in utilities})。
 @cindex standard streams, buffering
 @cindex line buffered
 
-@command{stdbuf} を使用すると、プログラムと結びついている 3 種類の標準入出力
-ストリームに対して、そのバッファリング動作を変更することができる。
-@sp 1
+@command{stdbuf} を使用すると、プログラムと結びついている
+3 種類の標準入出力ストリームに対して、そのバッファリング動作を変更することができる。
+
 書式:
 
 @example
 stdbuf @var{option}@dots{} @var{command}
 @end example
 
-@var{command} は、次の条件を満たすプログラムの名前で始まっていなければ
-ならない。
+@var{command} は、次の条件を満たすプログラムの名前で始まっていなければならない。
 @enumerate
 @item
 入出力に ISO C @code{FILE} ストリームを使用している (注意: プログラム @command{dd} や
 @command{cat} は、これを使用していない)。
 
 @item
-自分で標準ストリームのバッファリングを調整していない (注意: プログ
-ラム @command{tee} は、この部類に入らない)。
+自分で標準ストリームのバッファリングを調整していない
+(注意: プログラム @command{tee} は、この部類に入らない)。
 @end enumerate
 
 後に続く引数があれば、@var{command} に引数として渡される。
@@ -17399,28 +17304,30 @@ stdbuf @var{option}@dots{} @var{command}
 @table @samp
 
 @item L
-ストリームを行単位のバッファ・モードにする。このモードでは、
-改行が出力されることになるか、あるいは、端末デバイスに結びついて
-いるストリームから入力が読み込まれるまで、データを溜めておく。
+ストリームを行単位のバッファ・モードにする。このモードでは、改行が出力されることになるか、
+あるいは、端末デバイスに結びついているストリームから入力が読み込まれるまで、データを溜めておく。
 このオプションは、標準入力に対しては無効である。
 
 @item 0
-選択したストリームのバッファリングを無効にする。このモードでは、
-データは即座に出力される。また、要求された量のデータしか入力から
-読み込まない。入力と出力で動作が違うことに気をつけていただきたい。
-なお、入力のバッファリングを無効にしても、ストリーム入力関数の
-応答性やブロッキング動作に影響することはない。たとえば、@code{fread}
-は、要求した量より少ないデータを、下層で動いている @code{read} が返して
-きても、@code{EOF} が来るか、エラーが起きるまで、やはりブロッキングを
-行うのである。
+選択したストリームのバッファリングを無効にする。
+このモードでは、データは即座に出力される。また、要求された量のデータしか入力から読み込まない。
+入力と出力で動作が違うことに気をつけていただきたい。
+なお、入力のバッファリングを無効にしても、ストリーム入力関数の応答性やブロッキング動作に影響することはない。
+たとえば、@code{fread} は、要求した量より少ないデータを、下層で動いている
+@code{read} が返してきても、@code{EOF} が来るか、エラーが起きるまで、
+やはりブロッキングを行うのである。
 
 @item @var{size}
-バッファ一杯モード (fully buffered mode) で使用するバッファのサイズ
-を指定する。
+バッファ一杯モード (fully buffered mode) で使用するバッファのサイズを指定する。
 @multiplierSuffixesNoBlocks{size}
 
 @end table
 
+@command{stdbuf} がインストールされるのは、Executable and Linkable Format (ELF)
+を使用し、@code{constructor} アトリビュートをサポートしているプラットフォームだけである。
+従って、移植を考慮したスクリプトでは、@command{stdbuf}
+が存在することを当てにしない方がよい。
+
 @cindex exit status of @command{stdbuf}
 終了ステータス:
 
@@ -17439,9 +17346,9 @@ stdbuf @var{option}@dots{} @var{command}
 @cindex time limit
 @cindex run commands with bounded time
 
-@command{timeout} は渡されたコマンドを実行し、指定された時間が経過しても
-まだ実行が続いていたら、そのコマンドを終了させる。
-@sp 1
+@command{timeout} は渡されたコマンドを実行し、
+指定された時間が経過してもまだ実行が続いていたら、そのコマンドを終了させる。
+
 書式:
 
 @example
@@ -17459,45 +17366,48 @@ built-in utilities})。
 @opindex --preserve-status
 タイムアウトしたときに、タイムアウトであることを示す @command{timeout}
 コマンドの終了ステータスではなく、@command{timeout} が管理している
-@var{command} ã\81®çµ\82äº\86ã\82¹ã\83\86ã\83¼ã\82¿ã\82¹ã\82\92è¿\94ã\81\99ã\80\82ã\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81\8cå½¹ã\81«ç«\8bã\81¤ã\81®ã\81¯ã\80\81
-管理される @var{command} が無期限の続行時間をサポートしている場合である
+@var{command} ã\81®çµ\82äº\86ã\82¹ã\83\86ã\83¼ã\82¿ã\82¹ã\82\92è¿\94ã\81\99ã\80\82ã\81\93ã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯ã\80\81管ç\90\86ã\81\95ã\82\8cã\82\8b
+@var{command} が無期限の続行時間をサポートしている場合に役に立つ
 
 @item --foreground
 @opindex --foreground
 独立したバックグラウンドのプログラム・グループを作成しない。
 その結果、@command{timeout} に管理される @var{command} が、フォアグラウンドの
-TTY を通常どおり使用できるようになる。コマンドが対話的シェルから
-直接実行されない場合でも (訳注: たとえば、シェルスクリプト中で
-実行される場合でも)、そのコマンドのタイムアウトを実現するには
+TTY を通常どおり使用できるようになる。
+対話的シェルから直接実行されないコマンドの時間制限をきちんと行うには
+(訳注: 言い換えれば、@command{timeout} コマンドをシェルスクリプト中で使用する場合には)
 この動作が必要になることがあり、次の二つの場合がそれに当たる。
 @enumerate
 @item
-@var{command} が対話的であり、たとえば端末からの読み込みが必要な
-場合。
+@var{command} が対話的であり、たとえば端末からの読み込みが必要な場合。
 @item
-端末から直接 @var{command} にシグナルを送ることができるようにしたい
-場合。(たとえば、Ctrl-C を送るとか)。
+端末から直接 @var{command} にシグナルを送ることができるようにしたい場合。
+(たとえば、Ctrl-C を送るとか)。
 @end enumerate
 
-この動作モードでは、@var{command} のいかなる子プロセスも、時間切れで
-終了することがないのに注意すること。
+気をつけていただきたいが、この動作モードでは、@var{command}
+の子プロセスは、いかなるものもタイムアウトすることがない。
+また、SIGCONT シグナルが @var{command} に送られることもない。
+フォアグラウンドプロセスでは、そういったことは普通必要がないからであり、
+また、(たとえば、GDB のような) それ自身が他のプログラムを監視するモニターであるプログラムでは、
+断続的なシグナル送出を起こしかねないからである。
 
 @item -k @var{duration}
 @itemx --kill-after=@var{duration}
 @opindex -k
 @opindex --kill-after
-ここで指定した @var{duration} の経過後に、改めて @samp{KILL} シグナルを送り
-付けて、監視対象の @var{command} を確実に終了させる。このオプションを
-付けないと、選択したシグナルに @var{command} を終了させる力がなかった
-場合に、@command{timeout} は @var{command} を殺すことができない。
+ここで指定した @var{duration} の経過後に、改めて @samp{KILL} シグナルを送り付けて、
+監視対象の @var{command} を確実に終了させる。
+このオプションを付けないと、選択したシグナルに @var{command}
+を終了させる力がなかった場合に、@command{timeout} は @var{command} を殺すことができない。
 
 @item -s @var{signal}
 @itemx --signal=@var{signal}
 @opindex -s
 @opindex --signal
 制限時間が来たとき、デフォルトの @samp{TERM} シグナルではなく、指定した
-@var{signal} を @var{command} に送る。@var{signal} は @samp{HUP} のような名前でもよく、
-番号でもよい。@xref{Signal specifications}.
+@var{signal} を @var{command} に送る。@var{signal} は @samp{HUP}
+のような名前でもよく、番号でもよい。@xref{Signal specifications}.
 @end table
 
 @cindex time units
@@ -17508,239 +17418,605 @@ TTY を通常どおり使用できるようになる。コマンドが対話的
 @samp{h} 何時間
 @samp{d} 何日
 @end display
-@var{duration} が 0 だと、対象となるコマンドが時間切れなしになる。実際の
\88¶é\99\90æ\99\82é\96\93ã\81¯ã\80\81ã\82·ã\82¹ã\83\86ã\83 ã\81®å\88¶ç´\84ã\82\92å\8f\97ã\81\91ã\82\8bã\81\93ã\81¨ã\81«æ³¨æ\84\8fã\81\97ã\81¦ã\81\84ã\81\9fã\81 ã\81\8dã\81\9fã\81\84ã\80\82ç§\92以ä¸\8bã\81®
-制限時間を指定するときは、とりわけそれを考慮に入れるべきである。
+@var{duration} が 0 だと、対象となるコマンドが時間切れなしになる。
®\9fé\9a\9bã\81®å\88¶é\99\90æ\99\82é\96\93ã\81¯ã\80\81ã\82·ã\82¹ã\83\86ã\83 ã\81®å\88¶ç´\84ã\82\92å\8f\97ã\81\91ã\82\8bã\81\93ã\81¨ã\81«æ³¨æ\84\8fã\81\97ã\81¦ã\81\84ã\81\9fã\81 ã\81\8dã\81\9fã\81\84ã\80\82
+秒以下の制限時間を指定するときは、とりわけそれを考慮に入れるべきである。
 
 @cindex exit status of @command{timeout}
 終了ステータス:
 
-@display
-124: @var{command} がタイムアウトした。
-125: @command{timeout} そのものの実行に失敗した。 
-126: @var{command} は見つかったが、起動できなかった。
-127: @var{command} が見つからなかった。
-137: @var{command} に the KILL(9) シグナルを送った (128+9)
-それ以外は、@var{command} の終了ステータス。
-@end display
+@display
+124: @var{command} がタイムアウトした。
+125: @command{timeout} そのものの実行に失敗した。 
+126: @var{command} は見つかったが、起動できなかった。
+127: @var{command} が見つからなかった。
+137: @var{command} に KILL(9) シグナルを送った (128+9)
+それ以外は、@var{command} の終了ステータス。
+@end display
+
+
+@node Process control
+@chapter プロセス制御
+
+@cindex processes, commands for controlling
+@cindex commands for controlling processes
+
+@menu
+* kill invocation::          プロセスにシグナルを送る。
+@end menu
+
+
+@node kill invocation
+@section @command{kill}: プロセスにシグナルを送る
+
+@pindex kill
+@cindex send a signal to processes
+
+@command{kill} コマンドは、プロセスにシグナルを送る。
+シグナルを送られたプロセスは、終了するか、
+あるいは、シグナルを受け取った時点で他の何らかの形で反応する。
+また、@command{kill} は、シグナルに関する情報を一覧表示する。
+
+書式:
+
+@example
+kill [-s @var{signal} | --signal @var{signal} | -@var{signal}] @var{pid}@dots{}
+kill [-l | --list | -t | --table] [@var{signal}]@dots{}
+@end example
+
+@mayConflictWithShellBuiltIn{kill}
+
+@command{kill} コマンドの最初の書式では、すべての @var{pid} 引数に対してシグナルが送られる。
+シグナルが指定されていない場合に送られるデフォルトのシグナルは、@samp{TERM} である。
+@samp{0} という特別なシグナル番号は、有効なシグナルを表していないが、
+引数 @var{pid} が指しているプロセスに対してシグナルを送ることが可能かどうかを、調べるために使うことができる。
+
+@var{pid} が正の数なら、シグナルはプロセス ID が @var{pid} のプロセスに送られる。
+@var{pid} が 0 なら、シグナルはカレントプロセスのプロセスグループに属するすべてのプロセスに送られる。
+@var{pid} が @minus{}1 の場合、シグナルが送られるのは、
+ユーザがシグナルを送る権限を持っているすべてのプロセスである。
+@var{pid} が @minus{}1 より小さい場合は、@var{pid}
+の絶対値に等しいプロセスグループに属するすべてのプロセスにシグナルが送られる。
+
+@var{pid} が正の数ではない場合、システムプロセスに属するプロセス
+(システムによって様々である) は、シグナルが送られるプロセスのリストから除外される。
+
+最初の @var{pid} 引数として負の @var{pid} を使用したい場合は、その前に
+@option{--} オプションを置くべきである。
+とは言え、@samp{kill -@var{signal} -@var{pid}} という書式を使う場合は、
+@option{--} は必要がない。これは、POSIX に対する一般的な拡張である。
+そこで、次に挙げるコマンドは等価になる。
+
+@example
+kill -15 -1
+kill -TERM -1
+kill -s TERM -- -1
+kill -- -1
+@end example
+
+最初の書式の @command{kill} コマンドは、すべての @var{pid} 引数が、
+シグナルが送られたプロセスをそれぞれ少なくとも一つは指している場合に、
+成功のステータスで終了する。
+
+@command{kill} コマンドの二番目の書式では、シグナルに関する情報が表示される。
+@option{-l} または @option{--list}、あるいは、@option{-t} または @option{--table}
+オプションの指定は必須である。引数 @var{signal} を一つも指定しないと、
+サポートされているすべてのシグナルがリストされる。@option{-l} や @option{--list}
+の出力は、シグナル名のリストであり、1 行に一つづつ表示される。
+ただし、引数 @var{signal} がすでにシグナル名である場合は、名前ではなく、シグナル番号の表示になる。
+@option{-t} や @option{--table} の出力は、シグナル番号、シグナル名、その説明からなる表である。
+この書式の @command{kill} コマンドは、引数として指定されたすべての
+@var{signal} が有効なものであり、出力エラーがなかったとき、成功のステータスで終了する。
+
+@command{kill} コマンドでは、@option{--help} や @option{--version} オプションも使用できる。
+@xref{Common options}.
+
+@var{signal} の指定には、@samp{HUP} のようなシグナル名や、@samp{1}のようなシグナル番号、
+それに、シグナルによって終了させられるときのプロセスの終了ステータスを使うことができる
+(訳注: 最後のものは、GNU coreutils の @command{kill}
+コマンドでは使用できるが、他の系統の @command{kill} では使えないかもしれない)。
+シグナル名は、標準的な形式でも、頭に @samp{SIG} を付けた形式でも構わない。
+大文字小文字はどちらを使ってもよいが、@option{-@var{signal}}
+という形式のオプションの場合は例外で、大文字を使わなければならない。
+小文字を使うと、他のオプションとまぎらわしいからである。
+サポートしているシグナル名とシグナル番号については、「2.5 シグナルの指定」を参照していただきたい。
+@xref{Signal specifications}.
+
+@node Delaying
+@chapter 一時停止
+
+@cindex delaying commands
+@cindex commands for delaying
+
+@c Perhaps @command{wait} or other commands should be described here also?
+
+@menu
+* sleep invocation::         指定された時間、停止する。
+@end menu
+
+
+@node sleep invocation
+@section @command{sleep}: 指定された時間、停止する
+
+@pindex sleep
+@cindex delay for a specified time
+
+@command{sleep} は、コマンドラインで引数として指定された値を合計した時間だけ停止する。
+
+書式:
+
+@example
+sleep @var{number}[smhd]@dots{}
+@end example
+
+@cindex time units
+各引数は数値であり、後ろに単位を付けてもよい。デフォルトの単位は秒である。
+単位には、以下のものが指定できる。
+
+@table @samp
+@item s
+秒
+@item m
+分
+@item h
+時
+@item d
+日
+@end table
+
+@command{sleep} の従来の実装では、@var{number} は整数でなければならず、
+引数は接尾辞なしのものが 1 個しか認められていなかった。それに対して GNU の
+@command{sleep} では、任意の浮動小数点数を複数個指定できる。 @xref{Floating point}.
+
+オプションは、@option{--help} と @option{--version} だけである。
+@xref{Common options}.
+
+@c sleep is a shell built-in at least with Solaris 11's /bin/sh
+@mayConflictWithShellBuiltIn{sleep}
+
+@exitstatus
+
+
+@node Numeric operations
+@chapter 数値の操作
+
+@cindex numeric operations
+以下のプログラムは、数に関係した作業をする。
+
+@menu
+* factor invocation::        素因数を表示する。
+* numfmt invocation::        数値を整形し直す。
+* seq invocation::           連続する数を表示する。
+@end menu
+
+
+@node factor invocation
+@section @command{factor}: 素因数を表示する
+
+@pindex factor
+@cindex prime factors
+
+@command{factor} は、素因数を表示する。
+
+書式:
+
+@example
+factor [@var{number}]@dots{}
+factor @var{option}
+@end example
+
+@var{number} がコマンドラインで指定されていない場合、@command{factor}
+は標準入力から数値を読み込む。
+このとき、改行、タブ、空白で区切って複数の数値を入力することができる。
+
+@command{factor} コマンドで使えるオプションは、いくつもない。
+
+@table @samp
+@item --help
+簡単なヘルプメッセージを標準出力に表示し、それ以上の処理をせずに終了する。
+
+@item --version
+プログラムのバージョンを標準出力に表示し、それ以上の処理をせずに終了する。
+@end table
+
+メルセンヌ素数の 8 番目と 9 番目の積を素因数に分解するには、2.2 GHz
+Athlon のシステムで、30 ミリセコンドの CPU 時間を要する。
+
+@example
+M8=$(echo 2^31-1|bc)
+M9=$(echo 2^61-1|bc)
+n=$(echo "$M8 * $M9" | bc)
+/usr/bin/time -f %U factor $n
+4951760154835678088235319297: 2147483647 2305843009213693951
+0.03
+@end example
+
+同様に、8 番目のフェルマー数、@math{2^{256}+1} では、同じマシンで約 20 秒かかる。
+
+大きな数の素因数分解は、そもそも大変な作業である。@command{factor} が使用している
+Pollard-Brent rho アルゴリズムは、比較的小さな因数を持つ数値に対してとりわけ効率がよい。
+もし、小さな因数を持たない大きな数値 (たとえば、二つの大きな素数の積からなる数値)
+の素因数分解をなさりたいのなら、他の方法の方がずっとすぐれている。
+
+@command{factor} が GNU MP を使用せずにビルドされている場合は、
+単精度の算術しか利用できない。従って、大きな数値 (一般には @math{2^{128}} 以上)
+には対応していない。単精度用のコードが使用しているアルゴリズムは、
+比較的小さな数値を素因数に分解するためのものなのである。
+
+@exitstatus
+
+
+@node numfmt invocation
+@section @command{numfmt}: 数値を整形し直す
+
+@pindex numfmt
+
+@command{numfmt} はさまざまな表記の数値を読み込んで、それを要求された形に整形し直す。
+一番よく使うのは、数値を人間が読みやすい形に変換する場合や、
+その逆を行う場合である (たとえば、@samp{4G} @expansion{} @samp{4,000,000,000})。
+
+@example
+numfmt [@var{option}]@dots{} [@var{number}]
+@end example
+
+@command{numfmt} は、コマンドラインで与えられた各 @var{number} を、
+指定されたオプション (以下の節を参照) に従って変換する。
+@var{number} の指定がない場合は、標準入力から数値を読み込む。
+また、@command{numfmt} は、入力行中の特定のフィールドから数値を取り出すこともできる。
+その場合、列が揃うようにパディング (訳注: フィールドの空き埋め) が行われていれば、
+それも適切に維持する。
+
+@exitstatus
+
+終了ステータスについては追加情報がある。@option{--invalid} をご覧になっていただきたい。
+
+@menu
+* General options in numfmt::  一般オプション
+* Possible UNITs::             使用できる UNIT
+* Examples of using numfmt::   numfmt の使用例
+@end menu
+
+@node General options in numfmt
+@subsection 一般オプション
+
+このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
+
+@table @samp
+
+@item --debug
+@opindex --debug
+間違えた使い方をしている疑いがあるとき、それについて警告メッセージを
+(標準エラーに) 表示する。
+
+@item -d @var{d}
+@itemx --delimiter=@var{d}
+@opindex -d
+@opindex --delimiter
+文字 @var{d} を入力フィールドの区切りとして使用する (デフォルトはホワイトスペース)。
+区切りにデフォルト以外の文字を使うと、自動的なパディングが行われなくなるのに注意していただきたい。
+
+@item --field=@var{fields}
+@opindex --field
+@var{field} 番目の入力フィールドの数値を変換する (@var{field} のデフォルトは 1)。
+@var{fields} では、@command{cut} と同じような範囲指定が使える。
+
+@example
+N    N 番目のフィールド、1 から数える
+N-   N 番目のフィールドから行末まで
+N-M  N 番目から M 番目のフィールドまで (両端を含む)
+-M   行頭から M 番目のフィールドまで (両端を含む)
+-    すべてのフィールド
+@end example
+
+
+@item --format=@var{format}
+@opindex --format
+浮動小数点数を表す printf 形式の @var{format} 文字列を出力の整形に使用する。
+文字列 @var{format} には、1 個の @samp{%f} 変換指定子が含まれていなければならない。
+なお、そうしたければ、@samp{'}, @samp{-}, @samp{0} といった修飾子や、
+フィールド幅修飾子 (訳注: 数値)、精度修飾子を @samp{%f} に付けることもできる。
+@samp{'} 修飾子は @option{--grouping} オプションを有効にし、@samp{-} 修飾子は
+@option{--padding} オプションを左詰めで有効に、フィールド幅修飾子は
+@option{--padding} オプションを右詰めで有効にする (訳注: @samp{-} 修飾子は、
+数値であるフィールド幅修飾子と併せて用いなければならない)。
+@samp{0} フィールド幅修飾子を使うと (@samp{-} も同時に指定されていなければ)、
+指定された幅になるまで数値の前に 0 を付けることになる。
+@samp{%.1f} のような精度指定は、入力データから引き出される精度や、@option{--to}
+オプションを使用したときの、数値の大きさや桁数の自動調整 (auto-scaling)
+によって決められた精度を上書きする。
+
+@item --from=@var{unit}
+@opindex --from
+入力された数値の大きさや桁数を @var{unit} に従って自動調整 (auto-scaling)
+する (訳注: 一例を挙げると、入力数値が @samp{1K} だったとき、@samp{--from=si}
+が指定されていれば 1000 に変換し、@samp{--from=iec} が指定されていれば
+1024 に変換する)。@var{unit} については、次節「使用できる UNIT」を参照していただきたい。
+デフォルトでは数値の大きさや桁数の調節を行わない。
+それはまた、入力数値に接尾辞 (たとえば、@samp{M}, @samp{G} など)
+が付いていると、エラーになるということでもある。
+
+@item --from-unit=@var{n}
+@opindex --from-unit
+入力の 1 単位の大きさを (すなわち、デフォルトの 1 に代えて使う大きさを)
+指定する。入力する数値の 1 単位の大きさが、デフォルトの
+1 以外の場合に、このオプションを使用するわけだ (たとえば、入力する数値の
+@samp{10} が、1 単位 512 バイトの 10 単位を表している場合には、
+@samp{--from-unit=512} を使用する)。
+単位となる数値に接尾辞を付けると、@samp{--from=auto} の場合と同様に処理される。
+
+@item --grouping
+@opindex --grouping
+現在のロケールの桁区切りルールに従って、出力する数値を数桁ごとに区切る
+(たとえば、3 桁ごとの区切り記号は、たいてい @samp{.} (ドット) か
+@samp{,} (コンマ) である)。ロケールが @samp{POSIX/C} の場合は、このオプションに効果はない。
+
+@item --header[=@var{n}]
+@opindex --header
+@opindex --header=N
+最初の @var{n} (デフォルトは 1) 行を、いかなる変換もせずに出力する。
+
+@item --invalid=@var{mode}
+@opindex --invalid
+入力エラーに出会ったときのデフォルトの動作は、ステータスコード 2 で即座に終了することである。
+@option{--invalid=@samp{abort}} は、このデフォルトの動作を明示的に指定することになる。
+@var{mode} に @samp{fail} を指定すると、
+変換エラーがあるごとに警告メッセージを表示して、ステータス 2 で終了する。
+@var{mode} が @samp{warn} の場合は、変換エラーがあっても、ステータス 0
+で終了する。@var{mode} が @samp{ignore} の場合は、ステータス 0
+で終了するだけでなく、診断メッセージを出すことすらしない。
+
+@item --padding=@var{n}
+@opindex --padding
+出力する数値が @var{n} 字分を占めるように、スペースを加えることでパディングを行う。
+@var{n} が正の数の場合は、数値が右詰めになり、負の数の場合は、数値が左詰めになる。
+デフォルトでは、数値は、入力行の幅に基づいて
+(訳注: 詳しく言うと、入力各行の変換する数値のあるフィールドが固定幅の場合、
+その幅を使用して) 自動的に揃えられる
+(ただし、それが行われるのは、フィールドの区切り文字がデフォルトの場合だけである)。
+
+@item --round=@var{method}
+@opindex --round
+@opindex --round=up
+@opindex --round=down
+@opindex --round=from-zero
+@opindex --round=towards-zero
+@opindex --round=nearest
+数値の表現を変換するときに、@var{method} に従って、数値を丸める。@var{method}
+には、@samp{up}, @samp{down}, @samp{from-zero} (デフォルト), @samp{towards-zero},
+@samp{nearest} が使用できる。(訳注: @samp{up} は切り上げ、@samp{down} は切り下げ、
+@samp{from-zero} はゼロから離れる方向へ、@samp{towards-zero} はゼロに近づく方向へ、
+@samp{nearest} は四捨五入である。)
+
+@item --suffix=@var{suffix}
+@opindex --suffix
+出力する数値に @samp{SUFFIX} を付ける。また、入力する数値に @samp{SUFFIX}
+が付いていても、エラーにしない。
+
+@item --to=@var{unit}
+@opindex --to
+出力する数値の大きさや桁数を @var{unit} に従って自動調整する。
+@var{unit} については、次節「使用できる UNIT」を参照していただきたい。
+デフォルトでは、数値の大きさや桁数の調節をしないので、
+数値を構成するすべての数字が表示されることになる。
 
+@item --to-unit=@var{n}
+@opindex --to-unit
+出力の 1 単位の大きさを (すなわち、デフォルトの 1 に代えて使う大きさを)
+指定する。出力する数値の 1 単位の大きさが、デフォルトの
+1 以外の場合に、このオプションを使用するわけだ (たとえば、1
+ブロック 1KB のブロック数で @samp{4,000,000} バイトを表現するには、
+@samp{--to=si --to-unit=1000} が使用できる)。
+単位となる数値に接尾辞を付けると、@samp{--from=auto} の場合と同様に処理される。
 
-@node Process control
-@chapter プロセス制御
+@optZeroTerminated @newlineFieldSeparator
 
-@cindex processes, commands for controlling
-@cindex commands for controlling processes
+@end table
 
-@menu
-* kill invocation::          プロセスにシグナルを送る。
-@end menu
+@node Possible UNITs
+@subsection 使用できる @var{unit}
 
+@option{--from=UNIT} や @option{--to=UNIT} で指定する @var{unit} には、
+次のものを選択することができる。(訳注: @var{unit} の名前は、大文字ではなく、si, iec
+などの小文字で指定すること。)
 
-@node kill invocation
-@section @command{kill}: プロセスにシグナルを送る
+@table @var
 
-@pindex kill
-@cindex send a signal to processes
+@item none
+数値の大きさや桁数の調整を行わない。入力する数値には、いかなる接尾辞も付けることができない。
+従って、数値の直後に文字が続くとエラーになる。
+出力する数値については、その数値を構成するすべての数字を表示する。
 
-@command{kill} コマンドは、プロセスにシグナルを送る。シグナルを送られた
-プロセスは、終了するか、あるいは、シグナルを受け取った瞬間に他の
-何らかの形で反応する。また、@command{kill} は、シグナルに関する情報を一覧
-表示する。
-@sp 1
-書式:
+@item si
+国際単位系 (International System of Units (SI)) の規格に従って、数値の大きさや桁数を自動調整する。
+入力する数値には、以下の接尾辞の一つが使用できる。
+出力する数値については、1000 以上の値は丸められて、以下の接尾辞の一つを付けて表示される。
 
 @example
-kill [-s @var{signal} | --signal @var{signal} | -@var{signal}] @var{pid}@dots{}
-kill [-l | --list | -t | --table] [@var{signal}]@dots{}
+@samp{K}  =>  @math{1000^1 = 10^3} (Kilo)
+@samp{M}  =>  @math{1000^2 = 10^6} (Mega)
+@samp{G}  =>  @math{1000^3 = 10^9} (Giga)
+@samp{T}  =>  @math{1000^4 = 10^{12}} (Tera)
+@samp{P}  =>  @math{1000^5 = 10^{15}} (Peta)
+@samp{E}  =>  @math{1000^6 = 10^{18}} (Exa)
+@samp{Z}  =>  @math{1000^7 = 10^{21}} (Zetta)
+@samp{Y}  =>  @math{1000^8 = 10^{24}} (Yotta)
 @end example
 
-@mayConflictWithShellBuiltIn{kill}
-
-@command{kill} コマンドの最初の書式では、すべての @var{pid} 引数に対してシグナルが
-送られる。シグナルが指定されていない場合に送られるデフォルトのシグナル
-は、@samp{TERM} である。 @samp{0} という特別なシグナル番号は、有効なシグナルを
-表していないが、引数 @var{pid} が指しているプロセスに対してシグナルを送る
-ことが可能かどうかを、調べるために使うことができる。
-
-@var{pid} が正の数なら、シグナルはプロセス ID が @var{pid} のプロセスに送られる。
-@var{pid} が 0 なら、シグナルはカレントプロセスのプロセスグループに属する
-すべてのプロセスに送られる。@var{pid} が @minus{}1 の場合、シグナルが送られるのは、
-ユーザがシグナルを送る権限を持っているすべてのプロセスである。@var{pid} が @minus{}1
-より小さい場合は、@var{pid} の絶対値に等しいプロセスグループに属するすべての
-プロセスにシグナルが送られる。
-
-@var{pid} が正の数ではない場合、システムプロセスに属するプロセス (システム
-によって様々である) は、シグナルが送られるプロセスのリストから除外
-される。
-
-最初の @var{pid} 引数として負の @var{pid} を使用したい場合は、その前に@option{--} オプ
-ションを置くべきである。とは言え、@samp{kill -@var{signal} -@var{pid}} という書式を使う
-場合は、@option{--} は必要がない。これは、POSIX に対する一般的な拡張である。
-そこで、次に挙げるコマンドは等価になる。
+@item iec
+International Electrotechnical Commission (IEC) の規格に従って、数値の大きさや桁数を自動調整する。
+入力する数値では、以下の接尾辞の一つが使用できる。
+出力する数値については、1024 以上の値は丸められて、以下の接尾辞の一つを付けて表示される。
 
 @example
-kill -15 -1
-kill -TERM -1
-kill -s TERM -- -1
-kill -- -1
+@samp{K}  =>  @math{1024^1 = 2^{10}} (Kibi)
+@samp{M}  =>  @math{1024^2 = 2^{20}} (Mebi)
+@samp{G}  =>  @math{1024^3 = 2^{30}} (Gibi)
+@samp{T}  =>  @math{1024^4 = 2^{40}} (Tebi)
+@samp{P}  =>  @math{1024^5 = 2^{50}} (Pebi)
+@samp{E}  =>  @math{1024^6 = 2^{60}} (Exbi)
+@samp{Z}  =>  @math{1024^7 = 2^{70}} (Zebi)
+@samp{Y}  =>  @math{1024^8 = 2^{80}} (Yobi)
 @end example
 
-最初の書式の @command{kill} コマンドは、すべての @var{pid} 引数が、シグナルが
-送られたプロセスをそれぞれ少なくとも一つは指している場合に、成功の
-ステータスで終了する。
+@option{iec} を選択すると、接尾辞に (@samp{G} など)
+1 文字の記号が使用されることになるが、これは規格に完全にかなってるとは言えない。
+IEC の規格では (@samp{Gi} など) 2 字の記号を推奨しているからだ。
+しかし、実際の使用では、1 文字の表記法が普通に使われている。
+@option{iec-i} を指定した場合と比較していただきたい。
 
-@command{kill} コマンドの二番目の書式では、シグナルに関する情報が表示される。
-@option{-l} または @option{--list}、あるいは、@option{-t} または @option{--table} オプションの
-指定は必須である。引数 @var{signal} を一つも指定しないと、サポートされている
-すべてのシグナルがリストされる。@option{-l} や @option{--list} の出力は、シグナル名の
-リストであり、1 行に一つづつ表示される。ただし、引数 @var{signal} がすでに
-シグナル名である場合に表示されるのは、名前ではなく、シグナル番号だ。
-@option{-t} や @option{--table} の出力は、シグナル番号、シグナル名、その説明からなる
-表である。この書式の @command{kill} コマンドは、引数として指定されたすべての
-@var{signal} が有効なものであり、出力エラーがなかったとき、成功のステータスで
-終了する。
+@item iec-i
+International Electrotechnical Commission (IEC) の規格に従って、数値の大きさや桁数を自動調整する。
+入力する数値では、以下の接尾辞の一つが使用できる。
+出力する数値については、1024 以上の値は丸められて、以下の接尾辞の一つを付けて表示される。
 
-@command{kill} コマンドでは、@option{--help} や @option{--version} オプションも使用できる。
-@xref{Common options}.
+@example
+@samp{Ki}  =>  @math{1024^1 = 2^{10}} (Kibi)
+@samp{Mi}  =>  @math{1024^2 = 2^{20}} (Mebi)
+@samp{Gi}  =>  @math{1024^3 = 2^{30}} (Gibi)
+@samp{Ti}  =>  @math{1024^4 = 2^{40}} (Tebi)
+@samp{Pi}  =>  @math{1024^5 = 2^{50}} (Pebi)
+@samp{Ei}  =>  @math{1024^6 = 2^{60}} (Exbi)
+@samp{Zi}  =>  @math{1024^7 = 2^{70}} (Zebi)
+@samp{Yi}  =>  @math{1024^8 = 2^{80}} (Yobi)
+@end example
 
-@var{signal} の指定には、@samp{HUP} のようなシグナル名や、@samp{1}のようなシグナル
-番号、それに、シグナルによって終了させられるときのプロセスの終了ステー
-タスを使うことができる (訳注: 最後のものは、GNU coreutils の @command{kill}
-コマンドでは使用できるが、他の系統の @command{kill} では使えないかもしれない)。
-シグナル名は、標準的な形式でも、頭に @samp{SIG} を付けた形式でも構わない。
-大文字小文字はどちらを使ってもよいが、@option{-@var{signal}} という形式のオプション
-の場合は例外で、大文字を使わなければならない。小文字を使うと、他の
-オプションとまぎらわしいからである。サポートしているシグナル名と
-シグナル番号については、「2.5 シグナルの指定」を参照していただきたい。
-@xref{Signal specifications}.
+@option{iec-i} を選択すると、接尾辞に (@samp{Gi} など)
+2 文字の記号が使用されることになる。これは、IEC の規格が推奨しているとおりだが、
+実際の使用では、必ずしもよく使われているわけではない。@option{iec}
+を指定した場合と、比較していただきたい。
 
-@node Delaying
-@chapter 一時停止
+@item auto
+@samp{auto} は @option{--from} でしか使えない。これを選んだ場合、@samp{K},@samp{M},@samp{G},
+@samp{T},@samp{P},@samp{E},@samp{Z},@samp{Y} といった接尾辞が付いていれば、
+数値は SI の値と見なされる。接尾辞が
+@samp{Ki},@samp{Mi},@samp{Gi},@samp{Ti},@samp{Pi},@samp{Ei},@samp{Zi},@samp{Yi}
+などの場合は、
+数値は IEC の値と見なされることになる。
 
-@cindex delaying commands
-@cindex commands for delaying
+@end table
 
-@c Perhaps @command{wait} or other commands should be described here also?
+@node Examples of using numfmt
+@subsection @command{nunfmt} の使用例
 
-@menu
-* sleep invocation::         指定された時間、停止する。
-@end menu
+1 個の数値を人間に読みやすい形に変換する (あるいは、その逆を行う)。
+@example
+$ numfmt --to=si 500000
+500K
 
+$ numfmt --to=iec 500000
+489K
 
-@node sleep invocation
-@section @command{sleep}: 指定された時間、停止する
+$ numfmt --to=iec-i 500000
+489Ki
 
-@pindex sleep
-@cindex delay for a specified time
+$ numfmt --from=si 1M
+1000000
 
-@command{sleep} は、コマンドラインで引数として指定された値を合計した時間だけ
-停止する。
-@sp 1
-書式:
+$ numfmt --from=iec 1M
+1048576
 
-@example
-sleep @var{number}[smhd]@dots{}
+# '--from=auto' を使用する。M=Mega, Mi=Mebi
+$ numfmt --from=auto 1M
+1000000
+$ numfmt --from=auto 1Mi
+1048576
 @end example
 
-@cindex time units
-各引数は数値であり、後ろに単位を付けてもよい。デフォルトの単位は
-秒である。単位には、以下のものが指定できる。
-
-@table @samp
-@item s
-秒
-@item m
-分
-@item h
-時
-@item d
-日
-@end table
+@samp{SI} 表記を @samp{IEC} 表記に換算する (たとえば、ハードディスクの容量が、
+メーカー表示では @samp{1TB} となっているが、実際に容量をチェックすると、
+それより少ない場合)。
 
-@command{sleep} の従来の実装では、@var{number} は整数でなければならず、引数は
-接尾辞なしのものが 1 個しか認められていなかった。それに対して GNU の
-@command{sleep} では、任意の浮動小数点数を複数個指定できる。 @xref{Floating point}.
+@example
+$ numfmt --from=si --to=iec 1T
+932G
+@end example
 
-オプションは、@option{--help} と @option{--version} だけである。@xref{Common
-options}.
 
-@c sleep is a shell built-in at least with Solaris 11's /bin/sh
-@mayConflictWithShellBuiltIn{sleep}
+ファイルやパイプから読み込んだ入力行にある、ある一つのフィールドを変換する
+(ここに示す数例は、あくまでも説明のために作ったものである。実際には、@command{ls}
+と @command{df} のどちらにも、人間に読みやすい形式でサイズを表示するための
+@option{--human-readable} オプションが存在している)。
 
-@exitstatus
+@example
+# 3 番目のフィールド (ファイルサイズ) を SI 表記で表示する
+$ ls -log | numfmt --field 3 --header --to=si | head -n4
+-rw-r--r--  1     94K Aug 23  2011 ABOUT-NLS
+-rw-r--r--  1    3.7K Jan  7 16:15 AUTHORS
+-rw-r--r--  1     36K Jun  1  2011 COPYING
+-rw-r--r--  1       0 Jan  7 15:15 ChangeLog
+(訳注: 実際には、この一番下の行は表示されず、一番上に「total @dots{} 
+といった行が現れるはずである。)
 
+# 二番目のフィールド (サイズ) を IEC 表記で表示する
+$ df --block-size=1 | numfmt --field 2 --header --to=iec | head -n4
+File system   1B-blocks        Used  Available Use% Mounted on
+rootfs             132G   104741408   26554036  80% /
+tmpfs              794M        7580     804960   1% /run/shm
+/dev/sdb1          694G   651424756   46074696  94% /home
+@end example
 
-@node Numeric operations
-@chapter 数値の操作
 
-@cindex numeric operations
-以下のプログラムは、数に関係した作業をする。
+出力は @option{--padding} や @option{--format} オプションを使って加工することができる。
 
-@menu
-* factor invocation::        素因数を表示する。
-* seq invocation::           連続する数を表示する。
-@end menu
+@example
+# フィールド幅が 10 字になるまで空白で埋める。右詰め表示。
+$ du -s * | numfmt --to=si --padding=10
+      2.5K config.log
+       108 config.status
+      1.7K configure
+        20 configure.ac
 
+# フィールド幅が 10 字になるまで空白で埋める。左詰め表示。
+$ du -s * | numfmt --to=si --padding=-10
+2.5K       config.log
+108        config.status
+1.7K       configure
+20         configure.ac
 
-@node factor invocation
-@section @command{factor}: 素因数を表示する
+# @option{--format} オプションを使用して、フィールド幅が 10 文字になるまで
+# 空白で埋める。右詰め表示。
+$ du -s * | numfmt --to=si --format="%10f"
+      2.5K config.log
+       108 config.status
+      1.7K configure
+        20 configure.ac
 
-@pindex factor
-@cindex prime factors
+# @option{--format} オプションを使用して、フィールド幅が 10 文字になるまで
+# 空白で埋める。左詰め表示。
+$ du -s * | numfmt --to=si --padding="%-10f"
+2.5K       config.log
+108        config.status
+1.7K       configure
+20         configure.ac
+@end example
 
-@command{factor} は、素因数を表示する。
-@sp 1
-書式:
+桁区切りをサポートしているロケールでは、@option{--grouping} や @option{--format}
+オプションを使って、数値を数桁ごとに区切ることができる。ロケールが
+@samp{POSIX} や @samp{C} の場合は、桁区切りを指定しても、単に無視される。
 
 @example
-factor [@var{number}]@dots{}
-factor @var{option}
-@end example
+$ LC_ALL=C numfmt --from=iec --grouping 2G
+2147483648
 
-@var{number} がコマンドラインで指定されていない場合、@command{factor} は標準入力
-から数値を読み込む。このとき、改行、タブ、空白で区切って複数の数値を
-入力することができる。
+$ LC_ALL=en_US.utf8 numfmt --from=iec --grouping 2G
+2,147,483,648
 
-@command{factor} コマンドで使えるオプションは、いくつもない。
+$ LC_ALL=ta_IN numfmt --from=iec --grouping 2G
+2,14,74,83,648
 
-@table @samp
-@item --help
-簡単なヘルプメッセージを標準出力に表示し、それ以上の処理をせずに
-終了する。
+$ LC_ALL=C numfmt --from=iec --format="==%'15f==" 2G
+==     2147483648==
 
-@item --version
-プログラムのバージョンを標準出力に表示し、それ以上の処理をせずに
-終了する。
-@end table
+$ LC_ALL=en_US.utf8 numfmt --from=iec --format="==%'15f==" 2G
+==  2,147,483,648==
 
-メルセンヌ素数の 8 番目と 9 番目の積を素因数に分解するには、2.2 GHz
-Athlon のシステムで、30 ミリセコンドの CPU 時間を要する。
+$ LC_ALL=en_US.utf8 numfmt --from=iec --format="==%'-15f==" 2G
+==2,147,483,648  ==
 
-@example
-M8=$(echo 2^31-1|bc)
-M9=$(echo 2^61-1|bc)
-n=$(echo "$M8 * $M9" | bc)
-/usr/bin/time -f %U factor $n
-4951760154835678088235319297: 2147483647 2305843009213693951
-0.03
+$ LC_ALL=ta_IN numfmt --from=iec --format="==%'15f==" 2G
+== 2,14,74,83,648==
 @end example
 
-同様に、8 番目のフェルマー数、@math{2^{256}+1} では、同じマシンで約 20 秒
-かかる。
-
-大きな数の素因数分解は、そもそも大変な作業である。@command{factor} が使用
-している Pollard Rho アルゴリズムは、比較的小さな因数を持つ数値に
-対してとりわけ効率がよい。もし、小さな因数を持たない大きな数値 (たと
-えば、二つの大きな素数の積からなる数値) の素因数分解をなさりたいのなら、
-他の方法の方がずっとすぐれている。
-
-@command{factor} が GNU MP を使用せずにビルドされている場合は、単精度の
-算術しか利用できない。従って、大きな数値 (一般には @math{2^{64}} 以上)
-には対応していない。単精度用のコードが使用しているアルゴリズムは、
-比較的小さな数値を素因数に分解するためのものなのである。
-
-@exitstatus
-
 
 @node seq invocation
 @section @command{seq}: 数列を表示する
@@ -17750,7 +18026,7 @@ n=$(echo "$M8 * $M9" | bc)
 @cindex sequence of numbers
 
 @command{seq} は、数列を標準出力に表示する。
-@sp 1
+
 書式:
 
 @example
@@ -17760,13 +18036,18 @@ seq [@var{option}]@dots{} @var{first} @var{increment} @var{last}
 @end example
 
 @command{seq} は、@var{first} から @var{last} までの数を @var{increment} おきに表示する。
-デフォルトでは、それぞれの数は 1 行に 1 個づつ表示される。@var{increment} が
-指定されていない場合は、@var{first} が @var{last} より大きい場合でも、デフォルトの
-@samp{1} が @var{increment} として使用される。@var{first} のデフォルトもまた @samp{1} である。
-従って、@code{seq 1} は @samp{1} を表示するが、@code{seq 0} や @code{seq 10 5} は、何も出力
-しない。数列が終了するのは、現在の数値に @var{increment} を加えると @var{last} より
-大きくなる時点である。だから、@code{seq 1 10 10} は、@samp{1} しか表示しない。
-なお、数値には浮動小数点数を指定してもよい。@xref{Floating point}.
+デフォルトでは、それぞれの数は 1 行に 1 個づつ表示される。
+@var{increment} が指定されていない場合は、@var{first} が @var{last}
+より大きい場合でも、デフォルトの @samp{1} が @var{increment} として使用される。
+@var{first} のデフォルトもまた @samp{1} である。
+従って、@code{seq 1} は @samp{1} を表示するが、@code{seq 0} や @code{seq 10 5}
+は、何も出力しない。数列が終了するのは、現在の数値に @var{increment} を加えたら
+@var{last} より大きくなってしまう時点である。だから、@code{seq 1 10 10}
+は、@samp{1} しか表示しない。@var{increment} の値には @samp{0} を指定できない。
+同じ数を繰り返し出力したかったら、@command{yes} を使うべきである。また、@var{first},
+@var{increment}, @var{last} の値は、@code{NaN} (訳注: Not a Number)
+であってはならない。数値には浮動小数点数を指定することもできる。
+@xref{Floating point}.
 
 このプログラムでは以下のオプションが使用できる。参照: @ref{Common options}.
 オプションはオペランドの前に置かなければならない。
@@ -17774,37 +18055,39 @@ seq [@var{option}]@dots{} @var{first} @var{increment} @var{last}
 @table @samp
 @item -f @var{format}
 @itemx --format=@var{format}
-@opindex -f @var{format}
-@opindex --format=@var{format}
+@opindex -f
+@opindex --format
 @cindex formatting of numbers in @command{seq}
-すべての数を @var{format} を使用して表示する。@var{format} は、 @samp{printf} 形式の
-浮動小数点数の変換指定をただ一つ含むものでなければならない。すなわち、
-@samp{%a}, @samp{%e}, @samp{%f}, @samp{%g}, @samp{%A}, @samp{%E}, @samp{%F},
-@samp{%G} のいづれかである。
-@samp{%} の後ろには 0 個以上のフラグを、@samp{-+#0 '} のうちから選んで置く
-ことができる。また、それに続けて、1 個以上の数字からなるフィールド
-幅を指定することもできるし、さらにその後ろに、@samp{.} とそれに続く 0 個
-以上の数字からなる精度を指定することもできる。@var{format} には、任意の
-数の @samp{%%} 変換指定が含まれていてもよい。変換指定はすべて、@samp{printf}
-の場合と同じ意味を持っている。
-
-デフォルトの表示形式は、@var{first}, @var{increment}, @var{last} がどういう表記を使用
-しているかよって決まる。そのすべてが固定小数点の 10進数表記を使用
-しているならば、デフォルトの表示形式は @samp{%.@var{p}f} になる。ここで @var{p} は、
-出力する数値を過不足なく表現できる最小の精度である。それ以外の場合、
-デフォルトの表示形式は @samp{%g} になる。
+すべての数を @var{format} を使用して表示する。@var{format} は、 @samp{printf}
+形式の浮動小数点数の変換指定をただ一つ含むものでなければならない。
+すなわち、@samp{%a}, @samp{%e}, @samp{%f}, @samp{%g}, @samp{%A},
+@samp{%E}, @samp{%F}, @samp{%G} のいづれかである。
+@samp{%} の後ろには 0 個以上のフラグを、@samp{-+#0 '} のうちから選んで置くことができる。
+また、それに続けて、1 個以上の数字からなるフィールド幅を指定することもできるし、
+さらにその後ろに、@samp{.} とそれに続く 0 個以上の数字からなる精度を指定することもできる。
+@var{format} には、任意の数の @samp{%%} 変換指定が含まれていてもよい。
+変換指定はすべて、@samp{printf} の場合と同じ意味を持っている。
+
+デフォルトの表示形式は、@var{first}, @var{increment}, @var{last}
+がどういう表記を使用しているかよって決まる。そのすべてが固定小数点の
+10 進数表記を使用しているならば、デフォルトの表示形式は @samp{%.@var{p}f} になる。
+この @var{p} には、出力する数値を過不足なく表現できる最小の精度が来る。
+それ以外の場合、デフォルトの表示形式は @samp{%g} になる。
 
 @item -s @var{string}
 @itemx --separator=@var{string}
+@opindex -s
+@opindex --separator
 @cindex separator for numbers in @command{seq}
-数の区切りに @var{string} を使う。デフォルトは改行である。出力の最後
-には、必ず改行が付く。
+数の区切りに @var{string} を使う。デフォルトは改行である。出力の最後には、必ず改行が付く。
 
 @item -w
 @itemx --equal-width
+@opindex -w
+@opindex --equal-width
 すべての数を同じ桁数で表示する。先頭の空きは 0 で埋める。@var{first},
-@var{increment}, @var{last} は、すべて固定小数点の 10 進数表記でなければなら
-ない (他のやり方で先頭を埋めたければ、@option{--format} を使うこと)。
+@var{increment}, @var{last} は、すべて固定小数点の 10 進数表記でなければならない
+(他のやり方で先頭を埋めたければ、@option{--format} を使うこと)。
 
 @end table
 
@@ -17826,8 +18109,8 @@ fffff
 1007ff
 @end example
 
-数のリストが非常に長くなる場合は、@command{xargs} を使用すると、引数リストの
-長さに対するシステムの制限を回避することができる。
+数のリストが非常に長くなる場合は、@command{xargs}
+を使用すると、引数リストの長さに対するシステムの制限を回避することができる。
 
 @example
 $ seq 1000000 | xargs printf '%x\n' | tail -n 3
@@ -17839,12 +18122,12 @@ f4240
 8 進数の出力を生成するには、printf に対して @code{%x} の代わりに、@code{%o}
 フォーマットを使用すればよい。
 
-ほとんどのシステムで @command{seq} は、少なくとも @math{2^{53}} までの数値に対して
-整数の出力を生成することができる。それより大きい整数に対しては概算に
-なる。細かい点は、ご使用のシステムの浮動小数点の実装によって異なって
-いる。@xref{Floating point}.  @command{seq} が @math{2^{64}} までの整数に対しては、
\81\8dã\81¡ã\82\93ã\81¨å\8b\95ä½\9cã\81\99ã\82\8bã\81\8cã\80\81ã\81\9dã\82\8cã\82\88ã\82\8a大ã\81\8dã\81ªæ\95´æ\95°ã\81«å¯¾ã\81\97ã\81¦ã\81¯ã\80\81æ\95°å\80¤ã\81\8cä¸\8d正確ã\81«ã\81ªã\82\8b
-ことがあるというのは、よくある話である。
+ほとんどのシステムで @command{seq} は、少なくとも @math{2^{53}}
+までの数値に対して整数の出力を生成することができる。それより大きい整数に対しては概算になる。
+細かい点は、ご使用のシステムの浮動小数点の実装によって異なっている。
+@xref{Floating point}.  @command{seq} が @math{2^{64}}
\81¾ã\81§ã\81®æ\95´æ\95°ã\81«å¯¾ã\81\97ã\81¦ã\81ªã\82\89ã\80\81ã\81\8dã\81¡ã\82\93ã\81¨å\8b\95ä½\9cã\81\99ã\82\8bã\81\8cã\80\81
\81\9dã\82\8cã\82\88ã\82\8a大ã\81\8dã\81ªæ\95´æ\95°ã\81«å¯¾ã\81\97ã\81¦ã\81¯ã\80\81æ\95°å\80¤ã\81\8cä¸\8d正確ã\81«ã\81ªã\82\8bã\81\93ã\81¨ã\81\8cã\81\82ã\82\8bã\81¨ã\81\84ã\81\86ã\81®ã\81¯ã\80\81ã\82\88ã\81\8fã\81\82ã\82\8b話ã\81§ã\81\82ã\82\8bã\80\82
 
 @example
 $ seq 50000000000000000000 2 50000000000000000004
@@ -17853,23 +18136,22 @@ $ seq 50000000000000000000 2 50000000000000000004
 50000000000000000004
 @end example
 
-とは言え、負ではない整数を対象とし、インクリメントが 1 で、フォー
\83\9eã\83\83ã\83\88æ\8c\87å®\9aã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯ã\81ªã\81\84ã\81¨ã\81\84ã\81\86æ\9d¡ä»¶ã\81®å\85\83ã\81§ã\81¯ã\80\81@command{seq} ã\81¯ä»»æ\84\8fã\81®å¤§ã\81\8dã\81ª
-数値を表示できることも心に留めておいていただきたい。
+とは言え、負ではない整数を対象とし、インクリメントが 1 で、
\83\95ã\82©ã\83¼ã\83\9eã\83\83ã\83\88æ\8c\87å®\9aã\82ªã\83\97ã\82·ã\83§ã\83³ã\81¯ã\81ªã\81\84ã\81¨ã\81\84ã\81\86æ\9d¡ä»¶ã\81®å\85\83ã\81§ã\81¯ã\80\81
+@command{seq} は任意の大きな数値を表示できることも心に留めておいていただきたい。
 
 @command{seq} でとんでもなく大きな桁の値を扱うときは、気をつけた方がよい。
-さもないと、@command{seq} は内部で浮動小数点を使用しているので、結果を見て
-びっくりするかもしれない。たとえば、x86 のプラットフォームでは、
-内部表現が 64 ビットの仮数部を使用しているが、そこで次のコマンドを
-実行すると、
+さもないと、@command{seq} は内部で浮動小数点を使用しているので、結果を見てびっくりするかもしれない。
+たとえば、x86 のプラットフォームでは、内部表現が 64 ビットの仮数部を使用しているが、
+そこで次のコマンドを実行すると、
 
 @example
 seq 1 0.0000000000000000001 1.0000000000000000009
 @end example
 
 @command{seq} は 1.0000000000000000007 を二度出力し、1.0000000000000000008
-をスキップする (訳注: 訳者の amd64 環境では、1.0000000000000000008 では
-なく、1.0000000000000000006 をスキップする)。
+をスキップする (訳注: 訳者の amd64 環境では、1.0000000000000000008
\81§ã\81¯ã\81ªã\81\8fã\80\811.0000000000000000006 ã\82\92ã\82¹ã\82­ã\83\83ã\83\97ã\81\99ã\82\8b\80\82
 
 @exitstatus
 
@@ -17885,9 +18167,9 @@ seq 1 0.0000000000000000001 1.0000000000000000009
 @node Opening the software toolbox
 @chapter ソフトウェアの道具箱
 
-この章の初期のバージョンは、「GNU とは何か? (@cite{What's GNU?})」という
-連載記事として @cite{Linux Journal} 1994 年 6 月号に掲載された。執筆者は
-Arnold Robbins である。
+この章の初期のバージョンは、「GNU とは何か? (@cite{What's GNU?})」という連載記事として
+@cite{Linux Journal} 1994 年 6 月号に掲載された。
+執筆者は Arnold Robbins である。
 (@uref{http://www.linuxjournal.com/article.php?sid=2762})
 
 @menu
@@ -17905,36 +18187,35 @@ Arnold Robbins である。
 @unnumberedsec はじめに
 
 今月の記事と GNU プロジェクトの関係は、周辺的なものにすぎない。お手元の
-GNU/Linux システムの GNU ツールをいくつか取り上げて、こんな使い方もあり
\81¾ã\81\99ã\82\88ã\80\81ã\81¨èª¬æ\98\8eã\81\97ã\81¦ã\81\84ã\82\8bç\82¹ã\81§ã\80\81é\96¢ä¿\82ã\81\8cã\81\82ã\82\8bã\81«ã\81\99ã\81\8eã\81ªã\81\84ã\81®ã\81 ã\80\82ä»\8aæ\9c\88ã\81®è¨\98äº\8bã\81®ç\9c\9fã\81®
-狙いは、プログラムを開発したり、使用したりする上での、「ソフトウェアは
-工具だ」という考え方を説明することである。
-
-ソフトウェアは工具だという思想は、Unix が最初に設計され、開発された
-ときの重要で不可欠な考え方だった (Linux も GNU も本質的には Unix の
-クローンである)。残念なことに、最近ではインターネットや見栄えのよい
-GUI の勢いに押されて、ソフトウェア工具論は流行らなくなっているようだ。
-この思想は、様々な問題を解決するための強力な思考モデルを提供してくれる
\81®ã\81 ã\81\8bã\82\89ã\80\81ã\81¾ã\81\93ã\81¨ã\81«æ®\8b念ã\81ªè©±ã\81§ã\81\82ã\82\8bã\80\82
+GNU/Linux システムの GNU ツールをいくつか取り上げて、
\81\93ã\82\93ã\81ªä½¿ã\81\84æ\96¹ã\82\82ã\81\82ã\82\8aã\81¾ã\81\99ã\82\88ã\80\81ã\81¨è¿°ã\81¹ã\81¦ã\81\84ã\82\8bç\82¹ã\81§ã\80\81é\96¢ä¿\82ã\81\8cã\81\82ã\82\8bã\81«ã\81\99ã\81\8eã\81ªã\81\84ã\81®ã\81 ã\80\82
+今月の記事の真の狙いは、プログラムを開発したり、使用したりする上での、
+「ソフトウェアは工具だ」という考え方を説明することである。
+
+ソフトウェアは工具だという思想は、Unix が最初に設計され、開発されたときの重要で不可欠な考え方だった
+(Linux も GNU も本質的には Unix のクローンである)。
+残念なことに、最近ではインターネットや見栄えのよい GUI の勢いに押されて、
+ソフトウェア工具論は流行らなくなっているようだ。
+この思想は、様々な問題を解決するための強力な思考モデルを提供してくれるのだから、
+まことに残念な話である。
 
 スイス・アーミーナイフをズボンのポケットに (または、小物入れに)
-入れて、持ち歩いている人は多い。スイス・アーミーナイフは持っていると
-重宝な道具だ。それには、何本かのナイフ、ねじ回し、ピンセット、つまようじ
-爪やすり、コルク抜き、他にもたぶん、いろいろ付いているだろう。日常の
-ちょっとした雑用には、何にでも使える簡単な道具があれば済むのだから、
+入れて、持ち歩いている人は多い。スイス・アーミーナイフは持っていると重宝な道具だ。
+それには、何本かのナイフ、ねじ回し、ピンセット、つまようじ、爪やすり、コルク抜き
+他にもたぶん、いろいろ付いているだろう。
+日常のちょっとした雑用には、何にでも使える簡単な道具があれば済むのだから、
 そうした用途にはまさにピッタリの道具である。
 
-しかしながら、熟練した大工は、スイス・アーミーナイフを使って家を建て
-たりしない。彼は、その代わりに道具箱を持っていて、そこには用途別の工具
---- のこぎり、金槌、ねじ回し、鉋など --- がぎっしり詰まっている。しかも、
-彼は一つ一つの工具について、いつどこで使えばよいかをきちんと心得ている。
+しかしながら、熟練した大工は、スイス・アーミーナイフを使って家を建てたりしない。
+彼は、その代わりに道具箱を持っていて、そこには用途別の工具
+--- のこぎり、金槌、ねじ回し、鉋など --- がぎっしり詰まっている。
+しかも、彼は一つ一つの工具について、適材適所を心得ている。
 ねじ回しの柄で釘を打ち込んだりすることは絶対にないのだ。
 
-ベル研究所にいた Unix の開発者たちは、プロのプログラマやコンピュー
-タ・サイエンスの専門家ばかりだった。その彼らが、こういうことに気づいた
-のだ。万能型のプログラムは、たった一つのプログラムを使えばよいので、
-ユーザには受けがよいかもしれない。だが、いざ実際に作ってみると、そうした
-プログラムは、
+ベル研究所にいた Unix の開発者たちは、プロのプログラマやコンピュータ・サイエンスの専門家ばかりだった。
+その彼らが、こういうことに気づいたのだ。
+万能型のプログラムは、たった一つのプログラムを使えばよいので、
+ユーザには受けがよいかもしれない。だが、いざ実際に作ってみると、そうしたプログラムは、
 
 @enumerate a
 @item
@@ -17948,35 +18229,33 @@ GUI の勢いに押されて、ソフトウェア工具論は流行らなくな
 @end enumerate
 
 むしろ彼らは、プログラムは用途別の工具であるべきだと痛感した。
-要するに、個々のプログラムは、「一つの仕事をきちんとやってのければ
\82\88ã\81\84ã\80\8dã\80\82ã\81\9dã\82\8c以ä¸\8aã\81§ã\82\82ã\81\9dã\82\8c以ä¸\8bã\81§ã\82\82ã\81ªã\81\84ã\80\82ã\81\9dã\81\86ã\81\84ã\81£ã\81\9fã\83\97ã\83­ã\82°ã\83©ã\83 ã\81¯ã\80\81設è¨\88
-するのも、コードを書くのも、修正するのも、ずっと簡単である ---
+要するに、個々のプログラムは、「一つの仕事をきちんとやってのければよい」。
\81\9dã\82\8c以ä¸\8aã\81§ã\82\82ã\81\9dã\82\8c以ä¸\8bã\81§ã\82\82ã\81ªã\81\84ã\80\82ã\81\9dã\81\86ã\81\84ã\81£ã\81\9fã\83\97ã\83­ã\82°ã\83©ã\83 ã\81¯ã\80\81
+設計するのも、コードを書くのも、修正するのも、ずっと簡単である ---
 たった一つのことしかしないからだ。
 
 それだけではない。適切な仕組みを使って、プログラムを組み合わせると、
-全体が部分の総和以上になることにも、彼らは気づいた。ある用途専用の
\83\97ã\83­ã\82°ã\83©ã\83 ã\82\92ã\81\84ã\81\8fã\81¤ã\81\8bçµ\84ã\81¿å\90\88ã\82\8fã\81\9bã\82\8bã\81¨ã\80\81ã\81©ã\81®ã\83\97ã\83­ã\82°ã\83©ã\83 ã\82\82ã\81\9dã\81®ã\81\9fã\82\81ã\81«ä½\9cã\82\89ã\82\8cã\81\9f
\81®ã\81§ã\81¯ã\81ªã\81\84ã\80\81ã\81\82ã\82\8bç\89¹å®\9aã\81®ä½\9c業ã\82\92ã\82\84ã\81£ã\81¦ã\81®ã\81\91ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\80\82ã\81\9dã\82\8cã\82\82ã\80\81ã\81\9dã\82\8cå°\82ç\94¨ã\81®
\83\97ã\83­ã\82°ã\83©ã\83 ã\82\92æ\9b¸ã\81\8bã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84å ´å\90\88ã\82\88ã\82\8aã\82\82ã\80\81ã\81¯ã\82\8bã\81\8bã\81«è¿\85é\80\9fã\81«ã\80\81ã\81\8bã\81¤ç°¡å\8d\98ã\81«
\82\84ã\81£ã\81¦ã\81®ã\81\91ã\82\89ã\82\8cã\82\8bã\81®ã\81 ã\80\82ã\81\93ã\81®è¨\98äº\8bã\81®ä»¥ä¸\8bã\81§ã\81¯ã\80\81ã\81\9dã\81\86ã\81\97ã\81\9f使ç\94¨æ³\95ã\81® (å\85¸å\9e\8bç\9a\84ã\81ª)
-例をいくつか紹介する。(大事なことを一つ付記しておく。急がば回れだ。
+全体が部分の総和以上になることにも、彼らは気づいた。
\81\82ã\82\8bç\94¨é\80\94å°\82ç\94¨ã\81®ã\83\97ã\83­ã\82°ã\83©ã\83 ã\82\92ã\81\84ã\81\8fã\81¤ã\81\8bçµ\84ã\81¿å\90\88ã\82\8fã\81\9bã\82\8bã\81¨ã\80\81
\81©ã\81®ã\83\97ã\83­ã\82°ã\83©ã\83 ã\82\82ã\81\9dã\81®ã\81\9fã\82\81ã\81«ä½\9cã\82\89ã\82\8cã\81\9fã\81®ã\81§ã\81¯ã\81ªã\81\84ã\80\81ã\81\82ã\82\8bç\89¹å®\9aã\81®ä½\9c業ã\82\92ã\82\84ã\81£ã\81¦ã\81®ã\81\91ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\80\82
\81\9dã\82\8cã\82\82ã\80\81ã\81\9dã\82\8cå°\82ç\94¨ã\81®ã\83\97ã\83­ã\82°ã\83©ã\83 ã\82\92æ\9b¸ã\81\8bã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84å ´å\90\88ã\82\88ã\82\8aã\82\82ã\80\81
\81¯ã\82\8bã\81\8bã\81«è¿\85é\80\9fã\81«ã\80\81ã\81\8bã\81¤ç°¡å\8d\98ã\81«ã\82\84ã\81£ã\81¦ã\81®ã\81\91ã\82\89ã\82\8cã\82\8bã\81®ã\81 ã\80\82ã\81\93ã\81®è¨\98äº\8bã\81®ä»¥ä¸\8bã\81§ã\81¯ã\80\81ã\81\9dã\81\86ã\81\97ã\81\9f使ç\94¨æ³\95ã\81®
+(基本的な) 例をいくつか紹介する。(大事なことを一つ付記しておく。急がば回れだ。
 必要になるかもしれないソフトウェア工具があれば、まずそれを作ること。
 道具箱に適切な工具がまだない場合の話であるが。)
 
 @node I/O redirection
 @unnumberedsec I/O リダイレクション
 
-シェルの入出力リダイレクションについて、基本的なこと、とくに標準入力、
-標準出力、標準エラーがどういうものかを、読者がよく御存じだとして、話を
-進める。簡単に言うと、標準入力とは、データの入力元、すなわち、データが
-そこからやって来る場所のことだ。データの入力元が、ディスク上のファイル
-だろうと、キーボードだろうと、磁気テープだろうと、それどころかパンチ
-カード・リーダーだろうと、プログラムはそれを知る必要もなければ、気に
-かける必要もない。同様に、標準出力とは、データの溜まる場所、データが
-そこに行く場所のことだ。プログラムとしては、それがどこになろうと、知ら
-なくてもよく、気にかけなくてもよい。標準入力からデータを読み込み、それに
-対して何らかの処理を行い、標準出力に送り出すだけのプログラムを、水道の
-パイプラインのフィルターになぞらえて、「フィルター (@dfn{filter})」と呼ぶ。
+シェルの入出力リダイレクションについて、基本的なこと、
+とくに標準入力、標準出力、標準エラーがどういうものかを、読者はよく御存じだと思う。
+要するに、標準入力とは、データの入力元、すなわち、データがそこからやって来る場所のことだ。
+データの入力元が、ディスク上のファイルだろうと、キーボードだろうと、磁気テープだろうと、
+それどころかパンチカード・リーダーだろうと、プログラムはそれを知る必要もなければ、気にかける必要もない。
+同様に、標準出力とは、データの溜まる場所、データがそこに行く場所のことだ。
+プログラムとしては、それがどこになろうと、知らなくてもよく、気にかけなくてもよい。
+標準入力からデータを読み込み、それに対して何らかの処理を行い、標準出力に送り出すだけのプログラムを、
+水道のパイプラインのフィルターになぞらえて、「フィルター (@dfn{filter})」と呼ぶ。
 
 Unix のシェルでは、データのパイプラインを作るのはとてもやさしい。
 
@@ -17984,48 +18263,44 @@ Unix のシェルでは、データのパイプラインを作るのはとても
 program_to_create_data | filter1 | ... | filterN > final.pretty.data
 @end smallexample
 
-ここでは、まず最初に生のデータを作成している。各フィルターがその
-データに対して何らかの変形を次々に行い、最終的に、データが希望どおりの
-形になって、パイプラインから抜け出してくる。
+ここでは、まず最初に生のデータを作成している。
+各フィルターがそのデータに対して何らかの変形を次々に行い、
+最終的に、データが希望どおりの形になって、パイプラインから抜け出してくる。
 
-標準入力と標準出力にとっては、それで十分だ。では、標準エラーはどこ
-で登場し、どんな役割を果たすのだろうか? 上記パイプラインの @command{filter1} に
-ついて考えてほしい。データを読んでいるうちにエラーが起きたら、どうなる
-だろうか? @command{filter1} がエラーメッセージを標準出力に書き出したら、その
-メッセージはパイプラインを下って @command{filter2} の入力に飲み込まれてしまう。
+標準入力と標準出力については、それでよい。
+では、標準エラーはどこで登場し、どんな役割を果たすのだろうか?
+上記パイプラインの @command{filter1} について考えてほしい。
+データを読んでいるうちにエラーが起きたら、どうなるだろうか?
+@command{filter1} がエラーメッセージを標準出力に書き出したら、
+そのメッセージはパイプラインを下って @command{filter2} の入力に飲み込まれてしまう。
 そうなると、ユーザはたぶんメッセージをまったく目にしないことになるだろう。
-そこで、プログラムとしては、ユーザがエラーメッセージに気がついてくれる
-ように、それを送ることのできる場所が必要になる。それが、標準エラー
-なのであり、標準エラーは通常、現在使用しているコンソールやウィンドウ
-に結びついている。プログラムの標準出力を使用中のスクリーン以外に
-リダイレクトしている場合でも、それは変わらない。
-
-フィルター・プログラムが協力し合うためには、データのフォーマットに
-ついて互いに合意している必要がある。最も素直で使いやすいフォーマットと
-言えば、何と言っても、行分けされたテキストだ。そして、Unix のデータファ
-イルは、たいていの場合、まさに、ASCII LF (Line Feed) 文字によって行分け
-されたバイトの連続なのである。なお、この LF 文字は、Unix の文書では
-「改行 (newline)」と呼ばれる習慣になっている (C のプログラマにとっては
-@code{\n} だ)。これこそ、すべての伝統的なフィルター・プログラムによって使用
-されて来たフォーマットである。(昔のオペレーティング・システムの多くは、
-バイナリ・データを扱うための複雑な手段や専用のプログラムを備えていた。
-だが、Unix は、ただ単にテキストエディタでデータを見たり編集できたり
-する方がはるかに簡単だという考えから、そうした道具をずっと敬遠してきた
-のである。)
-
-さて、前置きはこれくらいで十分だ。まず、道具のいくつかをざっと見て
-みよう。その後で、そうした道具をおもしろいやり方で組み合わせる方法を
-ご覧に入れる。以下の解説では、当面の問題に関係のあるコマンドライン・
-オプションしか取り上げない。いつでもそうすべきことだが、コマンドについて
-詳しいことを知りたかったら、ご使用のシステムの文書を参照なさるとよい。
+そこで、プログラムとしては、ユーザがエラーメッセージに気がついてくれるように、
+それを送ることのできる場所が必要になる。それが、標準エラーなのであり、
+標準エラーは通常、現在使用しているコンソールやウィンドウに結びついている。
+プログラムの標準出力を使用中のスクリーン以外にリダイレクトしている場合でも、それは変わらない。
+
+フィルター・プログラムが協力し合うためには、データのフォーマットについて互いに合意している必要がある。
+最も素直で使いやすいフォーマットと言えば、何と言っても、行分けされたテキストだ。
+そして、Unix のデータファイルは、たいていの場合、まさに、ASCII LF (Line Feed)
+文字によって行分けされたバイトの連続なのである。なお、この LF 文字は、Unix
+の文書では「改行 (newline)」と呼ばれる習慣になっている (C のプログラマにとっては
+@code{\n} だ)。これこそ、すべての伝統的なフィルター・プログラムによって使用されて来たフォーマットである。
+(昔のオペレーティング・システムの多くは、バイナリ・データを扱うための複雑な手段や専用のプログラムを備えていた。
+だが、Unix は、ただ単にテキストエディタでデータを見たり編集できたりする方がはるかに簡単だという考えから、
+そうした道具をずっと敬遠してきたのである。)
+
+さて、前置きはこれくらいで十分だ。まず、道具のいくつかをざっと見てみよう。
+その後で、そうした道具をおもしろいやり方で組み合わせる方法をご覧に入れる。
+以下の解説では、当面の問題に関係のあるコマンドライン・オプションしか取り上げない。
+いつでもそうすべきことだが、コマンドについて詳しいことを知りたかったら、
+ご使用のシステムの文書を参照なさるとよい。
 
 @node The who command
 @unnumberedsec @command{who} コマンド
 
-最初に取り上げるプログラムは、@command{who} コマンドだ。これは単独で使うと、
-現在ログインしているユーザのリストを生成する (参照: @ref{who invocation})。
-筆者がこの原稿を書いているのは、シングルユーザのシステム
-だが、数人のユーザがログインしていることにしよう。
+最初に取り上げるプログラムは、@command{who} コマンドだ。
+これは単独で使うと、現在ログインしているユーザのリストを生成する (参照: @ref{who invocation})。
+筆者がこの原稿を書いているのは、シングルユーザのシステムだが、数人のユーザがログインしていることにしよう。
 
 @example
 $ who
@@ -18036,27 +18311,25 @@ $ who
 @end example
 
 ここで @samp{$} はお馴染みのシェルプロンプトであり、筆者はそれに対して
-@samp{who} と打ち込んだわけだ。三人のユーザがログインしており、筆者は二度
-ログインしている。伝統的な Unix のシステムでは、ユーザ名はアルファベット
-8 文字までということになっている。このちょっとした豆知識が、後で役に
-立つことになる。@samp{who} の出力は悪くはない。だが、大しておもしろいデータ
-でもない。
+@samp{who} と打ち込んだわけだ。三人のユーザがログインしており、筆者は二度ログインしている。
+伝統的な Unix のシステムでは、ユーザ名はアルファベット
+8 文字までということになっている。このちょっとした豆知識が、後で役に立つことになる。
+@samp{who} の出力は悪くはない。だが、大しておもしろいデータでもない。
 
 @node The cut command
 @unnumberedsec @command{cut} コマンド
 
-次に注目するプログラムは @command{cut} コマンドだ。このコマンドは、入力された
\83\87ã\83¼ã\82¿ã\81\8bã\82\89縦ã\81®å\88\97 (columns) ã\82\84ã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\82\92å\88\87ã\82\8aå\87ºã\81\99 (å\8f\82ç\85§: @ref{cut invocation})ã\80\82
-そこで、@command{cut} に命じて、@file{/etc/passwd} ファイルから
\83­ã\82°ã\82¤ã\83³å\90\8dã\81¨ã\83\95ã\83«ã\83\8dã\83¼ã\83 ã\81 ã\81\91表示ã\81\95ã\81\9bã\82\8bã\81¨ã\81\84ã\81£ã\81\9fã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\80\82@file{/etc/passwd}
-には、七つのフィールドがあり、おのおのコロンで区切られている。
+次に注目するプログラムは @command{cut} コマンドだ。
\81\93ã\81®ã\82³ã\83\9eã\83³ã\83\89ã\81¯ã\80\81å\85¥å\8a\9bã\81\95ã\82\8cã\81\9fã\83\87ã\83¼ã\82¿ã\81\8bã\82\89縦ã\81®å\88\97 (columns) ã\82\84ã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\82\92å\88\87ã\82\8aå\87ºã\81\99
+(参照: @ref{cut invocation})。そこで、@command{cut} に命じて、@file{/etc/passwd}
\83\95ã\82¡ã\82¤ã\83«ã\81\8bã\82\89ã\83­ã\82°ã\82¤ã\83³å\90\8dã\81¨ã\83\95ã\83«ã\83\8dã\83¼ã\83 ã\81 ã\81\91表示ã\81\95ã\81\9bã\82\8bã\81¨ã\81\84ã\81£ã\81\9fã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\80\82
+@file{/etc/passwd} には、七つのフィールドがあり、おのおのコロンで区切られている。
 
 @example
 arnold:xyzzy:2076:10:Arnold D. Robbins:/home/arnold:/bin/bash
 @end example
 
-1 番目と 5 番目のフィールドを取り出すには、次のように @command{cut} を使用
-する。
+1 番目と 5 番目のフィールドを取り出すには、次のように @command{cut} を使用する。
 
 @example
 $ cut -d: -f1,5 /etc/passwd
@@ -18067,10 +18340,10 @@ $ cut -d: -f1,5 /etc/passwd
 @dots{}
 @end example
 
-@option{-c} オプションを付けると、 @command{cut} は入力行中の特定の文字 (すなわち、
-特定の縦の列) を切り出す。これは、入力データが固定幅のフィールドを持ち、
-フィールド・セパレータがないときに便利である。たとえば、今月の月曜日は、
-何日と何日かをリストするには、次のようにする。
+@option{-c} オプションを付けると、 @command{cut} は入力行中の特定の文字
+(すなわち、特定の縦の列) を切り出す。これは、入力データが固定幅のフィールドを持ち、
+フィールド・セパレータがないときに便利である。
+たとえば、今月の月曜日は、何日と何日かをリストするには、次のようにする。
 
 @c Is using cal ok?  Looked at gcal, but I don't like it.
 @example
@@ -18086,14 +18359,14 @@ $ cal | cut -c 3-5
 @node The sort command
 @unnumberedsec @command{sort} コマンド
 
-次に @command{sort} コマンドを一瞥する。これは Unix 風のシステムにおける最も
-強力なコマンドの一つであり、パイプを使って手の込んだデータ処理を行う
-とき、気がつくと使っていることがよくあるものだ。
+次に @command{sort} コマンドを一瞥する。
+これは Unix 風のシステムにおける最も強力なコマンドの一つであり、
\83\91ã\82¤ã\83\97ã\82\92使ã\81£ã\81¦æ\89\8bã\81®è¾¼ã\82\93ã\81 ã\83\87ã\83¼ã\82¿å\87¦ç\90\86ã\82\92è¡\8cã\81\86ã\81¨ã\81\8dã\80\81æ°\97ã\81\8cã\81¤ã\81\8fã\81¨ä½¿ã\81£ã\81¦ã\81\84ã\82\8bã\81\93ã\81¨ã\81\8cã\82\88ã\81\8fã\81\82ã\82\8bã\82\82ã\81®ã\81 ã\80\82
 
- @command{sort} コマンドは、コマンドラインで指名された各ファイルを読み込んで、
\82½ã\83¼ã\83\88ã\81\99ã\82\8bã\80\82ã\81\9dã\81®å¾\8cã\81§ã\80\81ã\82½ã\83¼ã\83\88ã\81\97ã\81\9fã\83\87ã\83¼ã\82¿ã\82\92ã\83\9eã\83¼ã\82¸ã\81\97ã\80\81ã\81\9dã\82\8cã\82\92æ¨\99æº\96å\87ºå\8a\9bã\81«æ\9b¸ã\81\8d
-出す。コマンドラインでファイルが指定されていない場合は、標準入力を読み
-込む (こうして、フィルターになる)。ソートは、文字の照合順序、あるいは、
+@command{sort} コマンドは、コマンドラインで指名された各ファイルを読み込んで、ソートする。
\81\9dã\81®å¾\8cã\81§ã\80\81ã\82½ã\83¼ã\83\88ã\81\97ã\81\9fã\83\87ã\83¼ã\82¿ã\82\92ã\83\9eã\83¼ã\82¸ã\81\97ã\80\81ã\81\9dã\82\8cã\82\92æ¨\99æº\96å\87ºå\8a\9bã\81«æ\9b¸ã\81\8då\87ºã\81\99ã\80\82
+コマンドラインでファイルが指定されていない場合は、標準入力を読み込む
+(こうして、フィルターになる)。ソートは、文字の照合順序、あるいは、
 ユーザが順序について指定した基準に基づいて行われる (参照: @ref{sort invocation})。
 
 
@@ -18101,30 +18374,28 @@ $ cal | cut -c 3-5
 @unnumberedsec @command{uniq} コマンド
 
 最後に目を向けるのは (少なくとも今のところはだが)、@command{uniq} プログラムだ。
-データのソートをしていると、結果に重複行が現れることがよくある。内容が
-全く同じ行だ。たいていの場合、各行は一つだけあればよい。そこで、@command{uniq}
-の出番になる。@command{uniq} プログラムは、標準入力を読み込み、連続する同一行に
-ついては、そのうちの一件だけを表示する。@command{uniq} には、オプションがいくつ
\81\8bã\81\82ã\82\8bã\80\82å¾\8cã\81§ @option{-c} ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92使ã\81\86ã\81\93ã\81¨ã\81«ã\81ªã\82\8bã\81\8cã\80\81ã\81\93ã\82\8cã\81¯ã\83¦ã\83\8bã\83¼ã\82¯ã\81ªã\80\81ã\81¤ã\81¾ã\82\8a
-他と違っている各行を表示するとき、その行が入力中に現れた回数を前に付ける
-ものである (参照: @ref{uniq invocation})。
+データのソートをしていると、結果に重複行が現れることがよくある。
\86\85容ã\81\8cå\85¨ã\81\8få\90\8cã\81\98è¡\8cã\81 ã\80\82ã\81\9fã\81\84ã\81¦ã\81\84ã\81®å ´å\90\88ã\80\81å\90\84è¡\8cã\81¯ä¸\80ã\81¤ã\81 ã\81\91ã\81\82ã\82\8cã\81°ã\82\88ã\81\84ã\80\82ã\81\9dã\81\93ã\81§ã\80\81@command{uniq}
+の出番になる。@command{uniq} プログラムは、標準入力を読み込み、
+連続する同一行については、そのうちの一件だけを表示する。@command{uniq}
\81«ã\81¯ã\80\81ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81\8cã\81\84ã\81\8fã\81¤ã\81\8bã\81\82ã\82\8bã\80\82å¾\8cã\81§ @option{-c} ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92使ã\81\86ã\81\93ã\81¨ã\81«ã\81ªã\82\8bã\81\8cã\80\81
+これはユニークな、つまり他と違っている各行を表示するとき、
\81\9dã\81®è¡\8cã\81\8cå\85¥å\8a\9b中ã\81«ç\8f¾ã\82\8cã\81\9få\9b\9eæ\95°ã\82\92å\89\8dã\81«ä»\98ã\81\91ã\82\8bã\82\82ã\81®ã\81§ã\81\82ã\82\8b (å\8f\82ç\85§: @ref{uniq invocation})ã\80\82
 
 
 @node Putting the tools together
 @unnumberedsec 工具 (tools) を組み合わせる
 
-さて、大規模な ISP のサーバーシステムがあって、何十人ものユーザが
-ログインしているとしよう。経営側がシステム管理者に、ログインしている
-ユーザのソートしたリストを生成するプログラムを書くことを求めている。
+さて、大規模な ISP のサーバーシステムがあって、何十人ものユーザがログインしているとしよう。
+経営側がシステム管理者に、ログインしているユーザのソートしたリストを生成するプログラムを書くことを求めている。
 しかも、あるユーザが多重ログインをしていても、その人の名前は出力に
 1 回だけ現れればよいという条件がある。
 
-システム管理者は腰を据えてシステムのマニュアル類に取り組み、そうした
-作業を実行する C のプログラムを書くこともできるだろう。そのためには、
-たぶん数百行のコードが必要であり、プログラムを書いて、テストして、
-デバッグするには、2 時間ぐらいかかるはずだ。それに対して、ソフトウェアの
-道具箱に精通しているシステム管理者なら、C のプログラムを書く代わりに、
-ログインしているユーザのリストを生成するところから始めることができる。
+システム管理者は腰を据えてシステムのマニュアル類に取り組み、そうした作業を実行する
+C のプログラムを書くこともできるだろう。そのためには、たぶん数百行のコードが必要であり、
+プログラムを書いて、テストして、デバッグするには、2 時間ぐらいかかるはずだ。
+それに対して、ソフトウェアの道具箱に精通しているシステム管理者なら、
+C のプログラムを書く代わりに、ログインしているユーザのリストを生成するところから始めることができる。
 
 @example
 $ who | cut -c1-8
@@ -18157,9 +18428,9 @@ $ who | cut -c1-8 | sort | uniq
 がやることをやってくれる。しかし、@command{uniq} にはほかの働きもあり、そちらは
 @samp{sort -u} で代用することができない。
 
-システム管理者が、以下のように、このパイプラインをシェルスクリプトに
\81\97ã\81¦ã\81\8aã\81\91ã\81°ã\80\81ã\82·ã\82¹ã\83\86ã\83 ã\81®ã\81\99ã\81¹ã\81¦ã\81®ã\83¦ã\83¼ã\82¶ã\81\8cå\88©ç\94¨ã\81§ã\81\8dã\82\8bã\82\88ã\81\86ã\81«ã\81ªã\82\8b (@samp{#} ã\81¯
-システム管理者、すなわち @code{root} のプロンプトだ)。
+システム管理者が、以下のように、このパイプラインをシェルスクリプトにしておけば、
\82·ã\82¹ã\83\86ã\83 ã\81®ã\81\99ã\81¹ã\81¦ã\81®ã\83¦ã\83¼ã\82¶ã\81\8cå\88©ç\94¨ã\81§ã\81\8dã\82\8bã\82\88ã\81\86ã\81«ã\81ªã\82\8b
+(@samp{#} はシステム管理者、すなわち @code{root} のプロンプトだ)。
 
 @example
 # cat > /usr/local/bin/listusers
@@ -18168,37 +18439,34 @@ who | cut -c1-8 | sort | uniq
 # chmod +x /usr/local/bin/listusers
 @end example
 
-ここには、心に留めておくべき重要なことが四つある。まず第一に、1 行の
-コマンドラインにたった四つのプログラムを書くことで、システム管理者は約
-2 時間分の仕事をしないで済ますことができた。それだけではない。シェルの
-パイプラインは、C のプログラムを使った場合と比べても、ほぼ同じくらい
-効率がよく、プログラマの労働時間という点から見ると、ずっとずっと効率が
-よい。人間の労働時間はコンピュータの時間よりはるかに高価であり、「何も
\81\8bã\82\82ã\82\84ã\82\8bã\81«ã\81¯ã\80\81ã\81\84ã\81¤ã\81 ã\81£ã\81¦æ\99\82é\96\93ã\81\8c足ã\82\8aã\81ªã\81\84ã\80\8dç\8f¾ä»£ç¤¾ä¼\9aã\81§ã\81¯ã\80\81ã\83\97ã\83­ã\82°ã\83©ã\83\9eã\81®æ\99\82é\96\93
-を 2 時間も節約するのは、馬鹿にできない成果だ。
+ここには、心に留めておくべき重要なことが四つある。
\81¾ã\81\9a第ä¸\80ã\81«ã\80\811 è¡\8cã\81®ã\82³ã\83\9eã\83³ã\83\89ã\83©ã\82¤ã\83³ã\81«ã\81\9fã\81£ã\81\9få\9b\9bã\81¤ã\81®ã\83\97ã\83­ã\82°ã\83©ã\83 ã\82\92æ\9b¸ã\81\8fã\81\93ã\81¨ã\81§ã\80\81ã\82·ã\82¹ã\83\86ã\83 ç®¡ç\90\86è\80\85ã\81¯ç´\84
+2 時間分の仕事をしないで済ますことができた。それだけではない。シェルのパイプラインは、
+C のプログラムを使った場合と比べても、ほぼ同じくらい効率がよく、
+プログラマの労働時間という点から見ると、ずっとずっと効率がよい。
+人間の労働時間はコンピュータの時間よりはるかに高価であり、
\80\8cä½\95ã\82\82ã\81\8bã\82\82ã\82\84ã\82\8bã\81«ã\81¯ã\80\81ã\81\84ã\81¤ã\81 ã\81£ã\81¦æ\99\82é\96\93ã\81\8c足ã\82\8aã\81ªã\81\84ã\80\8dç\8f¾ä»£ç¤¾ä¼\9aã\81§ã\81¯ã\80\81ã\83\97ã\83­ã\82°ã\83©ã\83\9eã\81®æ\99\82é\96\93ã\82\92
+2 時間も節約するのは、馬鹿にできない成果だ。
 
-二番目に、ツールを組み合わせることで、個々のプログラムの作者が想像も
\81\97ã\81ªã\81\8bã\81£ã\81\9fã\82\88ã\81\86ã\81ªã\80\81ã\81\82ã\82\8bç\89¹å®\9aã\81®ç\9b®ç\9a\84ã\81®ã\81\9fã\82\81ã\81®ä»\95äº\8bã\82\92ã\82\84ã\81£ã\81¦ã\81®ã\81\91ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\80\82
+二番目に、ツールを組み合わせることで、個々のプログラムの作者が想像もしなかったような、
+ある特定の目的のための仕事をやってのけることができる。
 これも、強調しておくべき重要なことである。
 
-第三に、ここでやって見せたように、段階を追ってパイプラインを構成する
-のも有益な方法だ。そうすれば、パイプラインの段階ごとにデータを目で見る
-ことができるので、ツール類を間違いなく適切に使っているという自信を得る
-ことができる。
+第三に、ここでやって見せたように、段階を追ってパイプラインを構成するのも有益な方法だ。
+そうすれば、パイプラインの段階ごとにデータを目で見ることができるので、
+ツール類を間違いなく適切に使っているという自信を得ることができる。
 
-最後に、実行したパイプラインをシェルスクリプトにまとめておけば、
-他のユーザがそのコマンドを使うことができる。彼らのために作成した
-手の込んだコマンドの配管工事を、彼らは憶える必要すらないのだ。どう
-やって実行するかという点から見ると、シェルスクリプトもコンパイル
-されたプログラムも見分けが付かないのである。
+最後に、実行したパイプラインをシェルスクリプトにまとめておけば、他のユーザがそのコマンドを使うことができる。
+彼らのために作成した手の込んだコマンドの配管工事を、彼らは憶える必要すらないのだ。
+どうやって実行するかという点から見ると、シェルスクリプトもコンパイルされたプログラムも見分けが付かないのである。
 
-ここまでは準備運動だ。続いて、もっと複雑なパイプラインをもう二つ
\81\94覧ã\81«å\85¥ã\82\8cã\82\88ã\81\86ã\80\82ã\81\9dã\81®ã\81\9fã\82\81ã\81«ã\81¯ã\80\81å·¥å\85·ã\82\92ã\82\82ã\81\86äº\8cã\81¤ç´¹ä»\8bã\81\99ã\82\8bå¿\85è¦\81ã\81\8cã\81\82ã\82\8bã\80\82
+ここまでは準備運動だ。続いて、もっと複雑なパイプラインをもう二つご覧に入れよう。
+そのためには、工具をもう二つ紹介する必要がある。
 
 一つ目は @command{tr} コマンドだ。``transliterate (翻字する、字を置き換える)''
 の意味である。 @command{tr} コマンドは、一字一字処理して行くというやり方で、
-文字を置き換える (参照: @ref{tr invocation})。通常、このコマンドを使用
-するのは、大文字を小文字に変換するといったことのためである。
+文字を置き換える (参照: @ref{tr invocation})。
+通常、このコマンドを使用するのは、大文字を小文字に変換するといったことのためである。
 
 @example
 $ echo ThIs ExAmPlE HaS MIXED case! | tr '[:upper:]' '[:lower:]'
@@ -18209,8 +18477,8 @@ $ echo ThIs ExAmPlE HaS MIXED case! | tr '[:upper:]' '[:lower:]'
 
 @table @code
 @item -c
-リストされた文字の補集合を動作対象にする。言い換えると、指定された
-集合に存在しない文字に対して操作が行われる。
+リストされた文字の補集合を動作対象にする。
+言い換えると、指定された集合に存在しない文字に対して操作が行われる。
 
 @item -d
 一つ目の集合にある文字を出力から削除する。
@@ -18221,13 +18489,14 @@ $ echo ThIs ExAmPlE HaS MIXED case! | tr '[:upper:]' '[:lower:]'
 
 すぐ後で、この三つのオプションをすべて使うことになる。
 
-紹介するもう一つのコマンドは、@command{comm} だ。@command{comm} コマンドは、二つの
-ソートされた入力ファイルを入力データとして受け取り、両ファイルの各行を
-三つの列に分けて表示する。出力される列は、一番目のファイルにのみ存在
-する行、二番目のファイルにのみ存在する行、両方のファイルに存在する行の
-順番である。@option{-1}, @option{-2}, @option{-3} というコマンドライン・オプションを
-付けると、対応する列を表示しないようになる。 (これは直感的ではないので、
-ちょっとした慣れが必要だ。参照: @ref{comm invocation}) 例を挙げよう。
+紹介するもう一つのコマンドは、@command{comm} だ。
+@command{comm} コマンドは、二つのソートされた入力ファイルを入力データとして受け取り、
+両ファイルの各行を三つの列に分けて表示する。
+出力される列は、一番目のファイルにのみ存在する行、二番目のファイルにのみ存在する行、
+両方のファイルに存在する行の順番である。@option{-1}, @option{-2}, @option{-3}
+というコマンドライン・オプションを付けると、対応する列を表示しないようになる。
+(これは直感的ではないので、ちょっとした慣れが必要だ。参照: @ref{comm invocation})
+例を挙げよう。
 
 @example
 $ cat f1
@@ -18249,39 +18518,36 @@ $ comm f1 f2
 @print{}         55555
 @end example
 
-ファイル名を @file{-} にすると、@command{comm} は通常ファイルではなく、標準入力を
-読み込む。
+ファイル名を @file{-} にすると、@command{comm} は通常ファイルではなく、標準入力を読み込む。
 
-これで、気の利いたパイプラインを組み立てる準備ができた。最初に作る
-アプリケーションは、単語の出現頻度カウンターである。これは、ある特定の
-単語を使いすぎていないかどうか、文書の作成者が判断するとき、役に立つ。
+これで、気の利いたパイプラインを組み立てる準備ができた。
+最初に作るアプリケーションは、単語の出現頻度カウンターである。
+これは、ある特定の単語を使いすぎていないかどうか、文書の作成者が判断するとき、役に立つ。
 
-最初のステップは、入力ファイル中のすべての文字を大文字か小文字の
-どちらかに統一することである。``The'' と ``the'' は、頻度計算にとって同じ
-単語だ。
+最初のステップは、入力ファイル中のすべての文字を大文字か小文字のどちらかに統一することである。
+``The'' と ``the'' は、頻度計算にとって同じ単語だ。
 
 @example
 $ tr '[:upper:]' '[:lower:]' < whats.gnu | ...
 @end example
 
-次のステップは、句読点を除去することだ。引用符の付いている単語と
-付いていない単語も同じものとして扱った方がよいだろう。それならば、
-句読点類をすっぱり取り除いてしまうのが、一番簡単だ。
+次のステップは、句読点を除去することだ。
+引用符の付いている単語と付いていない単語も同じものとして扱った方がよいだろう。
+それならば、句読点類をすっぱり取り除いてしまうのが、一番簡単だ。
 
 @smallexample
 $ tr '[:upper:]' '[:lower:]' < whats.gnu | tr -cd '[:alnum:]_ \n' | ...
 @end smallexample
 
-二番目の @command{tr} コマンドは、リストされた文字の補集合を操作対象にして
-いる。すなわち、アルファベットのすべての文字、数字、アンダースコア、空白
-以外を対象にするわけだ。@samp{\n} は改行文字のことであり、これもそのまま残さ
-なければならない。(市販のアプリで使うスクリプトなら、念のため ASCII タブ
-文字も含めた方がよいだろう。)
+二番目の @command{tr} コマンドは、リストされた文字の補集合を操作対象にしている。
+すなわち、アルファベットのすべての文字、数字、アンダースコア、空白以外を対象にするわけだ。
+@samp{\n} は改行文字のことであり、これもそのまま残さなければならない。
+(実用に供するスクリプトでは、ついでに ASCII タブ文字も残した方がよいだろう。)
 
-この時点で、空白 (訳注: 改行を含む) で区切られた単語からなるデータが
-できていることになる。単語には、英数字 (それにアンダースコア) しか含まれ
-ていない。次のステップは、データをバラして、1 行 1 単語になるようにする
\81\93ã\81¨ã\81 ã\80\82ã\81\9dã\81\86ã\81\99ã\82\8cã\81°ã\80\81ã\81\99ã\81\90å¾\8cã\81§è¦\8bã\82\8bã\82\88ã\81\86ã\81«ã\80\81å\87ºç\8f¾å\9b\9eæ\95°ã\81®è¨\88ç®\97ã\81\8cã\81\9aã\81£ã\81¨æ¥½ã\81«ã\81ªã\82\8bã\80\82
+この時点で、空白 (訳注: 改行を含む) で区切られた単語からなるデータができていることになる。
+単語には、英数字 (それにアンダースコア) しか含まれていない。
+次のステップは、データをバラして、1 行 1 単語になるようにすることだ。
+そうすれば、すぐ後で見るように、出現回数の計算がずっと楽になる。
 
 @smallexample
 $ tr '[:upper:]' '[:lower:]' < whats.gnu | tr -cd '[:alnum:]_ \n' |
@@ -18289,13 +18555,12 @@ $ tr '[:upper:]' '[:lower:]' < whats.gnu | tr -cd '[:alnum:]_ \n' |
 @end smallexample
 
 このコマンドは、空白を改行に変える。@option{-s} オプションが付いているので、
-出力中の連続する改行文字は、たった 1 個に圧縮される。これで、空行を
-なくすことができるわけだ。(なお、2 行目行頭の @samp{>} という記号は、シェル
-の二次プロンプトである。シェルがユーザに、コマンドがまだ最後まで打ち
-込まれていないと知らせるとき、これが表示される。)
+出力中の連続する改行文字はたった 1 個に圧縮され、空行が取り除かれることになる。
+(なお、2 行目行頭の @samp{>} という記号は、シェルの二次プロンプトである。
+シェルがユーザに、コマンドがまだ最後まで打ち込まれていないと知らせるとき、これが表示される。)
 
-今や、1 行 1 単語からなるデータが手元にある。句読点は含まれず、すべて
-小文字だ。これで、各単語の出現回数を数える準備が整った。
+今や、1 行 1 単語からなるデータが手元にある。句読点は含まれず、すべて小文字だ。
+これで、各単語の出現回数を数える準備が整った。
 
 @smallexample
 $ tr '[:upper:]' '[:lower:]' < whats.gnu | tr -cd '[:alnum:]_ \n' |
@@ -18315,9 +18580,9 @@ $ tr '[:upper:]' '[:lower:]' < whats.gnu | tr -cd '[:alnum:]_ \n' |
       2 additional
 @end example
 
-なんと、出力が出現回数ではなく、単語によってソートされている! こちら
\81¨ã\81\97ã\81¦ã\81¯ã\80\81æ\9c\80ã\82\82é »ç¹\81ã\81«ä½¿ã\82\8fã\82\8cã\82\8bå\8d\98èª\9eã\81»ã\81©å\85\88ã\81«è¡¨ç¤ºã\81\97ã\81\9fã\81\84ã\81®ã\81«ã\81 ã\80\82幸ã\81\84ã\81ªã\81\93ã\81¨ã\81«ã\80\81
-それは簡単に実現できる。@command{sort} のオプションをもう二つ使うだけでよい。
+なんと、出力が出現回数ではなく、単語によってソートされている!
\81\93ã\81¡ã\82\89ã\81¨ã\81\97ã\81¦ã\81¯ã\80\81æ\9c\80ã\82\82é »ç¹\81ã\81«ä½¿ã\82\8fã\82\8cã\82\8bå\8d\98èª\9eã\81»ã\81©å\85\88ã\81«è¡¨ç¤ºã\81\97ã\81\9fã\81\84ã\81®ã\81«ã\81 ã\80\82
+幸いなことに、それは簡単に実現できる。@command{sort} のオプションをもう二つ使うだけでよい。
 
 @table @code
 @item -n
@@ -18340,30 +18605,28 @@ $ tr '[:upper:]' '[:lower:]' < whats.gnu | tr -cd '[:alnum:]_ \n' |
 @dots{}
 @end smallexample
 
-ふう、憶えることがどっさり! うん、でもね、同じ原則を応用してるだけ
-なんだよ。たった 2 行、6 個のコマンドで (実際には、長い 1 行を便宜上
-2 行に分割しているだけだが) 興味深く有用な作業をするプログラムが
-出来上がった。それも、同じこことする C のプログラムを書くよりもずっと
-短い時間でだ。
-
-上記のパイプラインをちょっといじるだけで、なんと、簡単なスペル
-チェッカーが出来てしまう。ある単語の綴りが正しいかどうかを判断するには、
-辞書で調べさえすればよい。その単語が辞書になければ、綴りを間違えている
-可能性が高いわけだ。そこで、とりあえず、辞書が必要になる。辞書の在り処
-は、慣例からすると @file{/usr/dict/words} だ。筆者の GNU/Linux システムでは
+ふう、憶えることがどっさり! うん、でもね、同じ原則を応用してるだけなんだよ。
+たった 2 行、6 個のコマンドで (実際には、長い 1 行を便宜上 2 行に分割しているだけだが)
+興味深く有用な作業をするプログラムが出来上がった。それも、同じこことする
+C のプログラムを書くよりもずっと短い時間でだ。
+
+上記のパイプラインをちょっといじるだけで、なんと、簡単なスペルチェッカーが出来てしまう。
+ある単語の綴りが正しいかどうかを判断するには、辞書で調べさえすればよい。
+その単語が辞書になければ、綴りを間違えている可能性が高いわけだ。
+そこで、とりあえず、辞書が必要になる。辞書の在り処は、慣例からすると
+@file{/usr/dict/words} だ。筆者の GNU/Linux システムでは
 @footnote{この記事を 2000 年 11 月に改訂したとき使用したのは、Redhat Linux
 6.1 である}、それはソートされた 45,402 語からなる辞書である。
 
-それでは、自分の作ったファイルをどうやって辞書と比べるのか? 前の例と
-同様、ソートした単語のリストを 1 行 1 語の形式で生成する。
+それでは、自分の作ったファイルをどうやって辞書と比べるのか?
\89\8dã\81®ä¾\8bã\81¨å\90\8cæ§\98ã\80\81ã\82½ã\83¼ã\83\88ã\81\97ã\81\9få\8d\98èª\9eã\81®ã\83ªã\82¹ã\83\88ã\82\92 1 è¡\8c 1 èª\9eã\81®å½¢å¼\8fã\81§ç\94\9fæ\88\90ã\81\99ã\82\8bã\80\82
 
 @smallexample
 $ tr '[:upper:]' '[:lower:]' < whats.gnu | tr -cd '[:alnum:]_ \n' |
 > tr -s ' ' '\n' | sort -u | ...
 @end smallexample
 
-必要なのは、辞書にない単語のリストだけだ。そこで、@command{comm} の出番に
-なる。
+必要なのは、辞書にない単語のリストだけだ。そこで、@command{comm} の出番になる。
 
 @smallexample
 $ tr '[:upper:]' '[:lower:]' < whats.gnu | tr -cd '[:alnum:]_ \n' |
@@ -18371,12 +18634,11 @@ $ tr '[:upper:]' '[:lower:]' < whats.gnu | tr -cd '[:alnum:]_ \n' |
 > comm -23 - /usr/dict/words
 @end smallexample
 
-@option{-2} と @option{-3} のオプションを使うと、辞書 (2 番目のファイル) にしかない
-行と、両方のファイルにある行が排除される。1 番目のファイル (標準入力、
-すなわち、自分が使った単語のリストだ) にしかない行は、辞書に存在しない
-単語だ。そうした単語は、綴りを間違えている可能性がかなり高いわけである。
-ご覧に入れたこのパイプラインは、Unix における市販のスペルチェッカーに
-対する最初の一太刀だったのである。
+@option{-2} と @option{-3} のオプションを使うと、辞書 (2 番目のファイル)
+にしかない行と、両方のファイルにある行が排除される。1 番目のファイル
+(標準入力、すなわち、自分が使った単語のリストだ) にしかない行は、辞書に存在しない単語だ。
+そうした単語は、綴りを間違えている可能性がかなり高いわけである。
+ご覧に入れたこのパイプラインは、Unix における本格的なスペルチェッカーへの最初の一歩だったのである。
 
 他にも一言述べておくべきツールがいくつかある。
 
@@ -18388,8 +18650,7 @@ $ tr '[:upper:]' '[:lower:]' < whats.gnu | tr -cd '[:alnum:]_ \n' |
 行数、単語数、文字数を計算する。
 
 @item tee
-データが流れるパイプのための T 字管。データをファイルと標準出力に
-コピーする。
+データが流れるパイプのための T 字管。データをファイルと標準出力にコピーする。
 
 @item sed
 ストリーム・エディタ。上級ツール。
@@ -18398,22 +18659,18 @@ $ tr '[:upper:]' '[:lower:]' < whats.gnu | tr -cd '[:alnum:]_ \n' |
 データ処理用の言語。これも上級ツール。
 @end table
 
-ソフトウェア工具論が取り入れたものに、次のちょっとしたアドバイスも
-ある。「骨の折れる部分は、他の奴にやらせろ」。すなわち、ある道具を
-選んで、必要なことの大部分をやらせ、それから、その結果に手を加えて、
-こちらの望む形にする、ということである。
+ソフトウェア工具論が取り入れたものに、次のちょっとしたアドバイスもある。「骨の折れる部分は、他の奴にやらせろ」。
+すなわち、ある道具を選んで、必要なことの大部分をやらせ、それから、その結果に手を加えて、こちらの望む形にする、ということである。
 
 要約しておこう。
 
 @enumerate 1
 @item
-個々のプログラムは、一つの仕事をきちんとやってのければよい。それ
-以上でもそれ以下でもない。
+個々のプログラムは、一つの仕事をきちんとやってのければよい。それ以上でもそれ以下でもない。
 
 @item
-プログラムを適切な配管工事で組み合わせると、全体が部分の総和以上に
-なる結果が生じる。作者が想像もしなかったようなプログラムの新しい
-使用法が見つかることもある。
+プログラムを適切な配管工事で組み合わせると、全体が部分の総和以上になる結果が生じる。
+作者が想像もしなかったようなプログラムの新しい使用法が見つかることもある。
 
 @item
 プログラムは決して余計なヘッダや追加情報を出力すべきではない。
@@ -18424,8 +18681,7 @@ $ tr '[:upper:]' '[:lower:]' < whats.gnu | tr -cd '[:alnum:]_ \n' |
 骨の折れる部分は、他の奴にやらせろ。
 
 @item
-自分の道具箱をよく知れ! 個々のプログラムを適切に使え。適切なツール
-がなかったら、それを作れ。
+自分の道具箱をよく知れ! 個々のプログラムを適切に使え。適切なツールがなかったら、それを作れ。
 @end enumerate
 
 これを執筆している時点で、ここで取り上げたプログラムはすべて次の
@@ -18434,39 +18690,35 @@ URL から手に入れることができる。@*
 もっと新しいバージョンは以下の場所にある。@*
 @uref{http://ftp.gnu.org/gnu/coreutils}
 
-この記事で筆者が述べたことに、新しいことは何もない。ソフトウェアは
-工具だという思想が最初に紹介されたのは、Brian Kernighan と P.J. Plauger
+この記事で筆者が述べたことに、新しいことは何もない。
+ソフトウェアは工具だという思想が最初に紹介されたのは、Brian Kernighan と P.J. Plauger
 による @cite{Software Tools} という本の中だった (Addison-Wesley, ISBN
 0-201-03669-X)。ソフトウェア工具の書き方と使い方を教えるこの本は、1976
-年に執筆され、@command{ratfor} (RATional FORtran) という名前の FORTRAN のプリ
-プロセッサを使用している。その当時、C は今ほどありふれてはいず、FORTRAN
-がそうだったのだ。最後の章では、@command{ratfor} を FORTRAN に変換するプロセッサ
-を @command{ratfor} で書いて見せている。@command{ratfor} は C にとてもよく似ているので、
+年に執筆され、@command{ratfor} (RATional FORtran) という名前の FORTRAN
\81®ã\83\97ã\83ªã\83\97ã\83­ã\82»ã\83\83ã\82µã\82\92使ç\94¨ã\81\97ã\81¦ã\81\84ã\82\8bã\80\82ã\81\9dã\81®å½\93æ\99\82ã\80\81C ã\81¯ä»\8aã\81»ã\81©ã\81\82ã\82\8aã\81µã\82\8cã\81¦ã\81¯ã\81\84ã\81\9aã\80\81FORTRAN
+がそうだったのだ。最後の章では、@command{ratfor} を FORTRAN に変換するプロセッサ
+@command{ratfor} で書いて見せている。@command{ratfor} は C にとてもよく似ているので、
 C を御存じの方なら、コードを追うのに何の苦労もないことだろう。
-(訳注: @cite{Software Tools} の翻訳は「ソフトウェア作法」という題で 1981 年に
-出版されている。木村泉 訳、共立出版)
-
-1981 年に本は改訂され、@cite{Software Tools in Pascal} という形でも手に
-入るようになった (Addison-Wesley, ISBN 0-201-10342-7)。どちらの本も
-現在でも入手可能であり、プログラマなら、一読の価値が十分にある。この
-2 冊の本が筆者のプログラミングに対する見方を大きく変えてくれたことに、
-疑いの余地はない。
-
-両方の本にあるプログラムは、Brian Kernighan のホームページから手に
-入れることができる (@uref{http://cm.bell-labs.com/who/bwk})。Software Tools
-Users Group という活動的なグループが長年に渡って存在し、そのメンバーが
-オリジナルの @command{ratfor} プログラムを、FORTRAN コンパイラを持っている
-ほとんどすべてのコンピュータ・システムに移植していた。だが、1980 年代の
-中頃に Unix が大学を越えて浸透し出すにつれて、グループの人気は衰えて
-行った。
-
-現在では GNU のコードをはじめ、Unix クローンのプログラムがどんどん
-作られており、上記のプログラムはほとんど関心を持たれていない。それに、
-現代の C のバージョンの方がはるかに効率がよく、できることも上記の
-プログラムよりずっと多くなっている。それでも、よいプログラミング・
-スタイルのお手本として、また、今でも価値がある考え方を熱心に説いている
-点において、この 2 冊の本は肩を並べるものがない。筆者としては、大いに
-お薦めする次第だ。
+(訳注: @cite{Software Tools} の翻訳は「ソフトウェア作法」という題で
+1981 年に出版されている。木村泉 訳、共立出版)
+
+1981 年に本は改訂され、@cite{Software Tools in Pascal}
+という形でも手に入るようになった (Addison-Wesley, ISBN 0-201-10342-7)。
+どちらの本も現在でも入手可能であり、プログラマなら、一読の価値が十分にある。
+この 2 冊の本が筆者のプログラミングに対する見方を大きく変えてくれたことに、疑いの余地はない。
+
+両方の本にあるプログラムは、Brian Kernighan のホームページから手に入れることができる
+(@uref{http://cm.bell-labs.com/who/bwk})。Software Tools Users Group
+という活動的なグループが長年に渡って存在し、そのメンバーがオリジナルの @command{ratfor}
+プログラムを、FORTRAN コンパイラを持っているほとんどすべてのコンピュータ・システムに移植していた。
+だが、1980 年代の中頃に Unix が大学を越えて浸透し出すにつれて、グループの人気は衰えて行った。
+
+現在では GNU のコードをはじめ、Unix クローンのプログラムがどんどん作られており、
+上記のプログラムはほとんど関心を持たれていない。
+それに、現代の C のバージョンの方がはるかに効率がよく、できることも上記のプログラムよりずっと多くなっている。
+それでも、よいプログラミング・スタイルのお手本として、
+また、今でも価値がある考え方を熱心に説いている点において、
+この 2 冊の本は肩を並べるものがない。筆者としては、大いにお薦めする次第だ。
 
 謝辞: ソフトウェア工具の最初の道具鍛冶である、Bell 研究所の Brian
 Kernighan 氏に、この記事を読んでチェックしてくださったことについて、
@@ -18475,74 +18727,80 @@ Kernighan 氏に、この記事を読んでチェックしてくださったこ
 @node About the translation
 @appendix 翻訳について
 
-この文書は GNU core utilities version @value{VERSION} の info マニュアルの翻訳
-である。間違いの御指摘や改良の御提案は Linux JM project 宛にメールで
-なさっていただきたい (@email{linuxjm-discuss@@lists.osdn.me})。
+この文書は GNU core utilities version @value{VERSION} の
+info マニュアルの翻訳である。間違いの御指摘や改良の御提案は
+Linux JM project 宛にメールでなさっていただきたい
+(@email{linuxjm-discuss@@lists.osdn.me})。
  
-まず最初に、coreutils の日本語版 info マニュアルの呼び出し方を簡単に
-説明する。coreutils の 日本語版 info が install-info コマンドを使って
-きちんとシステムにインストールされているならば、コマンドラインから 
-@samp{info coreutils-ja} で日本語マニュアル全体を、@samp{info chmod-ja} などで
-個々のプログラムの日本語マニュアルを呼び出すことができる。英語版を
-読むときは、今までどおり @samp{info coreutils} や @samp{info chmod} とすればよい。
-個々のコマンドについては、英語版なら @samp{info coreutils 'cp invocation'}、
-日本語版なら @samp{info coreutils-ja 'cp invocation'} といったマニュアルの
-呼び出し方もある。
-
-(注意: ご使用の coreutils のバージョンが 8.23 の場合は、info 
-マニュアルのトップレベルのメニューに、Coreutils というメニュー項目 
-(英語版 coreutils マニュアルの最初のページ) のほかに、 coreutils 
-という小文字のメニュー項目もあるので、話がもう少し複雑である。英語版 
-coreutils マニュアルの最初のページを info コマンドで開くときは、
-@samp{info Coreutils} と大文字で指定していただきたい。また、
-@samp{info coreutils 'cp invocation'} といった呼び出し方をする場合も、
-@samp{info Coreutils 'cp invocation'} などと Coreutils を大文字にする必要がある。
-バージョン 8.22 には、英語版、日本語版とも、この問題はない。)
-
-また、@samp{info} を引数なしで実行すると、info マニュアルのトップレベルの
-メニューが開く。ここで、メニュー項目にカーソルを合わせて、リターンキーを
-押せば、その項目に飛ぶ。しかし、読みたい項目をキー操作で指定する方が簡単
-である。たとえば、@kbd{m} キーを押した後 @kbd{chmod-ja} と打ち込んで、リターン
-キーを押せば、chmod コマンドの日本語版マニュアルが、@kbd{chmod} だけなら
-英語版マニュアルが表示される。
-
-@kbd{coreutils-ja}、@kbd{chmod-ja} などと @kbd{-ja} を付けるのは、@command{info} 
-プログラムを起動するときと、info のトップレベル・メニューにいるとき
-だけである。すでに日本語版 coreutils マニュアルのどれかを (それが 
+まず最初に、coreutils の日本語版 info マニュアルの呼び出し方を簡単に説明する。
+coreutils の 日本語版 info が install-info
+コマンドを使ってきちんとシステムにインストールされているならば、コマンドラインから 
+@samp{info coreutils-ja} で日本語マニュアル全体を、@samp{info chmod-ja}
+などで個々のプログラムの日本語マニュアルを呼び出すことができる。
+英語版を読むときは、今までどおり @samp{info coreutils} や @samp{info chmod}
+とすればよい。個々のコマンドについては、英語版なら
+@samp{info coreutils 'cp invocation'}、日本語版なら
+@samp{info coreutils-ja 'cp invocation'} といったマニュアルの呼び出し方もある。
+
+また、@samp{info} を引数なしで実行すると、
+info マニュアルのトップレベルのメニューが開く。
+ここで、メニュー項目にカーソルを合わせて、リターンキーを押せば、その項目に飛ぶ。
+しかし、読みたい項目をキー操作で指定する方が簡単である。たとえば、
+@kbd{m} キーを押した後 @kbd{chmod-ja}
+と打ち込んで、リターンキーを押せば、chmod コマンドの日本語版マニュアルが、
+@kbd{chmod} だけなら英語版マニュアルが表示される。
+
+@kbd{coreutils-ja}、@kbd{chmod-ja} などと
+@kbd{-ja} を付けるのは、@command{info} プログラムを起動するときと、
+info のトップレベル・メニューにいるときだけである。
+すでに日本語版 coreutils マニュアルのどれかを (それが 
 coreutils-ja であれ、dd-ja であれ) @command{info} コマンドで開いている場合は、
 @kbd{-ja} を後ろに付ける必要がなくなる。と言うより、付けてはいけない。
-coreutils-ja の先頭ページのようにコマンドのメニューが存在するページ
-では (実際には、スクロールしないと、メニューが見えないが)、たとえば、
-@kbd{m} に続けて @kbd{chmod} と打ち込み、リターンキーを押すだけで、chmod の
-日本語の説明が開く。また、日本語 coreutils マニュアルの任意のページ
-から coreutils-ja の他のノードへ直接飛ぶ場合も (ノードは、ほぼ章や節に
-相当する)、@kbd{g} キーを押してから、@kbd{chmod invocation} などとノード名を
-打ち込み、リターンキーを押せばよい。@kbd{m} の場合はタブやスペースで、
-@kbd{g} の場合はタブで、文字列の補完ができる。(たぶん coreutils-ja.info の
-パッケージには、README.ja というファイルが含まれていると思う。その
-「2.1 日本語 info マニュアルの呼び出し方」という節にもう少し詳しい
-説明を書いておいたので、ご覧になっていただきたい。)
+coreutils-ja の先頭ページのようにコマンドのメニューが存在するページでは
+(実際には、スクロールしないと、メニューが見えないが)、たとえば、
+@kbd{m} に続けて @kbd{chmod} と打ち込み、リターンキーを押すだけで、
+chmod の日本語の説明が開く。また、日本語 coreutils マニュアルの任意のページから
+coreutils-ja の他のノードへ直接飛ぶ場合も (ノードは、ほぼ章や節に相当する)、
+@kbd{g} キーを押してから、@kbd{chmod invocation} などとノード名を打ち込み、
+リターンキーを押せばよい。@kbd{m}, @kbd{g}、どちらの場合も、タブで文字列の補完ができる。
+
+info マニュアルの読み方の基本は、「メニューやクロスリファレンスにカーソルを合わせてリターンキーを押せば、その項目に飛ぶ。
+スペースで先に進み、バックスペースで後戻りする。@kbd{l} キーで直前に開いていたノードに戻る。
+@kbd{q} キーで終了する」である。たぶん coreutils-ja.info 
+のパッケージには、README.ja というファイルが含まれていると思う。
+info マニュアルの呼び出し方や使用法について、そこにもう少し詳しい説明を書いておいたので、
+ご覧になっていただきたい。
 
 ここで、日本語の info マニュアルを使用するときの問題点を挙げておく。
 
 @enumerate
 @item
-@command{info} コマンドは、日本語の行末表示が上手ではない。そのため、
-行末に余計な文字が入ることがある。そうしたときは、@kbd{C-l} を押して 
-(Ctrl と l (エル) キーを同時に押す)、画面の再描画を行っていただき
-たい。表示が正常になるはずである。Emacs の info リーダーでは、この
-問題はめったに起きない。
+@command{info} コマンドのバージョンによっては、行末の処理が上手ではない。
+そのため、行末に余計な文字が入ることがある。そうしたときは、@kbd{C-l} を押して 
+(Ctrl と l (エル) キーを同時に押す)、画面の再描画を行っていただきたい。
+表示が正常になるはずである。
+Emacs の info リーダーでは、この問題はめったに起きない。
+
+@item
+最近の @command{info} コマンド (たとえば、バージョン 6.3) 
+では、@kbd{s} や @kbd{/} による日本語の単語の検索ができるようになった。
+@kbd{C-s} による日本語のインクリメンタル検索も可能になっている。
+バージョンの古い @command{info} では、英単語による検索はできても、
+日本語の単語による検索はできないので、注意していただきたい。
 
 @item
-現在のところ、@command{info} コマンドでは、@kbd{s} や @kbd{/} で日本語の単語を検索
-できないようだ。@kbd{C-s} による日本語の検索は、単語によっては成功する
-こともあるが、''Unknown command'' で失敗することもあり、これもあまり
-頼りにならない。それに対して、Emacs の info リーダーでは、@kbd{s} でも 
-@kbd{C-s} でも日本語の検索ができる。
+X の端末エミュレータで @command{info} コマンドを使用する場合、
+端末エミュレータとフォントの組み合わせによっては、
+文字列を囲むクォートの表示がおかしくなることがある。
+フォントに「Monospace Regular」を使っているなら、
+「VL Pゴシック regular」か「Liberation Mono Regular」に変えてみるとよいかもしれない 
+(それはそれで、別の問題が出る可能性もあるが)。
+ちょっと古風だが、日本語が使える @command{xterm} 
+(@command{uxterm} など) なら、クォートの表示にまず問題はない。
 
 @item
-coreutils の info のこの翻訳では、インデックスの日本語化まで手が
-回らなかった。そのため、インデックスは英語のままである。
+coreutils の info のこの翻訳では、インデックスの日本語化まで手が回らなかった。
+そのため、インデックスは英語のままである。
 
 @item
 古めの Emacs でこの翻訳を読もうとすると、文字化けするかもしれない。
@@ -18550,45 +18808,45 @@ coreutils の info のこの翻訳では、インデックスの日本語化ま
 @end enumerate
 
 この翻訳の最初の版は、coreutils-8.20 所収の texinfo ファイルを元に、
-Linux JM project のために訳者が新たに翻訳したものだった。以下に、
-そのときの後書きをほぼそのまま載せておく。
+Linux JM project のために訳者が新たに翻訳したものだった。
+以下に、そのときの後書きをほぼそのまま載せておく。
 
 この info マニュアルの原文は、本文の「序」でも述べているように、
 各プログラムの man ページを統合し、増補・改訂したものである。この info 
-マニュアルがまとめられるにともない、公式の man ページの方はコマンドの 
-@samp{--help} オプションで見ることができるものとほぼ同文の、簡単な内容の
-ものになった。
\83\9eã\83\8bã\83¥ã\82¢ã\83«ã\81\8cã\81¾ã\81¨ã\82\81ã\82\89ã\82\8cã\82\8bã\81«ã\81¨ã\82\82ã\81ªã\81\84ã\80\81å\85¬å¼\8fã\81® man ã\83\9aã\83¼ã\82¸ã\81®æ\96¹ã\81¯ã\80\81ã\82³ã\83\9eã\83³ã\83\89ã\81® 
+@samp{--help} オプションで見ることができるものとほぼ同文の、
+簡単な内容のものになった。
 
-従来どおりの詳しい man ページを希望する人たちも存在した。そのために
-作られたのが、gnumaniak の man ページであり、従来の man ページを info 
-の情報で増補したものだったが、現在では保守されていないようだ。
+従来どおりの詳しい man ページを希望する人たちも存在した。
+そのために作られたのが、gnumaniak の man ページであり、従来の man ページを
+info の情報で増補したものだったが、現在では保守されていないようだ。
 
 作成の経緯がそうしたものなので、この info マニュアルの原文には、
-gnumaniak の man ページの原文とほとんど内容が同じものがある。翻訳作業
-に当たっては、すべての項目について gnumaniak の man ページの翻訳を
-参考にした。あちらの訳文の方がよくできている項目もある (gnumaniak の
-翻訳は @uref{http://linuxjm.osdn.jp/html/gnumaniak/man1/} にある)。
+gnumaniak の man ページの原文とほとんど内容が同じものがある。
+翻訳作業に当たっては、すべての項目について gnumaniak の
+man ページの翻訳を参考にした。あちらの訳文の方がよくできている項目もある
+(gnumaniak の翻訳は
+@uref{http://linuxjm.osdn.jp/html/gnumaniak/man1/} にある)。
 
 この翻訳は、Linux JM project の gnumaniak の翻訳に多くを負っている。
-そこで、まず、gnumaniak の翻訳者の方々 --- 中野武雄、佐藤裕一、
-白方健太郎、Kazuyuki Tanisako、Omo Kazuki の諸氏にお礼を申し上げる。
+そこで、まず、gnumaniak の翻訳者の方々 --- 中野武雄、佐藤裕一、白方健太郎、
+Kazuyuki Tanisako、Omo Kazuki の諸氏にお礼を申し上げる。
 
 訳文を見直す際には、西尾太さんが以前翻訳なさった coreutils-5.2.1 の 
-info を参考にした。また、当然ながら、新しい man ページ (こちらの
-翻訳者は、たぶん Yasuaki Taniguchi さんと Akihiro MOTOKI さん) とも、
-できるだけ突き合わせた。西尾さん、Taniguchi さん、元木さんにもお礼を
-申し上げる。
+info を参考にした。また、当然ながら、新しい man ページ
+(こちらの翻訳者は、たぶん Yasuaki Taniguchi さんと Akihiro MOTOKI さん)
+とも、できるだけ突き合わせた。西尾さん、Taniguchi さん、元木さんにもお礼を申し上げる。
 
-gnumaniak や coreutils の man や info の翻訳をなさった方で、私が
-お名前を挙げ忘れた方がいらっしゃるかもしれない。お知らせくだされば、
-追加訂正する。
+gnumaniak や coreutils の man や info の翻訳をなさった方で、
+私がお名前を挙げ忘れた方がいらっしゃるかもしれない。
+お知らせくだされば、追加訂正する。
 
-訳文には間違った箇所がたくさんあると思う。そのへんは、ご寛恕いただき
-たい。皆さんがこの訳文を叩き台にして、増補・改訂・改訳を続け、より
-新しく、よりわかりやすい、そして、より正確な coreutils の翻訳を作って
-くだされば、最初の翻訳者としてそれにまさる喜びはない。
+訳文には間違った箇所がたくさんあると思う。そのへんは、ご寛恕いただきたい。
+皆さんがこの訳文を叩き台にして、増補・改訂・改訳を続け、
+より新しく、よりわかりやすい、そして、より正確な coreutils
\81®ç¿»è¨³ã\82\92ä½\9cã\81£ã\81¦ã\81\8fã\81 ã\81\95ã\82\8cã\81°ã\80\81æ\9c\80å\88\9dã\81®ç¿»è¨³è\80\85ã\81¨ã\81\97ã\81¦ã\81\9dã\82\8cã\81«ã\81¾ã\81\95ã\82\8bå\96\9cã\81³ã\81¯ã\81ªã\81\84ã\80\82
 
-2014-10-07 訳者
+2017-03-26 訳者
 
 [翻訳履歴]
 
@@ -18604,8 +18862,16 @@ coreutils-8.22 を元に増補・改訂    by 長南洋一@*
 numfmt, ptx, tsort, chcon, runcon を翻訳
 
 @item
-2015-12-25@*
+2016-07-07@*
 numfmt の章の構成を修正。訳文の訂正と細かい変更    by 長南洋一
+
+@item
+2017-03-26@*
+coreutils-8.26 を元に増補・改訂    by 長南洋一
+
+@item
+2018-03-31@*
+訳文の訂正と変更    by 長南洋一
 @end itemize
 
 @node GNU Free Documentation License