GNU/Linux >> Linux の 問題 >  >> Linux

Linux で複数のファイルを見つけて名前を変更する

再帰的に名前を変更するには、次のコマンドを使用します:

find -iname \*.* | rename -v "s/ /-/g"

find を使用できます 一致するすべてのファイルを再帰的に見つけるには:

$ find . -iname "*dbg*" -exec rename _dbg.txt .txt '{}' \;

編集:'{}'\;

-exec 引数は find を実行します rename 見つかったすべての一致するファイルに対して。 '{}' ファイルのパス名に置き換えられます。最後のトークン、\; exec 式の終わりをマークするためだけにあるのですか?

すべてのことは、find のマニュアル ページにうまく説明されています:

 -exec utility [argument ...] ;
         True if the program named utility returns a zero value as its
         exit status.  Optional arguments may be passed to the utility.
         The expression must be terminated by a semicolon (``;'').  If you
         invoke find from a shell you may need to quote the semicolon if
         the shell would otherwise treat it as a control operator.  If the
         string ``{}'' appears anywhere in the utility name or the argu-
         ments it is replaced by the pathname of the current file.
         Utility will be executed from the directory from which find was
         executed.  Utility and arguments are not subject to the further
         expansion of shell patterns and constructs.

Linux
  1. Linuxで最大のファイルとディレクトリを探す

  2. Linuxで一度に複数のファイルの名前を変更する方法

  3. Linux:複数のファイルのファイル拡張子を削除する

  1. Linuxですべてのファイルとディレクトリ名を小文字に変更

  2. プロのようにLinuxでファイルとディレクトリを探す

  3. ファイルを検索して tar (スペースを含む)

  1. Linuxでファイルを見つける方法

  2. Linuxでのコマンドの検索(ファイルとディレクトリの検索)

  3. 検索を使用して複数のファイルの名前を変更するにはどうすればよいですか?