正規表現を使用して多数のファイル名を変更するには?

正規表現を使用して多数のファイル名を変更するには?

Mac OS X(10.7.2)で多くのファイルの名前を変更したいです。renameこのコマンドのPerlパッケージはありません。

私のファイル名は「T452-102456-0.png」と同じで、「-0」部分を削除したいと思います。私は自分のphp-cliスクリプトを書くことでこれを行うことができることを知っていますが、より簡単で迅速な解決策を知りたいです。

ベストアンサー1

BashまたはKshを組み合わせることでmvこの問題を解決できます。

for f in *.png; do mv -n "$f" "${f/-0}"; done

ファイル名の最初のダッシュの後に「0」があり、「-0」が常にドットの前にある場合は、式にもドットを含めることができます。

for f in *.png; do mv -n "$f" "${f/-0./.}"; done

しかし、名前変更ルールは簡単なので、次renameのように始めるとユーティリティLinuxパッケージでは、次のようにすることもできます。

rename '-0.' '.' *.png

おすすめ記事