2015-01-12 2 views
0

My C 프로그램이 출력 파일 out.txt를 작성합니다.파일 덤프에 평행 한 파일의 md5sum 작성

나는 그것의 md5sum을 만들어야한다.

나는 명령이 md5sum out.txt > md5sum.txt이라는 것을 안다.

내가 원하는 것은 전체 out.txt를 작성한 다음 md5sum out.txt을 작성하는 것이 아닙니다.

두 작업이 병렬로 실행되기를 원합니다. 파일을 덤프하는 동안 Md5sum을 만들어야합니다. 그래서 나는 약간의 시간을 절약 할 수 있습니다.

뭔가 같은

./program > out.txt & 
md5sum out.txt > md5sum.txt & 
wait 

이 할 수있는 유효한 방법이 있나요? 도와주세요.

답변

1

./program | md5sum> md5sum.txt

이것은 당신을 위해 작동합니다 :).

A | B에서 두 프로세스는 이미 병렬로 실행됩니다.

2

파일의 체크섬 만 원하는 경우 파이프 라인을 사용할 수 있습니다.
like ./program | md5sum> md5sum.txt
그러나 이렇게하면 출력 파일이 느슨해집니다. 다음 구문을 사용할 수 있습니다.
./program | 티> out.txt | md5sum이> md5sum.txt
이것은 파일 out.txt 을 만들고 또한 md5sum이 출력이 md5sum.txt 그것은이다

+0

로 이동을 계산합니다'out.txt' 티없는'티> out.txt' –

+0

' tee out.txt' 파일이 존재하지 않는다는 오류를줍니다. 깨진 파이프 오류 –

+0

RTFM [tee (1)] (http://man7.org/linux/man-pages/man1/tee.1.html); 'tee> out.txt'의 사용법은'cat> out.txt'와 같습니다. –

관련 문제