각 폴더의 상대 경로를 인쇄해야 하는 요구 사항이 있습니다.
폴더 구조는
단일을 사용하여 이를 수행할 수 있는 방법이 있습니까?~을 위한루핑 절대 경로를 인쇄할 수 있습니다.
산출:-
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_script
find
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