GNU를 사용하여 lz4를 병렬로 사용하여 현재 디렉터리의 모든 파일을 압축하는 방법은 무엇입니까?

GNU를 사용하여 lz4를 병렬로 사용하여 현재 디렉터리의 모든 파일을 압축하는 방법은 무엇입니까?

GNU를 사용하여 lz4를 병렬로 사용하여 현재 디렉터리의 모든 파일을 압축하는 방법은 무엇입니까?

시도했지만 .why ls | parallel lz4로 출력됩니다 . stdout어떻게 고치나요?

답변1

여러 입력 파일을 사용하는 옵션 -m(자동 출력 파일 이름을 의미)

ls | parallel lz4 -m

답변2

그런데 stdout왜 . 어떻게 고치나요?

대답은 매뉴얼 페이지에 있습니다.
왜 출력됩니까 stdout?

  •   When  no  destination is specified, result is sent on implicit output, which depends on stdout status. When stdout is Not the
       console, it becomes the implicit output. Otherwise, if stdout is the console, the implicit output is filename.lz4.

이 특별한 경우( parallelrunning lz4) stdout는 콘솔이 아닙니다(참조:강철 드라이버답변여기); 또한 출력을 확인하면 다음과 같은 경고가 포함됩니다.

Warning : using stdout as default output. Do not rely on this behavior: use explicit `-c` instead !

수정 방법(맨 페이지의 다음 단락):

   •   It is considered bad practice to rely on implicit output in scripts. because the script's environment may change. Always  use
       explicit  output in scripts. -c ensures that output will be stdout. Conversely, providing a destination name, or using -m en‐
       sures that the output will be either the specified name, or filename.lz4 respectively.

따라서 올바른 방법은 대상 이름을 제공하는 것입니다.

parallel lz4 {} {}.lz4 ::: ./*

또는 -m스위치를 사용하십시오(결과는 동일하지만 덜 장황함).

parallel lz4 -m ::: ./*

관련 정보