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

特定のファイル拡張子を持つファイルを再帰的にコピーする方法

Linuxでは、コマンド「 cp ‘、‘コピーの基準 ‘は、ファイルとフォルダを別のフォルダにコピーするために使用されます。 Linuxでは、 GNU Coreutilsの一部としてデフォルトで利用できます。 ツールのセット。

cpコマンドの最も基本的な使用法 コピーするファイルを引数として指定し、ターゲットフォルダを最後の引数として指定します。

$ cp file1 file2 file3... fileN target_folder/

特定のファイル拡張子を持つファイルをコピーする

同じファイル拡張子のファイルをコピーすることもできます(例:.txt.jpg.mp4 )以下に示すように、ワイルドカード文字を一緒に使用します:

$ cp *.jpg *.mp4 *.mp3 media/

これにより、すべての JPEGがコピーされます 画像、 MP3、 およびMP4 マルチメディアファイルを「メディア」フォルダに保存します ‘。これはファイルにのみ使用できることに注意してください。上記の形式でフォルダをコピーしようとすると、フォルダが「空ではありません」であるという警告がスローされます。 ‘。

フォルダをコピーするには、'-r'を指定する必要があります (再帰的 ) 国旗。再帰とは、そのフォルダー内のすべてのファイル、サブフォルダー内のファイルなどがすべてコピーされることを意味します。

$ cp -r folder1/ folder2/ file1 file2 target_folder/

ただし、「cp」内に方法はありません 特定の拡張子のファイルを再帰的にコピーします。 '-r'のときはいつでも が指定されている場合、プログラムは常にサブフォルダー内のすべてのファイルをコピー対象と見なします。

ファイル拡張子の付いたファイルを検索してコピーする

これを実現するには、findコマンドを使用します。このコマンドは、ファイル名、拡張子、サイズなどのファイルまたはフォルダーのパラメーターに基づいて、Linuxでファイルおよびフォルダーを検索するために使用されます。

検索コマンドを使用します 特定のファイル拡張子を持つファイルを再帰的に検索し、この出力を cpに渡します。 それらをコピーするコマンド。

findコマンドを使用して特定の拡張子のファイルを検索する構文 は:

$ find <folder_to_search> -name ‘*.<extension>

たとえば、現在のフォルダ内のすべてのJPGファイルを再帰的に検索するには:

$ find . -name '*.jpg'

最後に、この出力をcpコマンドにパイプする必要があります 。これを行うには、「xargs」を使用します 「cp」を作成するコマンド 「検索」の出力を検討してください その引数として。また、'-t'を使用します cpのフラグ 、ターゲットディレクトリを指定します。これがないと、プログラムは「検索」の出力を考慮します。 ターゲットディレクトリとして。

$ find . -name '*.jpg' | xargs cp -t Pictures2/

したがって、拡張子'.jpg'のすべてのファイル フォルダ「Pictures2」にコピーされました 。

結論

この記事では、Linuxで特定の拡張子を持つファイルを再帰的にコピーする方法を学びました。この方法は、少数のファイルを処理する場合に役立つことに注意してください。膨大な数のファイル(たとえば、数万)の場合、ファイルを再帰的にコピーするには、別のアプローチを使用する必要があります。

ご質問やご意見がございましたら、下のコメント欄でお知らせください。


Linux
  1. Inotifywaitを使用して、特定の拡張子のファイルを作成するためのディレクトリを監視する方法は?

  2. Linuxコマンドラインで特定の拡張子を持つファイルを削除する方法

  3. ディレクトリ内のファイル サイズがゼロ (0) バイトのすべてのファイルを再帰的に検索する方法

  1. ファイルを含むフォルダーを Unix/Linux の別のフォルダーにコピーするにはどうすればよいですか?

  2. 特定の拡張子を持つファイルを再帰的に見つける

  3. ドットで始まる名前のファイルをコピーするにはどうすればよいですか?

  1. ファイル拡張子でファイルを再帰的にコピーする方法は??

  2. 特定の拡張子を持つファイルを非表示にする方法は?

  3. ディレクトリ構造を維持しながら、ファイル拡張子でファイルを再帰的にコピーするにはどうすればよいですか?