回答編集履歴
1
コメントを受けて追記
answer
CHANGED
@@ -9,4 +9,15 @@
|
|
9
9
|
end
|
10
10
|
```
|
11
11
|
カレントディレクトリの`#`を含むファイルを処理します。UTF16では2バイト長の文字しかない前提。
|
12
|
-
リネーム処理自体はコメントにしてあるので、確認後アンコメントしてください。
|
12
|
+
リネーム処理自体はコメントにしてあるので、確認後アンコメントしてください。
|
13
|
+
|
14
|
+
#追記
|
15
|
+
高級言語を使わないと難しいですね。上のコードは、`#691c#8a3c`というようなファイル名だけでなく`#691c#8a3c.txt`のように16進表記以外の部分もあるかも知れない前提で書きましたが、それが無くて、`#691c#8a3c`というような16進表記部分しか無いのであれば、こんな感じで。
|
16
|
+
```Bash
|
17
|
+
for file in \#*
|
18
|
+
do x=$(echo "$file" | sed 's/#(..)(..)/\x\1\x\2/g')
|
19
|
+
newfile=$(printf "$x" | iconv -f utf-16BE -t utf-8)
|
20
|
+
echo rename "$file" to "$newfile"
|
21
|
+
# mv "$file" "$newfile"
|
22
|
+
done
|
23
|
+
```
|