Linuxコマンド convmv(ファイル名の文字コードを変換する)
ファイル名のエンコーディングを変換するconvmvコマンドの概要と使い方を記載しています。
RHEL Fedora CentOS Vine Deblan Ubuntu Plamo
概要・使用方法
ファイル名のエンコーディングを変換する (ファイル内容ではなく、ファイル名のエンコーディングである)。特にWindowsで作成されたファイルやディレクトリをLinuxで見れるようにする用途になります。
書式
$convmv [オプション] ファイル名・・・ | ディレクトリ名オプション
| -f 文字コード | 変換元ファイル名の文字コードを指定する | 
| -t 文字コード | 変換元ファイル名の文字コードを指定する | 
| -i | 変換に対し、対話的に確認する | 
| -r | ディレクトリを再帰的に処理する | 
| –exec コマンド | 実行するコマンドを指定する。#1を変換元ファイル、#2を変換先ファイル名を指定できる「”echo convert from #1 to #2″」などを指定するとメッセージを変更できる | 
| –list | 扱える文字コードをリスト表示する | 
| –notest | このオプションをつけないと実際に変換しない | 
| –replace | 既にファイルがある場合、上書きする | 
| –upper | 大文字に変換する | 
| –lower | 小文字に変換する | 
【基本使用例】
ファイルを圧縮する
$convmv -f utf8 -t shift_jis *.txt小文字ファイル名を大文字ファイル名に変換する
ファイル名がすべて大文字に変換される。
サンプル
$convmv --upper Dmesg.txt実行結果
[centos@work ~]$ convmv --upper --notest Dmesg.txt
mv "./Dmesg.txt"        "./DMESG.TXT"
Ready!
[centos@work ~]$ ls
dir1  DMESG.TXT  dmesg.zip  src  work
[centos@work ~]$ 大文字ファイル名を小文字ファイル名に変換する
ファイル名がすべて小文字に変換される。
サンプル
$convmv --lower --notest DMESG.TXT 実行結果
[centos@work ~]$ convmv --lower --notest DMESG.TXT 
mv "./DMESG.TXT"        "./dmesg.txt"
Ready!
[centos@work ~]$ ls
dir1  dmesg.txt  dmesg.zip  src  work
[centos@work ~]$