xargs - Интернет в облаке

Это команда xargs, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


xargs - строить и выполнять командные строки из стандартного ввода

СИНТАКСИС


xargs [-0prtx] [-E eof-str] [-e[eof-str]] [--eof[=eof-str]] [--нулевой] [-d ограничитель]
[- разделитель ограничитель] [-I заменить-ул] [-i[заменить-ул]] [--заменять[=заменить-ул]]
[-l[макс-линии]] [-L макс-линии] [--max-линий[=макс-линии]] [-n макс-аргументы] [--max-аргументы=Максимум-
арг] [-s макс-символы] [--max-символы=макс-символы] [-P макс-процессов] [--max-прокс=макс-процессов]
[--процесс-слот-вар=имя] [- интерактивный] [--подробный] [--выход] [--no-run-if-пусто]
[--arg-файл=файл] [--show-лимиты] [--версия] [--Помогите] [команду [начальные аргументы]]

ОПИСАНИЕ


Эта страница руководства документирует версию GNU xargs. xargs читает элементы из стандарта
ввод, разделенный пробелами (которые могут быть защищены двойными или одинарными кавычками или
обратная косая черта) или новые строки и выполняет команду (по умолчанию / bin / echo) один или несколько раз
с любым начальные аргументы за которыми следуют элементы, считанные из стандартного ввода. Пустые строки на
стандартный ввод игнорируется.

Командная строка для команду накапливается до тех пор, пока не достигнет предела, определенного системой (если только
-n и -L варианты). Указанный команду будет вызываться столько раз, сколько
необходимо использовать список элементов ввода. В общем, будет намного меньше
призывы команду чем на входе были элементы. Обычно это будет
значительные преимущества в производительности. Некоторые команды также могут выполняться параллельно;
см. -P опцию.

Поскольку имена файлов Unix могут содержать пробелы и символы новой строки, это поведение по умолчанию часто бывает
проблемный; имена файлов, содержащие пробелы и / или символы новой строки, неправильно обрабатываются
xargs. В этих ситуациях лучше использовать -0 вариант, предотвращающий такие
проблемы. При использовании этой опции вам необходимо убедиться, что программа, производящая
вход для xargs также использует нулевой символ в качестве разделителя. Если эта программа GNU
найдите например, -print0 вариант сделает это за вас.

Если любой вызов команды завершается со статусом 255, xargs немедленно остановится
без дальнейшего чтения. Сообщение об ошибке выдается на stderr, когда это
случается.

ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ


-0, --нулевой
Элементы ввода заканчиваются нулевым символом вместо пробела, а
кавычки и обратная косая черта не являются специальными (каждый символ берется буквально).
Отключает конец строки файла, который обрабатывается как любой другой аргумент. Полезный
когда элементы ввода могут содержать пробелы, кавычки или обратную косую черту. GNU
Параметр find -print0 производит ввод, подходящий для этого режима.

-a файл, --arg-file =файл
Читать статьи из файл вместо стандартного ввода. Если вы используете эту опцию, stdin
остается неизменным при запуске команд. В противном случае stdin перенаправляется с
/ DEV / нуль.

--delimiter =DELIM, -d DELIM
Элементы ввода завершаются указанным символом. Указанный разделитель может
быть одиночным символом, escape-символом в стиле C, например \n, или восьмеричное, или
шестнадцатеричный escape-код. Восьмеричные и шестнадцатеричные escape-коды понимаются как
Printf команда. Многобайтовые символы не поддерживаются. При обработке
ввод, кавычки и обратная косая черта не являются особенными; каждый символ во вводе берется
буквально. В -d опция отключает любую строку конца файла, которая обрабатывается как
любой другой аргумент. Вы можете использовать эту опцию, когда ввод состоит из простых
элементы, разделенные новой строкой, хотя почти всегда лучше разработать свою программу
использовать --нулевой где это возможно.

-E eof-str
Установите конец строки файла на eof-str. Если конец строки файла встречается как строка
ввода, остальная часть ввода игнорируется. Если ни то, ни другое -E ни -e используется, нет конца
строки файла.

