Bude to dělat bordel v rourách. Pokud zdroj/cíl bude pracovat interaktivně, a nebude očekávat, že mu nějaký proces uvnitř roury bude zadržovat více řádků, tak se bude hodně divit.
Také nejsem nadšený z tohoto nového chování sedu. Myslím, že výchozí chování sedu mělo zůstat zpětně kompatibilní, a pro vylepšený režim mít parametr. Případně mít nový příkaz ised (improved sed).
V jednom skriptu mám sed --unbuffered a co si pamatuji, tak jsem právě řešil, že se mi data nezpracovávala interaktivně po řádcích ale zasekávalo se to.
Doporučuji si zkusit rozdíl mezi těmito dvěma příkazy:
cat | sed 's/a/b/g' | cat cat | sed --unbuffered 's/a/b/g' | cat
A to mám verzi 4.4. Tzn. tyhle problémy bylo potřeba řešit už před 4.6. I když dřív se to zřejmě zasekávalo jen na vstupu, ale výsledek je stejný (pokud se výrazně neliší objem dat na vstupu a výstupu).
Může, ale bylo by to k ničemu. Ono se schválně nezapisuje po každém řádku a data se nejdřív plní do mezipaměti a zapisují se až po větších kusech. Totéž pro čtení.
Víc procesů by mělo smysl leda pro samotné nahrazování -- načíst třeba sto řádků, udělat deset vláken, každému hodit deset řádků, a pak to posbírat a poslat na výstup.
Jo, kolega si taky stezoval, ze u GNU zmeni z jedne verze na jinou chovani a nikomu to nevadi, tenkrat si stezoval, ze nejak zmenili recursive u grepu, ze to byl -r a zmenili to na -R (nebo obracene), protoze bud chteli na -r jinou akci nebo chteli to recursive mit stejne jako u jineho prikazu.
Ja posledni dobou resim akorat dilema u mailx. Default je v debu bsd-mailx, ale heirloom mailx ma lepsi features (IMHO) a pak existuje jeste gnu-mailx. Dost parametru je stejnych, ale nektere relativne dulezite jsou jine, napr. adresa odesilatele from se u heirloom dela -r, ale v bsd se musi dat -a 'From:...', ale -a je u heirloom zase priloha. Ale to je jine tema.
Osobne si myslim, ze na venek by se nemelo nic menit, API po zvyseni verze, u programu asi taky jen s major zmena. Na druhou stranu, jak funguje program nebo API uvnitr je celkem jedno, takze kdyby to zrychlili bez vlivu na okoli, tak urcite super. Tahle bude mozna spousta skriptu fungovat "jinak". Na druhou stranu, taky uz jsem pri hrani s rourama zjistil, ze neni moc dobre se spolehat na to, ze z roury data prijdou.