파일을 덮어 쓰기에 대한 표준 절차는 다음과 보통 :Bash- 임시 파일을 사용하지 않고 파일을 덮어 쓸 수없는 이유는 무엇입니까?
awk '{print $2*3}' file > tmp file
tmpFile > file
그러나 때로는이는 더 이상 사용 후 다음 하나는 임시 파일을 제거하지해야하기 때문에 번거 로움을 조금로 포즈.
그래서, 왜 (임시 파일의 필요없이) 다음과 같은 방법으로이 작업을 수행 할 수 없습니다 :
awk '{print $2*3}' file > file
나는에 추가하는 것이 가능하다는 것을 알고 있기 때문에 물어 이유는 그래서 파일 :
awk '{print $2*3}' file >> file
그래서 위와 같이 >>
을 사용하여 파일을 추가하는 경우, 잘 작동
또한 임시 파일의 필요성을 우회하는 방법이 있습니까 (아마도 2 발췌와 비슷한 방식으로), 아니면 첫 번째 발췌 일뿐입니다?
참고가 : awk 명령은 무관하다, 그것은 임시 파일을 사용하여 다른 명령
보기 [*이 * (http://unix.stackexchange.com/questions/11067/is-there-a-way-to-modify-a-file-in-place) – alfasin
중복 가능성 [파이프 후, 원본 파일을 덮어 쓰는 방법? 왜 일부 플랫폼과 다른 사람에서 나던 작동합니까?] (http://stackoverflow.com/questions/10586623/after-pipes-how-to-overwrite-the-original-file-why-does-it-work- some-some-plat) – tripleee
@tripleee 당신은 그것이 중복이라는 것이 틀림 없습니다. 그러나 제가 질문을 공식화했을 때 그것을 알지 못했습니다. 어쨌든 아래 표를 가져 주셔서 감사합니다. 나는 그것을 또한 표시했다. – Bolboa