Когда мы используем команду sort file
файл показывает свое содержимое в порядке сортировки, что, если я не хочу получать какой-либо вывод, кроме отсортированного файла?
Вы можете использовать перенаправление файлов для перенаправления отсортированного вывода:
sort input-file > output_file
Или вы можете использовать опцию -o сортировки для указания одного и того же файла ввода и вывода:
sort file -o file
Примечание.. Общей ошибкой является попытка перенаправить вывод на тот же входной файл
(например, sort file > file
). Это не работает, так как оболочка выполняет перенаправления (а не программу sort (1)), и входной файл (как вывод также) будет удален, прежде чем давать сортировку ( 1) запрограммировать возможность его чтения.
Команда sort
выводит результат операции сортировки на стандартный вывод по умолчанию. Чтобы добиться "на месте", вы можете сделать это:
sort -o file file
Это перезаписывает вход file
с отсортированным выводом. Переключатель -o
, используемый для указания вывода, определяется POSIX, поэтому должен быть доступен для всех версий sort
:
-o Укажите имя выходного файла, который будет использоваться вместо стандартного вывода. Этот файл может быть таким же, как один из входных файлов.
Если вам не хватает версии sort
без переключателя -o
(Luis уверяет меня, что они существуют), вы можете достичь "на месте" редактировать стандартным способом:
sort file > tmp && mv tmp file
sort filea >fileb; mv -f fileb filea
.
file
на отсортированное содержимое того же файла? То, как ваш вопрос сформулирован в настоящий момент, вообще ничего не делать - это правильный ответ (вы не хотите ничего выводить, поэтому ничего не делайте).