bugfix> rename > 投稿

フォルダのリストがあります video_0001 video_0002 video_0003 ..。 それらすべての名前を次のように変更するにはどうすればよいですか 0001 0002 0003 ...?私は試した

mv video_{0001..0003} {0001..0003} しかし、それは機能しません

回答 3 件
  • あなたはでそれを行うことができます for 各ファイルの7番目の文字から開始して(カウントは0から始まることを忘れないでください)、各ファイルの最後の4文字を保存してループします。

    for f in video_*; do mv $f ${f:6:4}; done
    
    

  • インストール rename 沿って

    sudo apt install rename
    
    

    実行します

    rename s/video_// *
    
    

  • 完全を期すために:

    mmv (パッケージから mmv ):

    mmv -n 'video_*' '#1'
    
    

    zsh そして zmv

    zsh
     autoload zmv
     zmv -n 'video_(*)' '$1'
    
    

    上記の両方で、 -n それが正しいことをしていることに満足したら。

    よりポータブルなシェルループ:

       for f in video_*; do echo mv "$f" "${f#*_}"; done
    
    

    を削除します echo 同様に。ご了承ください #*_ 最短のプレフィックスを削除します。次のような最長のプレフィックスを削除したい状況では my_long_video_1234 への変更 ##*_

あなたの答え