2016-07-29 2 views
1

> 500kb 이상의 파일을 분할하려고합니다. 이 처음에 나는 "./filename"을 반환하는 모든 파일들을 나열하기 위해 find를 사용한다. 그리고 나서 나의 요구 사항에 따라 파일을 나누는 또 다른 명령을 작성한다. split -b 500k -d -a 4 filename filename. 여기서 filename은 첫 번째 명령의 출력이다. 이제 누군가가 두 가지를 결합하여 첫 번째 출력이 두 번째 명령의 입력이되도록 할 수 있습니까?특정 디렉토리에서 500kb보다 큰 파일 분할

답변

2

한 라이너는 어떻습니까?

find . -maxdepth 1 -name '*' -size +500k -exec 'split' '-b' '500k' '-d' '-a' '4' '{}' '{}' ';' 
+0

감사합니다. 그것은 작동합니다. –

+1

도움이 된 것을 기쁘게 생각합니다. – e4c5

1

당신은 이것에 대한 process substitution를 사용할 수 있습니다

입니다
while IFS= read file 
do 
    split -b 500k -d -a 4 "$file" "$file" 
done < <(find . -maxdepth 1 -name '*.log' -size +500k) 

다음 while 루프가 find 출력에 의해 공급됩니다.

관련 문제