検索と名前変更を使用して複数のファイルの名前を変更する方法

検索と名前変更を使用して複数のファイルの名前を変更する方法

すべてのファイルから.hsをインポートしたいと思います。このコマンドが正しく機能しないのはなぜですか?同じ名前のファイルが残ります。

find . -type f -exec rename .hs ' ' * \;

ベストアンサー1

変える:

find . -type f -exec rename .hs ' ' * \;

そして:

find . -type f -exec rename .hs '' {} \;

コマンドで-execファイル名を指定する場所は、でマークする必要があります{}

.hsまた、空白に置き換える代わりに削除したいようで、一重引用符の間のスペースを削除しました。

文書

man findこのオプションの説明を含めてください-exec

- 注文を実行する。
コマンドを実行します。状態 0 が返されると true です。 findの次の引数は、次の引数が;見つかるまでコマンドの引数として扱われます。この文字列は、{} コマンド引数に表示される現在処理中のファイルの名前に置き換えられます。、findの一部のバージョンと同様に、単独で使用する引数だけではありません。\シェル拡張から保護するために、両方の設定をエスケープまたは引用する必要があるかもしれません。 -exec オプションの使用例については、「例」セクションを参照してください。一致するファイルごとに指定されたコマンドが一度実行されます。このコマンドは起動ディレクトリで実行されます。 -execジョブを使用すると回避できないセキュリティ上の問題があるため、この-execdir オプションを使用する必要があります。 [強調する。 ]

おすすめ記事