フォルダセットのファイル名から「-」の後のすべての文字を削除する方法

フォルダセットのファイル名から「-」の後のすべての文字を削除する方法

バッチの名前を変更するフォルダが400個を超えています。すべてのフォルダ名は「-」で終わり、その後に文字列が続きます。フォルダ名の末尾の「-」と「-」の後のすべての文字を削除したいと思います。

例:

~/Dubdilla Location Fix-4672010158-2463235/到着~/Dubdilla Location Fix/

試してみましたがrename -a 's/[-].*//' *[-]*、エラーは返されませんが、コマンドは「動作」しているようですが、フォルダ名は変更されません。

答え1

そしてzsh

autoload -Uz zmv

(あなたはこれをあなたのものに追加したいかもしれません~/.zshrc)それから:

zmv -n '*-*(#q/)' '${f%%-*}'

または再帰的に:

zmv -n '(**/)(*-*)(#q/)' '$1${2%%-*}'

満足すれば削除-n(テスト実行)します。

隠しディレクトリは触れないことに注意してください(D qこれに修飾子を追加できます)。

関連情報