Bash Wiki
Posts (Latest 30 updated) :
Read all
Contents:
  1. [Linux] Bash xargs использование: Обработка стандартного ввода в аргументы команд
    1. Обзор
    2. Использование
    3. Общие параметры
    4. Общие примеры
    5. Советы

[Linux] Bash xargs использование: Обработка стандартного ввода в аргументы команд

Обзор

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

Использование

Основной синтаксис команды xargs выглядит следующим образом:

xargs [options] [arguments]

Общие параметры

  • -n N — Указывает количество аргументов, передаваемых в команду за один раз.
  • -d DELIM — Устанавливает разделитель для входных данных.
  • -0 — Ожидает, что входные данные будут разделены нулевыми байтами (используется с find -print0).
  • -p — Запрашивает подтверждение перед выполнением команды.
  • -I {} — Позволяет указать шаблон для замены в команде.

Общие примеры

  1. Удаление файлов с помощью find и xargs:
    find . -name "*.tmp" | xargs rm
    
  2. Подсчет строк в нескольких файлах:
    ls *.txt | xargs wc -l
    
  3. Копирование файлов в другую директорию:
    find . -name "*.jpg" | xargs -I {} cp {} /path/to/destination/
    
  4. Запуск команды с подтверждением:
    echo "file1.txt file2.txt" | xargs -p rm
    
  5. Использование с нулевыми байтами:
    find . -name "*.log" -print0 | xargs -0 rm
    

Советы

  • Используйте параметр -n для оптимизации передачи аргументов, особенно если вы работаете с большим количеством данных.
  • При работе с файлами, содержащими пробелы, используйте -0 вместе с find -print0 для корректной обработки имен файлов.
  • Применяйте -p для повышения безопасности, чтобы избежать случайного удаления или изменения файлов.