Архив метки: snippet

Bash-fu. Выполнить для каждого файла в одну линию

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

for FILE in SOMEWHERE; do SOMETHING; done

Вот так, например, можно все wav-файлы в текущей директории конвертировать в CAF с кодеком IMA4 (полезно для iOS приложений). Работает под Маком с установлеными тулзами для разработки (нужна afconvert оттуда):

for FILE in *.wav; do afconvert $FILE `basename "$FILE" .wav`.caf -d ima4 -f caff -v; done

Bash-fu. Объём виртуальной памяти, выделенной процессом

Потребовалось в баш-скрипте получить объём виртуальной памяти, выделенной процессом. Получилось так (через ps aux):

MEMORY_USED=`ps aux | awk -v pid="$PID" '{ if ($2 == pid) print $5 }'`

Где PID — идентификатор процесса.