Monday, 25 March 2013

Почему cat file > file обнуляет файл, а не копирует файл?

Правильный (на мой взгляд) ответ найти было крайне сложно, но мне это удалось!

Суть в том, что в данном случае нам нужно открыть два файла - исходный (file) на чтение и целевой (file) на запись. Так как у нас используется одна угловая скобка, то мы должны занулить. В итоге получается, что сначала Bash открывает file на чтение (все ок), а потом открывает его на запись и тем самым обнуляет. Вот и все.

Источник: http://stackoverflow.com/questions/3055005/bash-is-it-ok-to-use-same-input-file-as-output-of-a-piped-command

No comments:

Post a Comment

Note: only a member of this blog may post a comment.