![파일의 전체 경로를 텍스트 파일로 복사](https://linux55.com/image/36796/%ED%8C%8C%EC%9D%BC%EC%9D%98%20%EC%A0%84%EC%B2%B4%20%EA%B2%BD%EB%A1%9C%EB%A5%BC%20%ED%85%8D%EC%8A%A4%ED%8A%B8%20%ED%8C%8C%EC%9D%BC%EB%A1%9C%20%EB%B3%B5%EC%82%AC.png)
디렉터리에 있는 모든 파일의 전체 경로를 가져오고 싶고 전체 경로를 텍스트 파일에 저장해야 합니다. 이 스크립트를 나에게 줄 수 있습니까?
답변1
GNU coreutils에는 realpath
각 인수의 전체 경로를 반환하는 프로그램이 포함되어 있습니다. 다음 프로그램은 현재 디렉토리에 있는 모든 파일의 전체 이름을 인쇄합니다(심볼릭 링크를 확장하지 않고 -s
반복하지 않음).
realpath -s *
쉘에 따라 숨겨진 도트 파일은 확장되지 않습니다. 이렇게 하려면 shops -s dotglob
.
답변2
다음을 사용해야 합니다 readlink
(GNU coreutils에서 사용 가능).
readlink - print resolved symbolic links or canonical file names
통사론:
readlink -f <file-name>
답변3
쉘 변수에는 PWD
현재 디렉토리의 전체 경로가 포함됩니다.
printf '%s\n'
문자열 목록을 인쇄하고 각 문자열 뒤에 줄바꿈을 추가하는 데 사용할 수 있습니다 .
printf '%s\n' "$PWD"/* >somefile.txt
와일드카드 패턴에는 *
도트 파일(이름이 로 시작하는 파일)이 포함되지 않습니다 .
. 도트 파일을 사용할 수 있는 경우 이를 사용할 수 있습니다 printf '%s\n' "$PWD"/.* "$PWD"/* >somefile.txt
. 여기에는 및 도 나열되어 .
있습니다 ..
.