-e[eof-str], --eof[= eof-str]
Этот вариант является синонимом -E вариант. Использовать -E вместо этого, потому что это POSIX
совместимы, а этот вариант - нет. Если eof-str опущено, нет конца файла
нить. Если ни то, ни другое -E ни -e используется, конец строки файла не используется.

-I заменить-ул
Заменить вхождения заменить-ул в начальных аргументах с именами, прочитанными из
стандартный ввод. Кроме того, пробелы без кавычек не завершают элементы ввода; вместо этого
разделитель - это символ новой строки. Подразумевает -x и -L 1.

-i[заменить-ул], --заменять[= replace-str]
Этот вариант является синонимом -Iзаменить-ул if заменить-ул указан. Если
заменить-ул аргумент отсутствует, эффект такой же, как -I{}. Этот вариант
устарело; использовать -I .

-L макс-линии
Используйте не более макс-линии непустые строки ввода в командной строке. Конечные пробелы вызывают
строка ввода, которая будет логически продолжена на следующей строке ввода. Подразумевает -x.

-l[макс-линии], --max-линий[=макс-линии]
Синоним для -L вариант. В отличие от -L, макс-линии аргумент не является обязательным. Если Максимум-
линий не указан, по умолчанию используется один. В -l опция устарела, так как
Стандарт POSIX определяет -L .

-n макс-аргументы, --max-аргументы=макс-аргументы
Используйте не более макс-аргументы аргументы в командной строке. Меньше чем макс-аргументы Аргументы
будет использоваться, если размер (см. -s вариант) превышен, если только -x опция
дано, и в этом случае xargs предусматривает Выход.

-P макс-процессов, --max-прокс=макс-процессов
Бежать до макс-процессов обрабатывает одновременно; по умолчанию 1. Если макс-процессов это 0,
xargs будет запускать как можно больше процессов одновременно. Использовать -n или
-L вариант с -P; в противном случае велика вероятность, что будет выполнен только один exec. В то время как
xargs запущен, вы можете отправить его процессу сигнал SIGUSR1 для увеличения числа
команд для одновременного запуска или SIGUSR2 для уменьшения числа. Ты не можешь
увеличьте его выше предела, определенного реализацией (который показан с помощью --show-
пределы). Вы не можете уменьшить его ниже 1. xargs никогда не прекращает свои команды;
когда его просят уменьшить, он просто ожидает, пока более чем одна существующая команда
прекратить, прежде чем начинать другой.

Пожалуйста, в своих размышлениях что именно вызываемые процессы должны правильно управлять параллельным
доступ к общим ресурсам. Например, если несколько из них попытаются напечатать
в стандартный вывод, вывод будет производиться в неопределенном порядке (и, скорее всего,
перепутано), если процессы каким-либо образом не взаимодействуют друг с другом, чтобы предотвратить это. Используя некоторые
вид схемы блокировки является одним из способов предотвращения таких проблем. В общем, используя
Схема блокировки поможет обеспечить правильный вывод, но снизит производительность. если ты
не хотите мириться с разницей в производительности, просто организуйте для каждого процесса
для создания отдельного выходного файла (или иного использования отдельных ресурсов).

-п, - интерактивный
Спрашивать пользователя о том, следует ли запускать каждую командную строку и читать строку из
Терминал. Командную строку следует запускать только в том случае, если ответ начинается с «y» или «Y».
Подразумевает -t.

--процесс-слот-вар=имя
Установите переменную среды имя уникальному значению в каждом запущенном дочернем процессе.
Значения повторно используются после выхода дочерних процессов. Это можно использовать в элементарных
схема распределения нагрузки, например.

-р, --no-run-if-пусто
Если стандартный ввод не содержит непустых пропусков, не запускайте команду.
Обычно команда запускается один раз, даже если нет ввода. Этот вариант - GNU
расширение.

