ファイルをコピーしてファイル名のタグを変更しますか?

ファイルをコピーしてファイル名のタグを変更しますか?

私は長い間プロジェクトオイラーに参加してきました。私は次の問題のために新しいフォルダを簡単に作成できるプロジェクト構造を持ち、始めるためのいくつかの定型句golanファイルを持っています。

ProjectEuler/001/001.go
ProjectEuler/001/001_test.go
ProjectEuler/002/002.go
ProjectEuler/002/002_test.go
...
ProjectEuler/new_question_stub/xxx.go
ProjectEuler/new_question_stub/xxx_test.go

新しい問題フォルダを作成するときは、次のコマンドを実行します。

ProjectEuler $ mkdir 003
ProjectEuler $ cd 003
ProjectEuler/003 $ cp ../new_question_stub/xxx.go 003.go
ProjectEuler/003 $ cp ../new_question_stub/xxx_test.go 003_test.go

「特定のディレクトリ内のすべてのファイルを現在のディレクトリにコピーしますが、トークンxxxを003に置き換えてください」と言う方法があるはずです。ワンクリックでコピーして名前を変更するコマンドである必要はありません。コピーは簡単ですが、コピー後に名前を変更するにはどうすればよいですか?

編集:私のユースケースは2つのファイルしかない非常に単純なケースですが、ファイル数に関係なくこれを行う方法を探しています。

ベストアンサー1

forループを使っても大丈夫ですか?良い

for file in ../new_question_stub/*; do cp "$file" "003${file#*xxx}"; done

おそらく、これに関数を定義したいかもしれません。

おすすめ記事