임의의 문자열을 포함하는 경로 와일드카드가 있는 mv 명령

임의의 문자열을 포함하는 경로 와일드카드가 있는 mv 명령

미리 알 수 없는 임의의 문자열이 포함된 경로로 파일을 이동하려고 합니다.~/.config/foldername/45fhiu84.dev-edition/subfolder/

나는 열심히 노력했다

mv ~/Downloads/myfile.txt ~/.config/foldername/*.dev-edition/subfolder/myfile.txt

또한

mv ~/Downloads/myfile.txt ~/".config/foldername/"*".dev-edition/subfolder/myfile.txt"

답변1

Stephen Kitt가 지적했듯이 다음은 일치하는 디렉터리가 0개 또는 1개 있는 경우에만 올바르게 작동합니다. 더 많은 것이 있으면 전역은 모든 항목과 일치하며 결국 파일을 이동하고마지막 디렉토리를 제외한 모든 디렉토리마지막으로 일치하는 디렉터리를 입력하세요. 주의 깊은.


쉘이 별표(또는 물음표)를 발견하면 표현식과 일치하는 경로를 찾으려고 시도합니다. 경로 끝에 "myfile.txt"를 포함시켰기 때문에 쉘은 이를 찾고 찾을 수 없으면 일치가 실패합니다.

따라서 파일을 해당 디렉토리로 이동하려면 다음을 사용하십시오.

mv ~/Downloads/myfile.txt ~/.config/foldername/*.dev-edition/subfolder/

(즉, 파일 이름을 생략합니다.)

파일을 이동하고 싶다면그리고이름 변경은 두 단계로 수행됩니다.

mv ~/Downloads/myfile.txt ~/Downloads/newname.txt
mv ~/Downloads/newname.txt ~/.config/foldername/*.dev-edition/subfolder/

답변2

또 다른 방법...

mv ~/Downloads/myfile.txt $(echo ~/.config/foldername/*.dev-edition/subfolder/)myfile.txt

감사해요! =디

관련 정보