他のAndroidプロジェクトの画像ファイルを現在のプロジェクトにコピーすると、いくつかの不快感があります。
nice_little_icon.png
Project1ディレクトリの下の各ディレクトリ、、およびdrawable-ldpi
ファイルをdrawable-mdpi
呼び出すとします。drawable-hdpi
drawable-xhdpi
drawable-xxhdpi
res
res
これで、単一のLinux / Unixコマンドを使用してこのファイルをproject2のディレクトリにコピーすることができますか?
だから私の最終結果は
Project1/../res/drawable-ldpi/nice_little_icon.png -> Project2/../res/drawable-ldpi/nice_little_icon.png
Project1/../res/drawable-mdpi/nice_little_icon.png -> Project2/../res/drawable-mdpi/nice_little_icon.png
Project1/../res/drawable-hdpi/nice_little_icon.png -> Project2/../res/drawable-mdpi/nice_little_icon.png
Project1/../res/drawable-xhdpi/nice_little_icon.png -> Project2/../res/drawable-xhdpi/nice_little_icon.png
Project1/../res/drawable-xxhdpi/nice_little_icon.png -> Project2/../res/drawable-xxhdpi/nice_little_icon.png
ベストアンサー1
あなたはそれを使用することができますrsync
。
rsync -avzh -n --include='*/' --include='*nice_little_icon.png' --exclude='*' Project1/../res/ Project2/../res/
これは呼び出されたファイルのみnice_little_icon.png
からコピーされ、ファイルの親ディレクトリ(など)がない場合はその下に作成されます。Project1/../res/*
Project2/../res/
drawable-ldpi
drawable-ldpi
Project2/../res/
rsync
コマンドを説明してください。
-avzh
:-a
基本的に「タイムスタンプ、権限、その他いくつかを繰り返し保存します」を意味し、冗長性を意味し、-v
転送-z
時にファイルを圧縮するという意味(実際には必要ではありませんが、とにかく使用したい)-h
は人が読める読み取りモードでの印刷を意味します。 。-n
:試運転を示します。したがって、このコマンドを実行しても何も起こりません。実際にコマンドを実行するには、それを削除する必要があります。--include='*/' --include='*nice_little_icon.png' --exclude='*'
rsync
:デフォルトでは、次に終わるファイルだけをコピーし、nice_little_icon.png
残りはすべて除外することを意味します。Project1/../res/
:ソースディレクトリ。/
最後に非常に重要なのは、「何でもコピーする」という意味です。下にres/
'。ディレクトリを削除すると、/
物理ディレクトリがターゲットにコピーされますが、res
これは望ましくありません。Project2/../res/
:ターゲットディレクトリ。
上記のコマンドを実行すると、実行するアクション(つまり、コピーするディレクトリとファイル)が表示されます。
./ ドローアブル-hdpi/ drawable-hdpi/nice_little_icon.png ドローアブル-mdpi/ drawable-mdpi/nice_little_icon.png ...
これは次のようになります(つまり、親ディレクトリ、ファイルのみnice_little_icon.png
)。よかったら-n
実際に操作を実行し、ファイルをコピーするようにコマンドから削除します。。