Если ты всё ещё пишешь
bash
find . -name "*.log" -exec rm {} \;
— пора познакомиться с
xargs.🔹 Что делает
xargs Простыми словами: берёт вывод одной команды и передаёт его как аргументы другой.
Часто используется в связке с
find, grep, ls, cat и т.д.🔧 Пример 1: удаление файлов
bash
find . -name "*.log" | xargs rm
Быстрее и читаемее, чем
-exec. А если в путях есть пробелы — добавь
-print0 и -0:
bash
find . -name "*.log" -print0 | xargs -0 rm
🔧 Пример 2: архивация большого списка файлов
bash
cat filelist.txt | xargs tar -czf archive.tar.gz
Но лучше писать так:
bash
xargs -a filelist.txt tar -czf archive.tar.gz
⚠️ Полезные флаги
-
-n N — запускать по N аргументов -
-P N — параллельное выполнение (например, -P 4 для 4 потоков) -
-I {} — подстановка аргументов вручную:
bash
cat urls.txt | xargs -I {} curl -O {}
🧠 Где применять
- Удаление, копирование, перемещение файлов
- Обработка списков (имён, URL, путей)
- Массовый запуск скриптов
- Комбинация с
parallel — огонь 🔥✍️ Итог
xargs — это must-have в наборе админа. Один раз освоил — и половина баш-магии стала проще.
#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin
👉 @linux_odmin