最後の2つのファイルの名前をどのように変更できますか?

最後の2つのファイルの名前をどのように変更できますか?

「バックスペース文字」の名前を指定するために正しい用語を使用しなかった場合は申し訳ありません。

名前にバックスペースがあるように見える2つのファイルを含むディレクトリを整理したいと思います。ディレクトリを一覧表示すると、次のようになります。

ls -la

わかりました:

-rwxrwxrwx    1 guy guy        729 Jun 26 2007  z_regular.mk
-rwxrwxrwx    1 guy guy          1 Sep  7 2016
-rwxrwxrwx    1 guy guy       3220 Sep 27 2

誤って「バックスペース文字」を使ってファイル名を入力したため、名前が表示されなくなったようです。

最後の2つのファイルの名前をどのように変更できますか?

私はそれらを何と呼ぶべきかわかりません。ファイル名を16進数または他の形式で表示するオプションはありますかls?コマンドで最新のファイル名をどのように使用できますかmv?私はAIX Unix TLS v6を使用しています。

編集する:

これらのファイルはdelそれぞれ2文字と4文字です。

ls -lb

与えられた

-rwxrwxrwx    1 guy guy          1 Sep  7 2016   \177\177
-rwxrwxrwx    1 guy guy       3220 Sep 27 2      \177\177\177\177\177

しかし、解決策を見つけました名前のないファイルを削除する方法AIXの状況では機能しません。

これまで、私は成功せずに次のことを試しました。

l>ls -l $'\0177\0177'
$\0177\0177 not found
l>ls -l '\0177\0177'
\0177\0177 not found
l>ls -l '\177\177'
\177\177 not found

答え1

構文(ksh93では、現在、、、、FreeBSDを$'\ooo'含むほとんどの最新のBourne様シェルにあります)zshbashmkshsh基準echo(Cおよび他のほとんどの言語と同様に)8進エスケープとは反対の構文です。したがって、\次に最大3つの8進数が続くことがあります$'\177'$'\0177'それは次のようになります$'\017'7。だから:

ls -ld $'\177\177'
mv $'\177\177' better-name

\177別名^?ASCIIDEL文字は次のとおりです。いいえバックスペース^H///BS文字\10

答え2

提案された重複項目の一番下で解決策が見つかりました。

  1. ノード番号の識別

    ls -lbi
    
    25553  -rwxrwxrwx    1 guy guy          1 Sep  7 2016   \177\177
    25559  -rwxrwxrwx    1 guy guy       3220 Sep 27 2      \177\177\177\177\177
    
  2. その後、次から戻るときに移動できますfind

    find . -inum 25553  |xargs -I{} mv {} recovered.x
    find . -inum 25559  |xargs -I{} mv {} recovered.y
    

関連情報