amarao (amarao_san) wrote,
amarao
amarao_san

getting addicted to xargs

Собственно, xargs - утилита для функционального программирования в шелле. И она позволяет писать офигенные однострочники.

Она реализует
1) map
2) карринг
3) многопоточное выполнение кода
4) композицию функций

Я не фанат боевого "ФЯП всюду", но в ограниченном объёме однострочника - они офигенны.

Собственно, боевой скрипт для XCP: высчитывает размер physical_utilization для всех SR'ов заданного класса:

#!/bin/bash
xe sr-list type=$1 --minimal|tr , '\n' | \
        xargs -n 1 -I S  \
                xe vdi-list sr-uuid=S params=physical-utilization --minimal|tr , '\n'|\
                        awk '{a+=$1}END{printf "%i", a}'

(советчики с physical-utilisation из SR'а могут идти лесом, ибо как раз для сравнения этих величин и служит скрипт).
Tags: bash, shell scripting, xcp
Subscribe

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 11 comments