Dirsplit로 파이프하는 것이 가능합니까?

Dirsplit로 파이프하는 것이 가능합니까?

나는 다음 작업을 수행하는 "Linux 방식"을 찾으려고 노력하고 있습니다. 나는 각각 다양한 파일 형식의 여러 파일을 포함하는 여러 개의 하위 디렉터리가 있는 디렉터리를 가지고 있습니다. 찾기 명령을 사용하여 쉽게 범위를 좁힐 수 있습니다.

find . -name "*.jpg"

그러면 .jpg로 끝나는 모든 파일 목록이 반환됩니다. 추가적으로(별도로) dirsplit 명령을 사용하여 디렉터리를 각각 100MB의 파일 그룹으로 분할할 수 있습니다.

dirsplit --size 100MB -m --expmode 1 .

이제 두 가지 질문이 있습니다. 먼저, dirsplit이 "find" 명령의 출력에만 작동하도록 이 두 명령을 결합하고 싶습니다. 즉, 모든 것을 재정렬하는 것이 아니라 해당 JPG만 재정렬합니다. Dirsplit로 파이프하는 것이 가능합니까?

두 번째 문제는 "-m" 플래그입니다. 여기서 볼 수 있습니다.https://manned.org/dirsplit/15f31c9a그러면 dirsplit이 실제로 파일을 원하는 폴더로 이동하게 됩니다. 제 질문은 이동보다는 복사가 가능한지 여부입니다. 즉, 파일을 현재 위치에 유지하되 100개 그룹으로 추가 복사본을 만드는 것입니다.

어떤 아이디어가 있나요?

답변1

dirsplit -Hfind와 함께 사용하는 예를 포함하여 명령에 대한 자세한 정보가 제공됩니다.

find . -name "*.jpg" -printf "%s %p" | dirsplit -T- --size 100MB --expmode 1 -L

-T-" 형식의 표준 입력에서 파일 목록을 읽습니다.파일 이름 파일 크기"

-L하드 링크 생성(복사 옵션이 없는 것 같습니다)

관련 정보