폴더의 모든 하위 디렉터리를 반복하시겠습니까?

폴더의 모든 하위 디렉터리를 반복하시겠습니까?

각 폴더의 상대 경로를 인쇄해야 하는 요구 사항이 있습니다.

폴더 구조는

여기에 이미지 설명을 입력하세요.

단일을 사용하여 이를 수행할 수 있는 방법이 있습니까?~을 위한루핑 절대 경로를 인쇄할 수 있습니다.

산출:-

image_script
image_script/artifactory
image_script/artifactory/charts
image_script/artifactory/charts/postgressql
image_script/artifactory/charts/postgressql/templates
image_script/artifactory/templates

미리 감사드립니다! ! ! !

답변1

당신은 시도 할 수 있습니다

find `pwd` -type d

또는 pwd를 폴더의 절대 경로로 바꾸십시오.

답변2

최상위 디렉토리에서 image_script모든 디렉토리의 경로 이름을 얻으 려면 다음을 수행하십시오.

find image_script -type d

image_script여기에는 디렉터리 자체가 포함됩니다 .

얻기 위해순수한경로 이름, 즉 로 시작하는 경로 이름은 /명령줄에서 디렉터리의 전체 경로를 지정합니다.image_scriptfind

find images_script -depth -type d깊이 우선 순서로 경로 이름을 가져오는 데 사용됩니다 .

그리고 bash:

shopt -s globstar
printf '%s\n' image_script/**/

경로 이름을 일치 시키는 데 쉘 globstar옵션을 사용할 수 있습니다 . 그러면 뒤에 오는 경로가 포함된 모든 디렉토리 경로 이름이 출력됩니다 . 이를 방지하려면:**//

shopt -s globstar
for pathname in image_script/**/; do
    printf '%s\n' "${pathname%/}"
done

답변3

당신은 그것을 사용할 수 있습니다나무그것을 위해.

$ tree -d -f -i /path/to/root_folder

-d목차만 인쇄하세요.

-f전체 경로를 앞에 추가합니다.

-i들여쓰기 라인을 인쇄하지 않는 데 사용됩니다.

지느러미 수영 선수

답변4

루프를 사용하는 것이 for최선의 선택이 아닐 수도 있습니다 find. 다음을 사용하는 것이 좋습니다.

cd /PATH/TO/image_script/..
find image_script -type d

절대 경로가 필요한 경우 사용할 수 있습니다

find /PATH/TO/image_script -type d

관련 정보