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 ~]$