sql_^d^_migration.sql パターンを使用してファイル名を一括変更します。

sql_^d^_migration.sql パターンを使用してファイル名を一括変更します。

私のUbuntuシステムには次のファイルのリストがあります。

sql_1_migration.sql 
sql_2_migration.sql
sql_3_migration.sql
...
sql_100_migration.sql 
sql_1000_migration.sql
...

名前を次のように変更する必要があります。

sql_0001_migration.sql 
sql_0002_migration.sql
sql_0003_migration.sql
...
sql_0100_migration.sql 
sql_1000_migration.sql
...

Bashでこれを行う方法を知っていますか?ご覧のとおり、04桁以外の数字を含むファイルを前に追加したいと思います。 Ubuntu GNU / Linuxオペレーティングシステムでこれを行う必要があります。

ベストアンサー1

このように:

rename -n 's/^sql_(\d+)/sprintf "sql_%.04d", $1/e' sql_*_migration.sql

-n出力が良くなったらスイッチを取り外します。

男の名前を変える

警告する これを行うこともできないかもしれない同じ名前の他のツールがあるので注意してください。

パッケージの一部である名前変更コマンドはutil-linuxそうではありません。

次のコマンドを実行すると(GNU

$ file "$(readlink -f "$(type -p rename)")"

Perl script, ASCII text executableを含めて含まない結果を得ると、ELFこれが正しいツールであるようです=)

そうでない場合は、それをデフォルト値に設定し(通常はすでに適用されている)、Debian次のように派生しますUbuntu

$ sudo apt install rename
$ sudo update-alternatives --set rename /usr/bin/file-rename

他のディストリビューションにこのコマンドがない場合は、パッケージマネージャを検索してインストールするか、手動で行う(学科がありません...)


このツールはもともとPerlの父親であるLarry Wallによって書かれました。

おすすめ記事