ワイルドカードを使用した使い方の検索とコピー

ワイルドカードを使用した使い方の検索とコピー

特定のフォルダを別のフォルダにコピーしたいのですが、正確な名前はありません。

/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フォルダ内にコピーして名前を変更しないため、ターゲットディレクトリにワイルドカードを提供する必要はありません。

関連情報