4
特殊文字を含むファイルの一括名前変更(または正しく表示)
このファイルのように、特殊文字を含むファイルを含む多数のディレクトリとサブディレクトリがあります。 robbie@phil:~$ ls test�sktest.txt test?sktest.txt Findはエスケープシーケンスを明らかにします: robbie@phil:~$ find test�sktest.txt -ls 424512 4000 -rwxr--r-x 1 robbie robbie 4091743 Jan 26 00:34 test\323sktest.txt コンソールで名前を入力できる唯一の理由は、タブ補完のためです。これはまた、それらの名前を手動で変更できることを意味します(そして特殊文字を削除します)。 LC_ALLをUTF-8に設定しましたが、これは役に立たないようです(また、新しいシェルではありません): robbie@phil:~$ echo $LC_ALL en_US.UTF-8 Macのsshを使用してマシンに接続しています。Ubuntuのインストールです。 robbie@phil:~$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=7.10 DISTRIB_CODENAME=gutsy DISTRIB_DESCRIPTION="Ubuntu 7.10" シェルはBashで、TERMはxterm-colorに設定されています。 これらのファイルはかなり前から存在しており、Ubuntuのインストールを使用して作成されていません。そのため、システムエンコーディング設定が以前は何であったかはわかりません。 私は次のラインに沿って物事を試しました: find . -type f -ls | sed 's/[^a-zA-Z0-9]//g' しかし、私は私が望むすべてを行うソリューションを見つけることができません: 表示できない文字を含むすべてのファイルを識別します(上記はあまりにも多くの方法を無視します) ディレクトリツリー内のすべてのファイルに対して(再帰的に)、mv …