68

私はファイルのセットを持っています、それらのすべてnnn.MP4.mov。どうすればそれらの名前を変更して、それだけにすることができnnn.movますか?

4

10 に答える 10

97

まず、次のようにドライランを実行します(実際にはファイルの名前を変更しません)。

for file in *.mov
do
  echo mv "$file" "${file/MP4./}"
done

すべて正常に見える場合はecho、3行目からを削除して、実際にファイルの名前を変更します。

于 2011-03-22T16:16:11.250 に答える
35

私はAutomatorをうまく使用しました(初めて気になりました)、そしてそれは本当にうまく機能します。自動化をサービスとして保存しました。何かを簡単に再利用できるようにするのに約10秒かかりました。

  1. Automatorを開きます。
  2. ドキュメントの種類として、「サービス」を選択します。
  3. 変更サービスは、選択した「テキスト」を「ファイルとフォルダ」に受け取ります。
  4. 「任意のアプリケーション」を単なるFinderに変更することを検討してください。
  5. サイドバーから[ファイルとフォルダー]([ライブラリ]の下)を選択し、リストされたアクションから中央の列の[Finderアイテムの名前を変更]を右側にドラッグし、[アクションまたはファイルをここにドラッグしてワークフローを構築します]内にドロップします。 「」
  6. 追加したアクションを「日付または時刻の追加」から「順次作成」に変更します。
  7. アクションの下部にある[オプション]をクリックし、[ワークフローの実行時にこのアクションを表示する]オプションをオンにします。
  8. 「CMD+S」を押して、「テキストの置換」のようなものとしてサービスを保存します。
  9. 終わり!

これで、Finderで任意の選択項目を右クリックし、[サービス]メニューに移動して[テキストの置換]を選択し、テキストを変更または置換する方法を入力し、[続行]をクリックして構成済みの変更を適用できます。

于 2012-02-28T07:01:32.663 に答える
12

操作をテスト印刷するには:

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
于 2013-04-24T20:48:26.457 に答える
12

renameMac OSXでは、 Homebrewを介してコマンドをインストールできます。brew install rename

次に、コマンドラインでそのフォルダーからfind/replaceを使用して名前を変更できます。

rename 's/\.MP4\././' *

を使用して、より多くのオプションを表示することもできますman rename

于 2016-08-04T15:02:52.677 に答える
11
for n in *.MP4.mov
do
   mv $n $(echo $n | sed -e 's/.MP4//')
done

これは、パラメーター置換がない本当に古いシェルでも機能し、少なくとも私の目には少し読みやすくなっています。

于 2013-10-01T02:08:41.733 に答える
4
于 2018-05-21T06:19:42.583 に答える
1
for i in `ls *png`;do echo mv $i "${i%%.*}"@xx."${i##*.}";done
于 2013-08-13T12:29:14.330 に答える
1

vimvでは、Vimのテキスト編集機能を使用して複数のファイルの名前を変更できます。

vimvと入力すると、すべてのファイルを一覧表示するVimウィンドウが開き、パターンマッチング、視覚的選択などを実行して名前を編集できます。Vimを終了すると、ファイルの名前が変更されます。

[免責事項:私はツールの作成者です]

于 2017-08-13T04:43:21.793 に答える
0
ls -1 *.MP4.mov | while read f; do mv -i "$f" "$(basename \"$f\" .MP4.mov)"; done

編集:完全に書き直されました。

于 2011-03-22T16:02:35.973 に答える
0
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などのファイルは上書きされるため、慎重に使用してください^^

于 2011-03-22T16:13:33.513 に答える