En pratique, cela ne change pas grand chose. En fait, la première variante vous limite à un fichier alors que la seconde permet à sed de concaténer plusieurs entrées en une sortie, ainsi que d'utiliser son option d'édition in-situ.
La différence technique est que l'ancienne méthode avec <
et >
repose exclusivement sur la redirection du shell, une fonction générique qui Unix dans un premier temps était célèbre pour - en raison de sa simplicité et d' être complètement générique et réutilisable à travers de nombreux programmes: le shell ouvre le fichier et vous les mains un descripteur de fichier.
(Les autres systèmes de l'époque manquaient complètement de redirection ou nécessitaient plusieurs commandes pour l'activer.)
Ce dernier redirige également la sortie, mais pas la saisie. Au lieu de cela, il demande à lui-même d'ouvrir le fichier d'entrée - quelque chose que chaque programme doit implémenter seul, en utilisant éventuellement des syntaxes incohérentes qu'il vous faudrait apprendre et réapprendre; Par exemple, un outil peut vouloir --input=original.txt --output=processed.txt
et un autre -in original.txt
. Mais OTOH, comme je l’ai mentionné, est également plus flexible en ce sens que vous ne vous limitez pas à une entrée en lecture seule.
Personnellement, cependant, je dirais que grouper la deuxième syntaxe sous "... pour les débutants Unix" n'est que l'élitisme ou le pédantisme des années 1980, du même genre que de donner des conférences à des personnes pour leur utilisation cat foo | bar
ou se moquer des utilisateurs de Windows & VMS pour ne pas être "éclairé à la philosophie Unix".