На практике это мало что меняет. Фактически, первый вариант ограничивает вас одним файлом, а второй позволяет sed объединять несколько входов в один вывод, а также использовать его возможность редактирования на месте.
Техническое отличие состоит в том, что первый метод с <
и >
опирается исключительно на перенаправление оболочки, универсальную особенность, которой поначалу славился Unix, благодаря своей простоте, а также универсальности и возможности повторного использования во многих программах: оболочка открывает файл и передает его в руки. Вы файл-дескриптор.
(В других системах того времени не было перенаправления полностью или требовалось несколько команд для его активации.)
Последний также перенаправляет вывод, но не ввод. Вместо этого он просит СЭД себя , чтобы открыть входной файл - то , что каждая программа должна осуществлять самостоятельно, возможно , используя несогласованный синтаксис , который вы должны учиться и переучиваться; например, один инструмент может захотеть --input=original.txt --output=processed.txt
а другой -in original.txt
. Но, как я уже говорил, OTOH более гибок, поскольку вы не ограничены одним входом только для чтения.
Лично, однако, я бы сказал, что группировка 2-го синтаксиса в разделе «... для новичков в Unix» - это либо элитарность, либо педантизм 1980-х годов, того же рода, что и лекция людей об использовании cat foo | bar
или подшутить над пользователями Windows & VMS за то, что они "не знакомы с философией Unix".