파일 이름과 소스 디렉터리 정보를 제공하는 새 파일을 만드는 방법

파일 이름과 소스 디렉터리 정보를 제공하는 새 파일을 만드는 방법

많은 하위 디렉터리와 파일이 포함된 디렉터리가 있습니다. 각 파일 이름과 소스 디렉터리 경로에 대한 정보를 제공하는 파일을 만들고 싶습니다.

예를 들어:

Sample1 및 Sample2 하위 디렉터리가 포함된 Sample이라는 폴더가 있습니다.

예제 1 디렉터리에는 가 있고 ex1.csv예제 2 디렉터리에는 가 있습니다.ex2.csvex3.csvex4.csv

다음과 같은 방법으로 정보를 제공하는 텍스트 파일(또는) CSV 파일을 만들어야 합니다.

ex1.csv,sample/sample1
ex2.csv,sample/sample1
ex3.csv,sample/sample2

누군가가 UNIX에서 스크립트 파일을 만드는 데 도움을 줄 수 있다면 좋을 것입니다.

나는 시도했다:$ find sample -type f -printf '%f,%h\n'

저는 Solaris를 사용하고 있기 때문에 printf추가 유틸리티를 설치할 수 없으며 권한도 없습니다.

답변1

이것이 귀하의 Solaris와 호환되기를 바랍니다. SunOS 5.10 및 bash 4.3.26에서 테스트했습니다.

find . | while read f; do
    if [ ! -d "$f" ]; then
        echo $(basename "$f"),$(dirname "$f")
    fi
done

이것은 단지 파일 이름을 분할하는 데 basename및 를 사용합니다.dirname

$ find test | while read f; do if [ ! -d "$f" ]; then echo $(basename "$f"),$(dirname "$f"); fi; done
ex4,test/sample2
ex3,test/sample2
ex2,test/sample1
ex1,test/sample1

관련 정보