출력을 여러 파일에 저장

출력을 여러 파일에 저장

디스크 공간 업데이트를 여러 파일에 보내려고 합니다. 한 파일에는 매 시간마다 덮어쓰여지는 현재 업데이트가 있고 다른 파일에는 실행될 때마다 출력이 추가된 모든 업데이트가 있을 수 있습니다. 그러나 첫 번째 파일(/tmp/daily..)이 아닌 추가된 파일에만 출력을 추가합니다.

암호이탤릭체

filename=$(date +"%d_$m-%H:%M")
df -kh  > /tmp/daily"$filename".txt >> /tmp/grand.txt

어쨌든 첫 번째 파일(/tmp/daily...)을 최신 출력으로 덮어쓰고 두 번째 파일(/tmp/grand.txt)이 실행 시 추가되도록 할 수 있습니까?

아서

답변1

df -kh | tee -a /tmp/grand.txt > /tmp/daily"$filename".txt

동일한 데이터를 여러 위치로 내보내려면 데이터를 복사해야 합니다. 그것이 바로 그 일입니다 tee.

위 파이프라인에서 tee출력을 가져옵니다 df. 그런 다음 이를 grand.txt파일에 추가하고 데이터 복사본을 표준 출력 스트림에 전달합니다. 출력 스트림은 잘린 출력 리디렉션을 통해 일일 파일로 리디렉션됩니다.

또는,

df -kh | tee /tmp/daily"$filename".txt >> /tmp/grand.txt

관련 정보