Unix 명령으로 디렉터리 경로 나열

Unix 명령으로 디렉터리 경로 나열

.txt 파일이 포함된 모든 디렉터리 경로를 나열해야 합니다.

예를 들어: /geek/ user/ temp.txt 경로가 있습니다. 출력으로 /geek/user 경로를 가져와야 합니다. 누구든지 조언해 주세요.

답변1

Windows의 경우 명령 프롬프트(cmd)에서 위치를 지정한 후(CD)을 루트 폴더로 이동합니다.

for /r %a in (.) do @if exist "%~fa\*.txt" echo %~fa

또는 .위의 경로를 루트 폴더 경로로 바꾸세요.

Linux의 경우 가능한 두 가지 명령은 다음과 같습니다.

find . -type f -name '*.txt' | sed -r 's|/[^/]+$||' | sort -u
find . -type f -name '*.txt' -printf '%h\n' | sort -u

MacOS의 경우:

find . -type f -name '*.txt' | sed -E 's|/[^/]+$||' | sort -u

관련 정보