?ファイルの末尾に「ls」を使用してファイルをリストします。

?ファイルの末尾に「ls」を使用してファイルをリストします。

「ls」コマンドを使用してファイルを一覧表示すると、次のメッセージが表示されます。

-rw-rw-r-- 1 vineesh vineesh   2026 Nov 28 15:48 cdfg_ulit_89.txt?
-rw-rw-r-- 1 vineesh vineesh   1215 Nov 28 15:48 cdfg_ulit_8.txt?
-rw-rw-r-- 1 vineesh vineesh   1209 Nov 28 15:48 cdfg_ulit_90.txt?
-rw-rw-r-- 1 vineesh vineesh   3820 Nov 28 15:48 cdfg_ulit_9.txt?

どういう意味ですか?

答え1

出力が端末装置に到達すると、ほとんどの実装はオプションが渡されたかのlsように動作します。-q

印刷できないすべての文字を次のようにレンダリングするには-q、を使用します。ls?

ここで印刷できない文字は、おそらくキャリッジリターン(CRとも呼ばれる\r)です。たとえば、ファイル名のリストがありますが、busyboxとは異なり、実装はGNUに似ていますxargs touch < file.txtfile.txtxargsxargsxargs

文字通りの文字でも、文字の後にスペースやその他の見えない文字が続くこと?もあります(ただし、?印刷可能)数値。

どの文字であるかを確認するには、その出力をLC_ALL=C sed -n l

ls -l | LC_ALL=C sed -n l

これにより、出力はlsパイプ(したがってもはやターミナルデバイスではありません)になり、アクティブになりません-q。印刷できない文字はそのまま出力されます。 CR文字やその他の印刷できない文字は、適切な印刷可能な表現を使用してsed -n lレンダリングされます\r。また、$末尾の空白文字を見つけるために行末に追加されます。

GNU実装では、次のオプションもlsあります。--quoting-style=<STYLE>

LC_ALL=C ls --quoting-style=shell-escape -l

または

LC_ALL=C ls -Ql

不足:

LC_ALL=C ls --quoting-style=c -l

関連情報