"mv"ファイルのinode番号名が壊れていますか?

ファイル名にはエンコードの問題がいくつかあります(ドイツ語のウムラウト、WindowsからCDに書き込み、Windowsで読み込み、Seafileを使用してLinuxと同期します。何か間違っています...)。 Bashとzshはウムラウトの代わりに「?」だけを表示します。stat表示は似ています。

$ stat Erg�nzung.doc 
File: ‘Erg\344nzung.doc’
Size: 2609152         Blocks: 5096       IO Block: 4096   regular file
Device: 806h/2054d      Inode: 12321475    Links: 1

オートコンプリートでのみファイル名を入力できます。このファイルの名前はどのように変更できますか? LibreOffice(または他のファイル形式用の他のプログラム)は、影響を受けるファイルを読み取れないように見え、「ファイルやデバイスがありません」と文句を言います。

私も考えてみましたが、スイッチがmv --by-inode 12321475 Ergänzung.docありませんでした。また何ができますか?--by-inodemv

ベストアンサー1

あなたは試すことができます:

find . -inum 12321475 -exec mv {} new-filename \;

または

find . -inum 12321475 -print0 | xargs -0 mv -t new-filename

通常、私はexecよりもxargsを好みます。 Googleなぜですか?しかし、トリッキーです。バラよりxargsを使って-exec +を見つけます。どちらを選択しますか?

おすすめ記事