-s макс-символы, --max-символы= макс-символы
Используйте не более макс-символы символов в командной строке, включая команду и
начальные аргументы и завершающие нули на концах строк аргументов.
Наибольшее допустимое значение зависит от системы и рассчитывается как аргумент
ограничение длины для exec, меньше размера вашей среды, меньше 2048 байтов
запас. Если это значение превышает 128 КБ, по умолчанию используется 128 КБ;
в противном случае значение по умолчанию - максимальное. 1 КБ составляет 1024 байта. xargs
автоматически адаптируется к более жестким ограничениям.

--show-лимиты
Отображение ограничений на длину командной строки, налагаемых операционным
системы, xargs'выбор размера буфера и -s вариант. Подключите вход от
/ DEV / нуль (и, возможно, указать --no-run-if-пусто) если ты не хочешь xargs делать
что-нибудь.

-т, --подробный
Перед выполнением распечатайте командную строку в стандартном выводе ошибок.

-Икс, --выход
Выйти, если размер (см. -s вариант) превышено.

--Помогите Распечатайте сводку опций, чтобы xargs и выйти.

--версия
Выведите номер версии xargs и выйти.

ПРИМЕРЫ


найдите / Tmp -имя ядро Типа f -Распечатать | xargs / bin / rm -f

Найдите файлы с именами ядро в каталоге или ниже / Tmp и удалите их. Обратите внимание, что это будет
работают некорректно, если есть имена файлов, содержащие символы новой строки или пробелы.

найдите / Tmp -имя ядро Типа f -print0 | xargs -0 / bin / rm -f

Найдите файлы с именами ядро в каталоге или ниже / Tmp и удалите их, обрабатывая имена файлов
таким образом, чтобы имена файлов или каталогов, содержащие пробелы или символы новой строки, были правильно
обработано.

найдите / Tmp -глубина -имя ядро Типа f -удалять

Найдите файлы с именами ядро в каталоге или ниже / Tmp и удалите их, но более эффективно
чем в предыдущем примере (потому что мы избегаем использования вилка(2) и Exec(2) до
запуск rm и нам не нужно лишнее xargs обработать).

вырезать -d: -f1 < / И т.д. / пароль | sort | xargs эхо

Создает компактный список всех пользователей системы.

xargs sh -c Emacs "$ @" < / dev / tty ' Emacs

Запускает минимальное количество копий Emacs одну за другой, чтобы редактировать
файлы, перечисленные на xargsстандартный ввод. В этом примере достигается тот же эффект, что и в BSD. -o
вариант, но более гибким и портативным способом.

ВЫХОД статус


xargs выходит со следующим статусом:
0 в случае успеха
123, если любой вызов команды завершился со статусом 1-125
124, если команда завершилась со статусом 255
125, если команда прервана сигналом
126, если команда не может быть запущена
127, если команда не найдена
1, если произошла другая ошибка.

Коды выхода больше 128 используются оболочкой, чтобы указать, что программа умерла из-за ошибки.
фатальный сигнал.

СТАНДАРТЫ СООТВЕТСТВИЕ


Начиная с GNU xargs версии 4.2.9, поведение по умолчанию xargs не иметь логического
маркер конца файла. POSIX (IEEE Std 1003.1, издание 2004 г.) позволяет это.

Параметры -l и -i присутствуют в версии стандарта POSIX 1997 года, но не отображаются
в версии стандарта 2004 года. Поэтому вместо этого вы должны использовать -L и -I,
соответственно.

Стандарт POSIX позволяет реализациям иметь ограничение на размер аргументов для
Exec функции. Этот предел может составлять всего 4096 байт, включая размер
среда. Чтобы скрипты были переносимыми, они не должны полагаться на большее значение. Тем не мение,
Я не знаю ни одной реализации, чей фактический предел настолько мал. В --show-лимиты вариант
может использоваться для определения фактических ограничений, действующих в текущей системе.

Используйте xargs онлайн с помощью сервисов onworks.net



Новейшие онлайн-программы для Linux и Windows