다른 디렉터리의 여러 파일을 수동으로 처리해야 하는 특정 문제에 직면했습니다. 선택한 파일의 대상 폴더를 동적으로 생성할 수 있는지 알고 싶습니다.
답변1
이를 수행하는 스크립트는 다음과 같습니다.POSIX 쉘에서는 생각만큼 간단하지 않습니다., 하지만 bash에서는 쉽습니다.
#!/bin/bash
mkdir -p "${@: -1}" || exit 1
mv "$@"
Bash-ism을 사용하여 마지막 인수를 얻습니다 mkdir
. mkdir에는 -p
전체 디렉토리 체인을 생성하는 옵션이 있으므로 "dir/subdir"을 생성하려고 하면 작동합니다.
답변2
중복 가능성mv가 존재하지 않는 경우 이동할 디렉토리를 생성하도록 하는 방법이 있습니까?.
Bash 스크립트와 별칭을 사용하여 이에 대한 "새 명령"을 만들 수 있습니다.
cmv.sh
#!/bin/bash
mkdir --parents "$2"; mv "$1" "$_"
그리고 ~/.bashrc
다음 줄을 추가하세요:
alias cmv="/path/to/cmv.sh"
그런 다음 다음과 같이 사용할 수 있습니다.
~# cmv **/*.zip destination
그러면 목적지가 생성됩니다.