1. ホーム
  2. bash

[解決済み] Bashでファイル名を一括変更する

2022-10-05 14:43:09

質問

Bash はどのようにして一連のパッケージの名前を変更し、バージョン番号を削除することができますか。私はこれまで expr%% を使用することができますが、無駄です。

例を挙げます。

Xft2-2.1.13.pkgXft2.pkg

jasper-1.900.1.pkg になる jasper.pkg

xorg-libXrandr-1.2.3.pkg になる xorg-libXrandr.pkg

どのように解決するのですか?

bashのパラメータ展開機能を利用するとよいでしょう。

for i in ./*.pkg ; do mv "$i" "${i/-[0-9.]*.pkg/.pkg}" ; done

スペースを含むファイル名には引用符が必要です。