Я не понимаю, люди продолжают болтать о том, что while ДОЛЖЕН выполняться в цикле, а не вне цикла. Я очень мало знаю о Linux, но я знаю, что довольно просто использовать переменные MS-DOS для создания списка параметров или > файл, cmd ‹ файл для создания списка параметров, если вы превышаете ограничение длины строки.
Или люди говорят, что Linux не так хорош, как MS-DOS? (Черт, я ЗНАЮ, что вы можете создавать цепочки, потому что многие сценарии bash, очевидно, делают это, но не в циклах).
На данный момент это становится вопросом ограничений/предпочтений ядра. xargs не волшебный; конвейер имеет преимущества перед построением строк (ну, ms-dos; вы можете построить строку из «указателей» и избежать любого копирования (в конце концов, это виртуальная память, если вы не изменяете данные, вы можете пропустить расходы в строке concat. ..но пайпинг - это более родная поддержка)). На самом деле, я не думаю, что смогу дать ему преимущество параллельной обработки, потому что вы можете легко создать несколько циклов с задачами для просмотра нарезанных данных (что опять же, если вы избегаете копирования, является очень быстрым действием).
В конце концов, xargs больше подходит для встроенных команд, преимущество в скорости незначительно (разница между построением скомпилированных/интерпретированных строк), потому что все, что он делает, вы можете делать через сценарии оболочки.
person
I don't know
schedule
08.03.2015