일반적인 경우에 처리하는 것은 매우 복잡하기 때문입니다. 다음 예제를 고려하십시오.
프로그램은 파일을 한 줄씩 읽고 각 줄을 두 번 출력합니다. 이제 두 번째 파일없이 (즉, 동일한 파일에서)이 작업을 수행하려면 프로그램은 읽을 수 있기 전에 덮어 쓰기 때문에 읽을 행의 대부분 (모든)을 버퍼링해야합니다.
문제를 간단한 프로그램으로 유지하려면 일반적으로 두 번째 임시 파일을 사용합니다.이 파일은 일단 완료되면 원래 파일 위로 이동합니다. 예를 들어 sed -i(인라인) 작동 방식입니다.
cat < first > temp잘 작동합니다.