2017-10-09 18 views
0

私は操作のためにコマンドラインを使用するのが初めてです。この質問が明白であれば私を許してください。私は、特定のタイプ(.aiff)のすべてのファイルを、多くのサブディレクトリを含む1つのディレクトリから移動したいと考えています。ファイル構造は次のようになります。端末内の複数のディレクトリにファイルをコピーする

directory 
- subdir1 
    -- sound.aiff 
    -- other.txt 
- subdir2 
    -- sound2.aiff 
    -- other2.txt 

私はcp -R /Users/me/directory/*.aiff /Users/me/newdirectoryのようなものを使用してみましたが、私は「そのようなファイルやディレクトリはありません」というエラーが表示されます。サブディレクトリにコピーするファイルを.aiffファイルにする必要があることを指定する方法がわかりません。

cp -R /Users/me/directory/*/*.aiff /Users/me/newdirectory 

しかし、おそらく先/Users/me/newdirectoryが欠落している:

答えて

2

はこれを試してみてください。あなたが実行してこれを確認でき

mkdir /Users/me/newdirectory 

:でディレクトリを作成し

Users/me/newdirectory: cannot open `/Users/me/newdirectory' (No such file or directory) 

:ディレクトリが存在しない場合は

file /Users/me/newdirectory 

のようなエラーが出力されます次に、ファイルを再度コピーしてください。移動する場合はの代わりにmvを使用してください

もう一つの方法は、例えば、コマンドfindを使用することです。この例では

find /Users/me/directory -type f -iname "*.aiff" -exec mv {} /Users/me/newdirectory \; 

、コマンドfind-type fのみファイルのディレクトリ/Users/me/directory/内で検索しようとしていることをエンド(大文字小文字を区別しない)でファイルごとに*.aiffが見つかると、コマンドmv exec mv {} /Users/me/newdirectoryが実行されます。 {}はプレースホルダです。あなただけの希望の種類を見つけることによってコマンドをテストすることができ移動する前に

find . -iname "*.aiff" 

これは、代わりに/Users/me/directory/

.に気づく、コマンドが実行されているディレクトリ内のファイルを検索します
関連する問題