Вот надуманное использование xargs, которое я использую в Mac OS X:
$ head -c 128 /dev/urandom | openssl base64 -A | xargs -I {} echo {}
rPeQFDtZ+icGeminAWK70Qmo/AQO5ZiZsusZuP/hZeFP2lId5efwhpy/fdlaaARQy2CxJOl1LGliqKT/a0p8mD68ohs3DqhA288ZYwAZIgu1cZIgldcOPfiwX1/2EipHUYEhC30erGT5HyIKze5jEy2rS+8GbtW7m8ZAafAq4Eg=
Тем не менее, увеличение длины переданного по конвейеру контента, кажется, ломает это:
$ head -c 512 /dev/urandom | openssl base64 -A | xargs -I {} echo {}
{}
Интересно, что если вы не используете -I
он работает нормально:
$ head -c 512 /dev/urandom | openssl base64 -A | xargs echo
iVgQHWnDYLfQnxodhTQro2mBxc8gE34TitIjl7ZUJZXw6votbKJKkumUeQ6nylIxY70eaLs70Uw2zqhIE81Nca4x4aiEa4pp9yjDrBIpRZjj9oRySeMXhmvFLtwhRR4AMgUQO/WI9OYvV6y+MOEu+fv3wHIi6Cb+drFgbZUoH1f87bUkBSj8JzdyEW0t2wUf9CqtZV/x1pRnzmDlP93gdSOkjqTnST+HL/thkCdgmdsNeA8bsZ5P6NzwTH4JD2bemdx7lzqHhlVxf/j+lD7uOJA/16clk32Cqxhmiz9x2ONPeadrn4S1KpgAYWjbgA/QwlUGXtyOeG6rZhvrRdv947EP49GAmbQhqVzW2Qf/RQeqnm2f3zzzbx1/wXGF97yy/2B6PjQ/4ylc44RYHqkfHhT15wrP4InZS5wrWvGSXqdGJihFjEauyNStEakllCbWdErwlooERM78A4volyy1MHta15/w80JEmSeXhHnpMaXDpW5TOyF4S2aJTGl7/58zdrIuHSnpIvYmJ+Je4jHlArV9oflvjjLcZ5DD4AWgyoEcaOXyTMgmk8Fuh73zUf+RmZNHPoo1yWJLal3+O1sb347lRIGGGiVEdiuH/jH4RFwklJ5an8YoyjjLd2v69oCbqD/tJ8rVmLvNlL5ARi6DJURkPoqLvZ4S2jfEaUDdKkM=
Почему не -I
работает с длинными строками? Как я могу заставить его работать?