절대 경로에서 정규식을 사용하려고 합니다. 예를 들어
mkdir /root/.mozilla/firefox/*.default/test
.default로 끝나는 폴더 이름은 동적으로 생성되지만 항상 .default로 끝납니다. *.default를 시도했지만 작동하지 않습니다.
절대 경로에 정규식을 사용할 수 있나요?
답변1
mkdir /root/.mozilla/firefox/*.default/test
test
디렉토리가 아직 존재하지 않으면 이는 어떤 것과도 일치하지 않습니다(따라서 mkdir
별표가 있는 경로가 표시되고 오류가 발생할 수 있거나 설정에 따라 쉘이 실패한 glob으로 다른 작업을 수행합니다).
기존 디렉터리를 일치시키고 그 안에 다른 디렉터리를 만들려면 다음을 수행해야 합니다.
(cd /root/.mozilla/firefox/*.default/ && mkdir test)
또는
for d in /root/.mozilla/firefox/*.default/ ; do
mkdir "$d"/test
done
첫 번째는 glob이 하나의 디렉토리에만 일치한다고 가정합니다. 더 많은 경우 결과는 셸 및 해당 버전에 따라 달라집니다. 두 번째는 test
glob과 일치하는 모든 디렉터리에 디렉터리를 생성해야 합니다.
답변2
내가 옳다면 다음 명령으로 이를 수행할 수 있습니다.
mkdir "$(ls -d /root/.mozilla/firefox/*.default)"/test