名前の変更が必要なファイルがたくさんありますが、コマンドラインだけでスクリプトを作成したくありません。
.
と.gif
の間の最後の数字を削除する必要があります。
22771786_01.204.gif
22771786_02.203.gif
22771786_03.10.gif
22771786_04.56.gif
このようにするには:
22771786_01.gif
22771786_02.gif
22771786_03.gif
22771786_04.gif
これを実現するには、forループとbash拡張を使用します。ファイルを含むディレクトリに既にいる場合:
for f in ./*; do mv "$f" "${f%.*.gif}.gif" ; done
ファイルを含むディレクトリの名前が/ home/gifstore /の場合:
for f in /home/gifstore/*; do mv "$f" "${f%.*.gif}.gif" ; done
${f...}
は、f
という名前の変数に保存した各ファイル名の展開を実行します。ファイル名の展開の%
は、変数の末尾から次のパターンの最短一致を削除することを意味します。パターンは.*.gif
です。これは、.
と.gif
の間の任意の量の文字を意味します。最後に、リテラル文字列.gif
を展開の外側に追加して新しいファイル名を作成し、mv
コマンドに依存してファイルを移動します。
これは、.
で始まる隠しファイルでは機能しません。
私は個人的に ranger をこれらのタイプのものに使うことを楽しんでいます。ナビゲーションなどにVimキーバインドを使用するため、vimに慣れていない場合は、混乱/困難になる可能性があります。ただし、すでにVimに精通している場合は、簡単な作業です。
ステップ1
ranger
をインストールします。 Vimプラグイン としてインストールするか、 website から.tar.gzファイルをダウンロードするだけです。
ステップ2
レンジャーを実行し、名前を変更するファイルがあるディレクトリに移動します。すべての.gifを1つのディレクトリに置くことをお勧めします。名前を変更するファイル以外のファイルがないことを確認してください。
ステップ3
v
を押して、すべてのファイルを選択します
ステップ4
:bulkrename
と入力し、Enter
を押します
ステップ5
Vimマクロを使用して、必要な変更を記録します。したがって、例として、ファイルの最初の行から開始した場合、次のコマンドを使用します。
q a
(これは「a」という名前のマクロを開始します)
0
、f.
、de
(行の先頭にカーソルを移動し、最初の「。」を見つけてから、gifの前の2番目の「。」の前の最後の文字まで削除します)
q
(マクロの記録を停止する)
ステップ6
2行目に移動し、カーソルを行の先頭(j
、0
)に移動し、:2,$norm! @a
と入力します
これにより、作成したばかりのマクロ( "a"という名前)が2行目からファイルの最後まで実行されます。
ステップ7
:wq
で保存して終了してから、:wq
でもう一度変更を確認します。
すべてがうまくいけば、すべてのファイルの名前を変更する必要があります。以前にVimを使用したことがない場合は、ファイルの名前を変更するだけでVimを学ぶ必要がないように、別の回答を使用することをお勧めします。 Vimを使用することを好みます。これは、一括名前変更の際にこれが私の選択方法です。