0

Bash を使い始めたばかりで、複数のファイルの名前を簡単に変更できるものを作成しようとしています。難しいのは、単純な追加や拡張子の変更だけではないことです。

名前を付けようとしているファイルは、この形式のものです

IIS-1af24fa93f090177fe770e1213caf3a3-443.hex

このフォーマットに

1af24fa93f090177fe770e1213caf3a3

これまでのところこのようなものがありますが、エラーが返されます

for f in ./* ; do mv "$f" "$(ls /root/download_logs/ | cut -d \- -f2)" ; done

どんな助けでも大歓迎です!

ありがとう、マイク

4

1 に答える 1

2

代わりに次のようにしてみてください。

for f in IIS-*.hex; do
  newname=${f%-*}
  newname=${newname#*-}
  mv "$f" "$newname"
done
于 2013-07-10T11:10:35.727 に答える