ls --dired -l
すべてのディレクトリとファイルをいくつかの数字で印刷します。
//DIRED// ***66 69 122 131 ....***
//DIRED-OPTIONS// --quoting-style=literal
この太字はどういう意味ですか?
--dired
ディレクトリを操作するためのEmacsオプションですが、ここでは数字を理解できません。
答え1
の出力はls -D
Emacsで解析する必要があります。方向モード。
‘-D’ ‘--dired’
longlist(
-l
)形式を使用して、デフォルトの出力の後に1行を印刷します。//DIRED// beg1 end1 beg2 end2 …
これスタートそしてエンデン出力内の各ファイル名の先頭と末尾のバイト位置を記録する符号なし整数。これにより、Emacsは名前に奇妙な文字(スペースや改行など)が含まれていても、複雑な検索なしで簡単に名前を見つけることができます。
ディレクトリを再帰的に一覧表示する場合(
-R
)各サブディレクトリ名のオフセットとともに、次の行を出力します。//SUBDIRED// beg1 end1 …
最後に、次の形式の行を出力します。
//DIRED-OPTIONS// --quoting-style=word
ここで、wordは引用スタイルです(ファイル名の書式設定を参照)。
実際の例は次のとおりです。
$ mkdir -p a/sub/deeper a/sub2 $ touch a/f1 a/f2 $ touch a/sub/deeper/file $ ls -gloRF --dired a a: total 8 -rw-r--r-- 1 0 Jun 10 12:27 f1 -rw-r--r-- 1 0 Jun 10 12:27 f2 drwxr-xr-x 3 4096 Jun 10 12:27 sub/ drwxr-xr-x 2 4096 Jun 10 12:27 sub2/ a/sub: total 4 drwxr-xr-x 2 4096 Jun 10 12:27 deeper/ a/sub/deeper: total 0 -rw-r--r-- 1 0 Jun 10 12:27 file a/sub2: total 0 //DIRED// 48 50 84 86 120 123 158 162 217 223 282 286 //SUBDIRED// 2 3 167 172 228 240 290 296 //DIRED-OPTIONS// --quoting-style=literal
上記の「//DIRED//」行のオフセットペアは、f1、f2、sub、sub2、deep、fileなどの名前を区別します。 '//SUBDIRED//'行のオフセットは、次のディレクトリ名を区別します。
a
、、、、、 。a/sub
a/sub/deeper
a/sub2
deeper
以下は、オフセット222と228の対に対応する第5の項目の名前を抽出する方法の例である。$ ls -gloRF --dired a > out $ dd bs=1 skip=222 count=6 < out 2>/dev/null; echo deeper
上記のリストには項目の末尾のスラッシュが含まれていますが、
deeper
オフセットは末尾のスラッシュなしで名前を選択します。ただし、ls
(aka)などのオプションを使用して呼び出し--dired
て名前に特殊文字を含むファイルで作業している場合は、バックスラッシュが含まれていることに注意してください。--escape
-b
$ touch 'a b' $ ls -blog --dired 'a b' -rw-r--r-- 1 0 Jun 10 12:28 a\ b //DIRED// 30 34 //DIRED-OPTIONS// --quoting-style=escape
引用符を追加する引用スタイル(例
--quoting-style=c
:)を使用する場合、オフセットには引用符が含まれます。したがって、ユーザーは環境変数で引用スタイルを選択できることに注意してくださいQUOTING_STYLE
。したがって、アプリケーションを使用するには、--dired
コマンドラインで明示的なオプション(またはと--quoting-style=literal
も呼ばれる)を指定するか、エスケープされた名前を解析する準備をする必要があります。-N
--literal
数値は出力内のファイル名の場所です。
begnとendnは、出力内の各ファイル名の先頭と末尾のバイト位置を記録する符号なし整数です。
答え2
-D、--dired
Emacs用に設計された出力を生成する方向モード。