xargs를 얻으려면 어떻게해야합니까? 큰 문자열로 작업하려면 어떻게해야합니까?


0

Mac OS X에서 실행중인 xargs의 고안된 사용법은 다음과 같습니다.

$ 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 긴 문자열 작업? 어떻게 작동시킬 수 있습니까?


해결 방법은 하위 명령을 사용하는 것입니다. echo "$(head -c 128 /dev/urandom | openssl base64 -A)"
Theron Luhn

시스템에 대한 제한 사항이어야합니다. head -c 8192 /dev/urandom |openssl base64 -A | xargs -I {} echo {} {} 내 우분투 14.04에 문제없이.
NZD
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.