파일을 한 줄씩 표준 출력으로 덤프하고 해당 줄을 삭제할 수 있는 유틸리티가 있습니까?
cat
물론 전달하고 싶은 대용량 파일이 많이 있습니다 .
cat *.txt > merged.txt
하지만 이렇게 하면 파일이 원래 차지했던 공간의 두 배를 차지하게 됩니다 txt
. cat
이렇게 삭제한 후
cat *.txt > merged.txt && rm -rf *.txt
2배의 공간이 필요하면서도 스토리지 요구 사항 감소
원본 파일에서 줄을 삭제하는 동안 줄을 표준 출력으로 스트리밍하는 명령을 찾고 있습니다.
<some command> *.txt > merged.txt
이런 식으로 *.txt
+ merged.txt
가 사용하는 총 공간은 *.txt
처음에 필요한 공간을 초과하지 않습니다.
답변1
한 줄씩 정리하는 것이 약간 까다롭게 들리지만, 파일별로 수행하는 것을 허용하면(저장 용량이 모든 *.txt
파일 + 그 중 하나를 초과하지 않도록):
find -name "*.txt" -exec cat {} >> result.txt \; -exec \rm -f {} \;
특히 조심하세요! find 명령을 실행하기 전에 항상 결과를 확인하십시오. 그렇지 않으면 rm
삭제해서는 안 되는 항목을 빛의 속도로 삭제하게 됩니다.