전에도 비슷한 질문을 했는데 하위 디렉터리에만 해당되는 질문이었습니다.하위 디렉터리의 파일을 csv 파일에 쓰고 Linux 명령줄의 상위 디렉터리에 저장합니다.. 5개의 하위 디렉터리(sub1, sub2, ..sub5)가 있는 "dir"이라는 디렉터리가 있습니다. 각 하위 디렉터리에는 많은 파일이 있습니다. 모든 하위 디렉터리의 파일 목록을 CSV 파일에 작성하고 Linux의 명령줄을 사용하여 "dir" 디렉터리에 저장하고 싶습니다. 내 코드는 파일 이름(name1, name2 등)만 원하지만 전체 파일 이름을 경로(./sub1/name1, ./sub1/name2 등)로 기록한다는 점을 제외하면 바로 그 작업을 수행합니다. dir 폴더에서 사용하는 명령줄은 다음과 같습니다.
dir$ find . -type f > names.csv
답변1
질문에 "Linux"라는 태그를 지정했으므로 GNU가 있다고 가정합니다 find
.
find . -type f -printf '%f\n' > names.csv
에서 man find
:
%f File's name with any leading directories removed (only the last element).
답변2
dir$ find . -type f -execdir basename {} \; > names.csv
설명하다
-execdir
각 결과에 대해 다음 명령을 실행합니다.basename {} \;
final 이전 부분을 삭제합니다/
.{}
발견된 각 디렉토리를 대체합니다. 자세한 내용은 을 참조하세요man find
.