複数のファイルの接頭辞を一括で置き換える方法は?
私は次のような多くのファイルを持っています
- TestSRConnectionContext.h
- TestSRConnectionContext.m
私はそれらをすべてに変えたい
- CLConnectionContext.h
- CLConnectionContext.m
どうすればいいですか?
ベストアンサー1
rename
最も簡単な方法は、多くのLinuxディストリビューションで一般的に使用されるコマンドを使用することです。このコマンドには2つの一般的なバージョンがあるので、そのマニュアルページで使用されているバージョンを確認してください。
## rename from Perl (default in Debian systems -- Ubuntu, Mint, ...)
rename 's/^TestSR/CL/' TestSR*
## rename from util-linux-ng (common in Fedora systems, Red Hat, CentOS, ...)
rename TestSR CL TestSR*
TestSR*
シェルワイルドカードを使用すると、少数のファイル名を渡し、問題が発生するリスクを減らす*
ことができます。rename
パラメータリストが長すぎます。-
エラー、そしてさらに重要なことは、で始まるファイル名が現在の作業ディレクトリに存在するときに発生する問題を回避することです。これはperl
、.command.com ベースの特定の亜種にとって特に重要です。rename
そうしないと、コマンド注入の脆弱性が発生するためです。