備忘。
Linux上でファイル名が文字化けしていて、そのファイル名を修正したい場合のtipsです。
CentOS 7.5で動作を確認しています。
結論から言うと、ファイルのi-node番号を指定してファイル名を変更します。
以下、カレントディレクトリ直下にある、文字化けしたファイル名を修正する例です。
1. 対象ファイルのi-node番号を確認します。この場合、「808579982」がi-node番号です。
$ ls -inum *.xlsx 808579982 ?g???t?B?b?N?f?[?????_201808.xlsx
2. findコマンドでi-node番号を指定して、一つだけになるか確認します。
$ find . -inum 808579982 ./?g???t?B?b?N?f?[?????_201808.xlsx
3. findコマンドに「-ok」オプションを付与し、さらにmvコマンドに渡すように指定します。
実行文の最後には「\;」(バックスラッシュとセミコロン)を付与します。
これがないと「-ok に引数がありません」とエラーが出ます。
実行後、mvの実行に対してユーザ確認が出力されるので、実施して良いなら「y」を入力してEnterキーを押してください。
$ find . -inum 808579982 -ok mv {} data_201808.xlsx \; < mv ... ./?g???t?B?b?N?f?[?????_201808.xlsx > ? y …OKなら、「y」を入力する。 $ $ ls data_201808.xlsx
そもそもは、文字化けするようなファイルを置かないでください、って言うのがあるのですけどね。