main

Простой индикатор выполнения на bash

Сабж. При желании переделать под проценты.

i=1
max=9000
while ... ; do
  [ $[ $i % 50 ] -eq 1 ] && echo -e -n "\r$i/$max"
  i=$[ $i + 1 ]
done
echo
2012-09-30

Простой способ перекидывания файлов по сети между nix машинами

Способ не претендует на оригинальность, но, по моим наблюдениям, им мало кто пользуется. Не требуется rsync, самба, nfs, ftp и прочее. Только стандартный tar и netcat. Две строчки команд, по одной на машину.

→ Читать дальше...

2011-07-13

Опять про скрипты

Сегодня пробовал написать интерактивный скриптик для сортировки файлов на сервере. Столкнулся с неожиданными проблемами в shell'e. Суть такова: read оказывается там не реентерабелен, при попытке вызвать его повторно - срывает на себя весь ввод предыдущего вызова. Например:

find /somewhere/ -name bla-bla-bla | while read item; do
  ...
  read -n VAR
  # в этом месте смотрим вывод скрипта и делаем FFUUUUUU!!!!11
done

Можно попробовать обойти это через открытие ещё одного файлового дескриптора.

UPD: Таки да, добил. Как и предполагалось, через открытие дополнительного дескриптора. Спасибо умным людям в интернете.

2011-06-16

rar2zip

программист - это такой вид идиота, который потратит час на пятиминутную работу, чтобы потом её за секунду сделал компьютер.

Фичи:

  • Запароленные архивы пропускаются
  • Даты модификации файлов в внутри архивов - сохраняются как есть.
  • Работает полностью автоматически, если невозможно создать файл в исходной директории - матерится и переходит к следующему архиву.
  • Выдает лог работы
  • Понимает как относительные, так и абсолютные пути

  • Использует для своей работы системную временную директорию (обычно это /tmp), берегитесь переполнения. Ограничения:

→ Читать дальше...

2011-06-12