와일드카드를 사용하여 사용법 찾기 및 복사

와일드카드를 사용하여 사용법 찾기 및 복사

특정 폴더를 다른 폴더로 복사하고 싶은데 정확한 이름이 없습니다.

/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가 지적했듯이 ?한 문자와 일치하려면 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 폴더 내부에 복사하고 이름을 변경하지 않으므로 대상 디렉터리에 와일드카드를 제공할 필요가 없습니다.

관련 정보