端末の名前に特殊文字を含むファイルの識別

端末の名前に特殊文字を含むファイルの識別

今日は奇妙なことが起こりました。
私はパテを使って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、特殊文字を「?」と表示します。または-b8進数コードを表示します。

別のオプションはです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 <<<'{}'" \;

おそらくもっとよく建てることができると思います。教える;)

関連情報