ocehb: (Default)

# uptime
 3:42PM  up 937 days,  3:29, 0 users, load averages: 0.00, 0.00, 0.00
# dick
:-) )
ocehb: (Default)
Придумал subj: как стандартными средствами в gnu уних/линух окружении
запустить на параллельное выполнение задачи, чтобы la не превышал какое-либо
значение. Например: есть каталог с тучей больших файлов, всех их надо
зипнуть или гзипнуть, задания можно запускать параллельно,
общий la не должен превышать 2.5.

пс. наверно пятничная задачка :)
ocehb: (Default)
Отсюда:
Задача такова: есть ASCIIZ-строка с IP-адресом, надо вернуть true, если этот адрес попадает в один из диапазонов, перечисленных в файле.

Файл текстовый такого формата,

192.168.1.3,192.168.1.5
192.168.2.4,193.0.0.3

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

Файл грузится один раз и потом десятки миллионов раз лукапится. Записей в конфиге - сотни.

Решение )
ocehb: (Default)
Если после инсталляции через команду install надо произвести какие-либо действия,
то можно их активировать через флаг(и) -s (—strip и —strip-program).

Например надо перекодировать файл из koi8-r в utf8:


# cat > encode.sh
#! /bin/sh -f
iconv -c -f koi8-r -t utf8 $1 /tmp/tmp.$$
mv -f /tmp/tmp.$$ $1
^D
# chmod +x encode.sh
# install —strip —strip-program=./encode.sh file /install/path/file

jfyi

May. 29th, 2010 02:22 pm
ocehb: (Default)

# cat /etc/redhat-release
Fedora release 13 (Goddard)
#


полет нормальный
ocehb: (Default)
жмем файл )

удивлен bzip2'ом.
ocehb: (Default)
Чтобы не загружать cron'ом систему или удаленную систему, можно использовать рандомизированный sleep.

примеры: )
ocehb: (Default)

# file -N $HOME/* | \
  awk -F: '{ type[$2]++ } END{ for (i in type) print type[i],i }' | \
  sort -rn | head -10
128  directory
50  ASCII text
14  ASCII English text
10  ISO-8859 text
6  Lisp/Scheme program text
5  data
4  shell archive or script for antique kernel text
4  Microsoft Installer
3  gzip compressed data, from Unix, last modified
3  ASCII text, with very long lines


ps. под "Microsoft Installer" file понимает .doc файлы.
ocehb: (Default)
тут я привел 2 решения о параллельном запуске нескольких процессов. нашел еще одно:


# print -l *.txt | xargs —max-procs=4 —max-args=1 proc
ocehb: (Default)

# find /etc -xdev -type f -print0 | \
  xargs -0 ls -i | \
  perl -nle '($a,$b) = split " "; push @{$hash{$a}},$b; 
             END { while (($a,$b) = each %hash) { print "$a: @$b" if ($#$b > 0); } }'



  • find /etc -xdev -- поиск файлов на /etc.

  • ls -i -- печать i-node номер и имя файла.

  • perl ... -- упихивание всего в хеш и вывод в конце только тех имен файлов, у которых имен на один i-node больше одного.

Profile

ocehb: (Default)
ocehb

January 2021

S M T W T F S
     12
345 6789
10111213141516
17181920212223
24252627282930
31      

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 7th, 2025 10:12 pm
Powered by Dreamwidth Studios