特定のフォルダを別のフォルダにコピーしたいのですが、正確な名前はありません。
/volume1/User/save/01/**-**** ?/GROUPES **-****/
**-****
毎回変更される数値参照ですが、常に同じ形式(例:75-1234)であり、?
単語(Lion Tiger Shark) - > /75-1234 Lion Tiger/
Sharkです。
/GROUPES **-****/
コピーしたいです。/volume1/User/01/
私の最後の試みは
find /volume1/User/save/01/**-**** ?/ -iname "GROUPES **-*****" -exec cp -r /volume1/User/save/01/
そしてそれは(明らかに?)動作しません。
答え1
@Jonasが指摘したように、?
1文字に一致するにはaが必要*
です。複数の文字に一致するにはaが必要です。空白文字をエスケープする必要があります\
。
最初のパターンを空白文字**-**** ?
に変更してエスケープした後、コマンドは次のようになります。??-????\ *
cp -r /volume1/User/save/01/??-????\ */GROUPES\ ??-????/ /volume1/User/save/01/
答え2
コピーは次のことを行います。
cp SOURCE DESTINATION
グループから別のフォルダにディレクトリ(-rまたは再帰的に使用されることを意味)をコピーしようとしているので、次のようにします。 (*ではなく?をワイルドカード文字として使用する必要があります。アスタリスクは複数の文字を表すためです。アスタリスクは許可されています)
cp -r /full/path/to/GROUPES' '??-????/ /volume1/User/save/01/
01フォルダ内にコピーして名前を変更しないため、ターゲットディレクトリにワイルドカードを提供する必要はありません。