В общем случае -- никак, только писать во временный файл, а потом его переименовать.
В частном случае sort можно использовать -o, о которой
здесь явно сказано, что имя указанного файла может совпадать с именем одного из входных файлов. (Но не всегда, в частности, при наличии ключа -m gnu sort может перезаписать входной файл до того как он будет прочитан).