Linux-コマンドrenameの名前変更
1952 ワード
名前の変更といえば、私と同じLinux初心者の多くが考えているのは
これはPerl式で、ファイル名はその中で変更されるべきで、Perlを学んだことがなくても大丈夫で、このコマンドの使う文法はsedに似ていて、使いやすいです.
名前変更が必要なファイル
最も命令を把握しやすい方法は、試してみることです.次に、いくつかの例を見てみましょう.
ファイル拡張子の削除
たとえば、ファイル拡張子
ファイル名のスペースを削除
ファイル名を小文字に変換
ここでは
グループ化の使用
現在、ファイルの山があります.彼らのファイル名パターンはこのような
グループについて知らないと、正規表現を補うことができます.
mv
だと思います.簡単な名前の変更はもちろんmv
で十分ですが、複雑な名前の変更(例えば、正則的な名前の変更)にはもっと使いやすいツールが必要です.それはrename
です.使用法
$ rename [options] [perlexpr] [files]
options
-v
-n ,
-f ,
-e code, -e, code
perlexpr
これはPerl式で、ファイル名はその中で変更されるべきで、Perlを学んだことがなくても大丈夫で、このコマンドの使う文法はsedに似ていて、使いやすいです.
files
名前変更が必要なファイル
例
最も命令を把握しやすい方法は、試してみることです.次に、いくつかの例を見てみましょう.
ファイル拡張子の削除
たとえば、ファイル拡張子
.bak
のファイル拡張子を削除したい場合は、$ rename 's/\.bak$//' *.bak
*.bak
はワイルドカードでshellによって各ファイル名に展開されますファイル名のスペースを削除
$ rename 's/ //g' *
g
はglobalの意味で、すべてのスペースを空白文字に置き換えます(つまり削除しました)ファイル名を小文字に変換
$ rename 'y/A-Z/a-z/' *
ここでは
y
という意味で使われていますが、前後の2つの文字セットが対応していて、前の文字セット(A-Z)の中の文字に出会ったら、後ろの文字セット(a-z)の中の対応する文字に変えます.グループ化の使用
現在、ファイルの山があります.彼らのファイル名パターンはこのような
-haha- .file
です.現在、中間の-haha-
を削除し、第1の部分の文字列と第2の部分の文字列を調整します.$ rename 's/(.*)-haha-(.*)(.file)/$2$1$3/' *.file
グループについて知らないと、正規表現を補うことができます.