현재 디렉토리의 파일을 나열하지 않고 디렉토리의 파일 나열

현재 디렉토리의 파일을 나열하지 않고 디렉토리의 파일 나열

*.txt내 디렉토리에 파일이 있다고 가정해 보겠습니다 txtpath=/path/to/txt/.

.*.txt$txtpath$txtpathls *.txt $txtpath

*.txt$txtpath다음 명령을 사용하여 파일을 나열 했습니다 .find $txtpath -name '*.txt' | sed 's/\// /g' | grep -o '[^ ]*$'

하지만 더 우아한 해결책이 있을까요?

답변1

패턴과 함께 전체 경로를 지정하십시오.

ls -d -- "${txtpath}"/*.txt

사실에도 불구하고체크리스트이는 쉘 글로빙에 의해 수행되며 ls궁극적으로 쉘에서 수신된 매개변수만 인쇄됩니다. printf여기에서 사용할 수도 있습니다 .

printf '%s\n' "${txtpath}"/*.txt

txt디렉터리에 (일치하지 않는 전역 명령을 억제하지 않는 쉘에서) 숨기지 않은 파일이 없는 한 동일한 결과를 제공합니다.

관련 정보