파일 을 (를) (이)가 지원되지 않는 프로그램 prog
을 사용하여 수정해야합니다.배시 : 전체 표준 입력 버퍼링 후 출력
prog $file > $file.temp
cat $file.temp > $file
rm $file.temp
임시 파일없이 한 번에 이렇게하고 싶습니다. 이 좋은 보이지만 작동하지 않습니다
cat <(prog $1) > $1
그것은 것 내가 (쓰기 끝이 닫힐 때까지 차단) 파이프의 내용을 버퍼링하는 방법, 예를 들어이 있다면 일 :
cat <(prog $1 | buffer_until_close) > $1
을
어떻게하면됩니까, 아니면 다른 방법으로 원하는 구문을 얻을 수 있습니까?
어떨까요 [스폰지] (http://linux.die.net/man/1/sponge) – iruvar
스폰지는 [더 많은 요즘] (https://github.com/madx/moreutils/blob/master)에 있어야합니다./debian/control) – Hastur
왜 임시 파일에 대한 혐오감이 있습니까? 실제로 파일을 편집하는 것과 같은 것은 없습니다. 그렇게하는 것 같은 프로그램은 임시 파일을 만들고 그 파일로 원본을 대체하는 것에 대한 세부 사항을 숨 깁니다. – chepner