「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.txt
。file.txt
xargs
xargs
xargs
文字通りの文字でも、文字の後にスペースやその他の見えない文字が続くこと?
もあります(ただし、?
印刷可能)数値。
どの文字であるかを確認するには、その出力を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