파이프에서 여러 파일을 수신하고 다른 대상에 쓰기

파이프에서 여러 파일을 수신하고 다른 대상에 쓰기

로컬에서 다음 명령을 사용합니다.

  nc localhost 3440 | tar -x -O > ores.tgz

서버로부터 파일을 받으면 내 비밀번호와 함께 ores.tgz에 기록됩니다.

그러나 서버에서 여러 파일을 받으면 마지막으로 받은 파일만 파일에 저장되는 것처럼 보이며 이전 파일을 덮어쓸 수도 있습니다.

그래서 내 질문은 - 비슷한 명령을 사용하여 내 비밀번호에 여러 파일을 다른 파일 이름으로 저장하는 방법이 있습니까?

답변1

다음 방법을 통해 타임스탬프 접미사와 함께 저장할 수 있습니다.

nc localhost 3440 | tar -x -O > ores-$(date +%s.%N).tgz

다음과 같은 이름의 파일이 생성됩니다.

ores-1526341128.393345176.tar.gz
ores-1526341129.366798510.tar.gz
ores-1526341332.305878646.tar.gz
ores-1526341332.545975256.tar.gz
ores-1526341332.786026292.tar.gz

물론 %N다운로드가 그다지 집중적이지 않은 경우 나노초 정밀도( )를 제거할 수 있습니다.

관련 정보