私はファイルのセットを持っています、それらのすべてnnn.MP4.mov
。どうすればそれらの名前を変更して、それだけにすることができnnn.mov
ますか?
10 に答える
まず、次のようにドライランを実行します(実際にはファイルの名前を変更しません)。
for file in *.mov
do
echo mv "$file" "${file/MP4./}"
done
すべて正常に見える場合はecho
、3行目からを削除して、実際にファイルの名前を変更します。
私はAutomatorをうまく使用しました(初めて気になりました)、そしてそれは本当にうまく機能します。自動化をサービスとして保存しました。何かを簡単に再利用できるようにするのに約10秒かかりました。
- Automatorを開きます。
- ドキュメントの種類として、「サービス」を選択します。
- 変更サービスは、選択した「テキスト」を「ファイルとフォルダ」に受け取ります。
- 「任意のアプリケーション」を単なるFinderに変更することを検討してください。
- サイドバーから[ファイルとフォルダー]([ライブラリ]の下)を選択し、リストされたアクションから中央の列の[Finderアイテムの名前を変更]を右側にドラッグし、[アクションまたはファイルをここにドラッグしてワークフローを構築します]内にドロップします。 「」
- 追加したアクションを「日付または時刻の追加」から「順次作成」に変更します。
- アクションの下部にある[オプション]をクリックし、[ワークフローの実行時にこのアクションを表示する]オプションをオンにします。
- 「CMD+S」を押して、「テキストの置換」のようなものとしてサービスを保存します。
- 終わり!
これで、Finderで任意の選択項目を右クリックし、[サービス]メニューに移動して[テキストの置換]を選択し、テキストを変更または置換する方法を入力し、[続行]をクリックして構成済みの変更を適用できます。
操作をテスト印刷するには:
for file in *.MP4.mov; do j=`echo $file | cut -d . -f 1`;j=$j".mov";echo mv \"$file\" \"$j\"; done
それを機能させるには:
for file in *.MP4.mov; do j=`echo $file | cut -d . -f 1`;j=$j".mov";mv "$file" "$j"; done
rename
Mac OSXでは、 Homebrewを介してコマンドをインストールできます。brew install rename
次に、コマンドラインでそのフォルダーからfind/replaceを使用して名前を変更できます。
rename 's/\.MP4\././' *
を使用して、より多くのオプションを表示することもできますman rename
。
for n in *.MP4.mov
do
mv $n $(echo $n | sed -e 's/.MP4//')
done
これは、パラメーター置換がない本当に古いシェルでも機能し、少なくとも私の目には少し読みやすくなっています。
for i in `ls *png`;do echo mv $i "${i%%.*}"@xx."${i##*.}";done
vimvでは、Vimのテキスト編集機能を使用して複数のファイルの名前を変更できます。
vimvと入力すると、すべてのファイルを一覧表示するVimウィンドウが開き、パターンマッチング、視覚的選択などを実行して名前を編集できます。Vimを終了すると、ファイルの名前が変更されます。
[免責事項:私はツールの作成者です]
ls -1 *.MP4.mov | while read f; do mv -i "$f" "$(basename \"$f\" .MP4.mov)"; done
編集:完全に書き直されました。
for i in *;
do j=`echo $i | cut -d . -f 1`;
j=$j".mov";
mv $i $j;
done
これにより、最初のドットの前のすべてがカットされ、.movが追加されます
ただし、hi.2.movやhi.1.movなどのファイルは上書きされるため、慎重に使用してください^^