сортировка файла без использования временных файлов - PullRequest
4 голосов
/ 11 октября 2011

Я хочу отсортировать файл в оболочке Unix.Могу ли я перенаправить мой результат в мой входной файл?

например, если мой входной файл - foo, могу ли я использовать

    sort foo > foo   

или мне следует использовать:

    sort -o foo foo

Какая разница между двумя выше?

Спасибо,

1 Ответ

9 голосов
/ 11 октября 2011

Использовать

sort -o foo foo

Со страницы man:

-o OUTPUT-FILE' Write output to OUTPUT-FILE instead of standard output. If OUTPUT-FILE is one of the input files, sort 'копирует его во временный файл перед сортировкой и записью вывода в OUTPUT-FILE.

sort foo > foo означает запись вывода на стандартный вывод, который перенаправляется в выходной файл.Перед перенаправлением > будет обрезать / перезаписать выходной файл, если он существует.Поскольку и входной, и выходной файлы совпадают, вы потеряете информацию о входном файле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...