$ rename 's/./ /g' *
$ ls -l
total 6832616
-rw-r--r-- 1 jboo jboo 0 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 43361681 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 47499946 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 55881060 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 90555631 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 39386207 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 147367671 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 64708219 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 74487434 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 102734315 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 63437787 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 102899063 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 158347478 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 79617708 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 70734588 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 74811527 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 116806547 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 142705146 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 525401910 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 84534720 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 91861219 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 333548107 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 83682222 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 142117082 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 361824861 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 168574047 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 69705069 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 57178994 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 185741017 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 228484548 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 268336818 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 178709785 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 201254796 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 461899931 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 302733730 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 135959214 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 175477963 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 120373878 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 82542816 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 212611146 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 206069847 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 246377910 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 266923675 Sep 28 01:44
-rw-r--r-- 1 jboo jboo 329243380 Sep 28 01:44
ご覧のとおり、ファイルはまだ存在しますが、今は見えません。誰もが名前を変更する方法を知っていますか?
答え1
コメントから推測できるように、すべてのファイル名は空白です。実際には、このプロセスで一部のファイルが失われる可能性があります。
最初のオプションはバックアップを見ることです。ファイルが失われた可能性があるため、バックアップはそのファイルの実際のソリューションです。利用可能なファイルの最新バージョンがある可能性があるため、すべてを上書きしないでください。 Kamil を使用してrename 's/ /n/g' *
新しいファイル名を比較します。ちなみに文字数だけ見ることができます!
バックアップがない場合は、次のステップはコマンドですfile
。 (おそらく)どのような種類のファイルがあるかを教えてくれます。その後、正しいビューアを使用してファイルの内容を表示する問題があります。実際の名前を再作成する必要があります。
しかし、私が知っている限り、この操作は「元に戻す」ことはできません。
答え2
正確な答えではありませんが、もし役に立つかと思って長文の文のように上げます。
私のシェルではこの動作を確認できませんが、rename
シェルとディストリビューションは異なる場合があります。空白を含むファイル名を変更し、見える文字でファイル名を変更したとします。コメントでもあなたがmlocate db
。
グローバル評価はアルファベット順にこれは、実行時にrename *
ファイル名の長さが同じファイルとa
ファイルに対してb
最終b
ファイルが記録されa
失われることを意味します。
これで、上書きされたファイルではなくディレクトリを部分的に復元できますが、残っているファイルの名前を変更することができます。おそらく、これはより良いビューを得るのに役立ちます。
ファイルに名前のリストがあるとしましょう。
> cat files.txt
a
b
c
file1
file2
some_lucky_file
ファイル名の長さでソートし、アルファベット順にソートし、最後に重複エントリを削除して、ファイル名の長さごとに生存者を残すことができます。
awk '{print length($0), $0}' files.txt | sort -nk1 -rk2 | awk '!seen[$1]++'
15 some_lucky_file
5 file2
1 c
既存のファイルでなければなりません。この時点で、名前が変更されたファイルと並べて一覧表示してスキャンできます。たぶんあなたはすでにこれをやっているかもしれません。頑張ってください。