
너무 많은 하위 디렉터리와 파일이 포함된 디렉터리가 있습니다. 각 파일 이름과 소스 디렉터리 경로 정보를 제공하는 파일을 만들고 싶습니다.
예를 들어:
- 샘플1 및 샘플2 하위 디렉터리가 포함된 폴더 이름 샘플이 있습니다.
- 샘플 1에는 ex1.csv, ex2.csv가 있고 샘플 2 디렉터리에는 ex3.csv, ex4.csv가 있습니다.
다음과 같은 방식으로 정보를 제공하는 텍스트 파일(또는) csv 파일을 만들어야 합니다.
ex1.csv,샘플/샘플1
ex2.csv,샘플/샘플1
ex3.csv,샘플/샘플2
누군가가 유닉스에서 스크립트 파일을 생성하도록 도와준다면 좋을 것입니다.
미리 감사드립니다
답변1
다음과 같은 구조가 주어지면
$ tree sample
sample
├── sample1
│ ├── ex1.csv
│ └── ex2.csv
└── sample2
├── ex3.csv
└── ex4.csv
2 directories, 4 files
당신이 사용할 수있는
$ find sample -type f -printf '%f,%h\n'
ex2.csv,sample/sample1
ex1.csv,sample/sample1
ex3.csv,sample/sample2
ex4.csv,sample/sample2
에서 man find
관련 -printf
형식 지정자는 다음과 같습니다.
%f File's name with any leading directories removed (only
the last element).
%h Leading directories of file's name (all but the last ele‐
ment). If the file name contains no slashes (since it is
in the current directory) the %h specifier expands to
".".
결과를 파일로 원하면 연산자를 사용하여 명령 출력을 리디렉션하면 됩니다 >
.
find sample -type f -printf '%f,%h\n' > filelist