Můžete použít -o , --output=FILE možnost řazení pro označení stejného vstupního a výstupního souboru:
sort -o file file
Bez opakování názvu souboru (s rozšířením složené závorky bash)
sort -o file{,}
⚠️ Důležitá poznámka: častou chybou je pokus o přesměrování výstupu do stejného vstupního souboru (např. sort file > file ). Toto nefunguje, protože shell provádí přesměrování (ne sort(1)). program) a vstupní soubor (jakožto také výstupní) bude vymazán těsně před zadáním sort(1) naprogramujte možnost čtení.
sort příkaz standardně vytiskne výsledek operace řazení na standardní výstup. Chcete-li dosáhnout řazení „na místě“, můžete provést toto:
sort -o file file
Tím se přepíše vstup file s tříděným výstupem. -o přepínač, který se používá k určení výstupu, je definován standardem POSIX, takže by měl být dostupný ve všech verzích sort :
-o Zadejte název výstupního souboru, který se má použít místo standardního výstupu. Tento soubor může být stejný jako jeden ze vstupních souborů.
Pokud nemáte tu smůlu, že máte verzi sort bez -o přepínač (Luis mě ujišťuje, že existují), můžete provést úpravy „na místě“ standardním způsobem:
sort file > tmp && mv tmp file