今日は奇妙なことが起こりました。
私はパテを使ってHPサーバーに接続し、まったく同じ名前の2つのファイルを見ました。
-rw-r--r-- 1 hemantj 3368 4月1日12:47にテスト済み
-rw-r--r-- 1 hemantj 9月20日12:47にテスト済み
同じ名前のファイルを持つことができないので、これは奇妙です。
後でFileZillaを接続したとき、
2番目のファイル名の末尾に特殊文字があることがわかりました。
私の質問:端末でファイル名の特殊文字を強調表示できますか?
私はHP-UXに接続されており、シェルはtcshとkshです。
編集する:
すべての回答に感謝します。しかし、私の考えではカモン~の解決策最もシンプルで携帯性に優れています。
みんな+1 - 答えを通してたくさん学んだ。
答え1
HP-UXを使用しているという事実は本当の問題です。 GNU ツールはほとんどの Linux ディストリビューションで利用でき、さまざまなオプションがあります。
はいls -q
、特殊文字を「?」と表示します。または-b
8進数コードを表示します。
別のオプションはですls | cat -v
。
また、find . -type f -ls
デフォルトではエスケープコードが表示されます。
これらのいくつかはHP-UXで動作するかもしれませんが、よくわかりません。
答え2
私はこれを使用します:
ls -l | less
答え3
ODを持つほど幸運なら、
ls -1 | od -xC
ls -1
改行文字で区切ってファイル名を印刷します。od -xC
各オクテットの下に認識されたASCII文字を含む16進数で入力テキストを印刷します。
1、2、3という3つのファイルの出力例:
0000000 310a 320a 330a
1 \n 2 \n 3 \n
0000006
1 と '\n2' という 2 つのファイルの出力例:
0000000 0a32 0a31 0a00
\n 2 \n 1 \n
0000005
両方のファイルには3つの改行文字があり、アルファベット順に「\ n2」は「1」の前にあります。
答え4
これは実際には強調表示されませんが、文字を識別するのに役立ちます。
# find . -type f -exec sh -c "hexdump -C <<<'{}'" \;
おそらくもっとよく建てることができると思います。教える;)