Автор Тема: Задачи кандидати  (Прочетена 20465 пъти)

zeridon

  • Killmode enabled
  • Administrator
  • Участник
  • *****
  • Публикации: 1398
  • Distribution: Debian/Ubuntu
  • Window Manager: console/Gnome
  • BOfH
    • Профил
    • WWW
Задачи кандидати
« -: Дек 11, 2007, 21:10 »
В тази тема може да публикувате задачки които бихте искали да видите решени в този конкурс.

Може да публикувате задача тук спазвайки следните изисквания.

 * Задачката трябва да е по реална тема касаеща широк кръг от потребители. Нещо от реалният живот е добър избор.
 * Задачката не трябва вече да е публикувана. Ако все пак е много интересна и заслужава второ решение, заповядайте
 * Задачката не трябва да е супер сложна или да изисква голяма инвестиция за решаването и.
 * Трябва да предоставите референтно решение. По него ще се ориентираме ние.
 * Трябва да предоставите тестов комплект данни (вход, изход).
 * Особенни условия/изисквания/ограничения.
Активен

Внмимавай имам клещи за кабел
http://www.netsecad.com/
http://theregister.co.uk/odds/bofh/

thegold_u

  • Участник
  • *****
  • Публикации: 2
    • Профил
Задачи кандидати
« Отговор #1 -: Май 14, 2008, 12:50 »
И така, тъй като форумът е хубав, а досега не съм видял задачи, то аз ще пусна първата.

Наскоро ми се наложи да си правя Package файл за свалените Debian-ски файлове. Пфу...
Много времеемка задача, ако имаш само архиватор и текстов редактор. За един или два файла сигурно става, но за стотици - не. Затова поставям задачата да се направи скрипт, който да взима всички файлове с разширение .deb, да прочита информацията от тях и да я запазва във файл с име Package. Не забравяйте да добавите и информация за размера на файла и MD5 проверка, а също, и името на файла. За онези, които не са запознати с формата на Package файла, да не се занимават. За останалите, смятам да пусна отговор на задачата си две седмици след пускането й, а именно от 14 май 2008г.

ЗАВИНАГИ ВАШ thegold_u


edit by neter: Редактирано, съгласно т.3 от правилата на форума. Нека не се повтаря '<img'>



Активен

thegold_u

  • Участник
  • *****
  • Публикации: 2
    • Профил
Задачи кандидати
« Отговор #2 -: Май 29, 2008, 09:08 »
както казах при пускането на задачата, след две седмици ще пусна своя отговор.
сега го правя. Моля онези които мислят че могат да подобрят по някакъв начин
скрипта да го направят и да се свържат с мен.

/*---------------------------packscript.sh------------------------------*/

#!/bin/bash

#########################################################################
#                           #
#   Прави автоматично Packages файл за Дебиански пакети      #
#   от директорията в която е бил извикан и записва изхода в   #
#   директорията подадена като аргумент 1            #
#   Променливата packdir е тази променлива която определя      #
#   местоположението на .deb файлът в самият Package файл.      #
#   По принцип тя е празна но може да бъде подадена само       #
#   като втори параметър.                  #
#   При подаването й накрая след името на директорията      #
#   трябва да има наклонена черта               #
#                           #
#   Следват няколко примера с извикване на скрипта         #
#      ./packscript.sh . paketi/            #
#      ./packscript.sh ~               #
#      ./packscript.sh /mnt/distro paketni_fileove/      #
#      ./packscript.sh
#                           #
#                           #
#                  Написан от thegold_u   #
#                           #
#########################################################################

outdir="."
ORIG_PACK_FILE=""
niz=""
tmp_str=" "
nwl='
'
packdir=""

if [ $# -eq 2 ]
    then
   packdir="$2/"
    fi

if [ `ls Packages`='Packages' ]
    then
   ORIG_PACK_FILE=`cat Packages`
   ORIG_PACK_FILE="$ORIG_PACK_FILE$nwl$nwl$nwl"
    fi

for debfile in *.deb
    do
   dpkg --control $debfile contdir
   tmp_str=`cat contdir/control`

# конкатенираме променливата niz с информация за името на файлът

   niz="$niz$tmp_str$nwl"
   fileinfo="Filename: $packdir$debfile"
   niz="$niz$fileinfo$nwl"

# конкатенираме променливата niz с информация за md5 проверката

   integer=1
   for md5var in `md5sum $debfile`
       do
      if [ $integer -eq 1 ]
      then
          md5info="$md5var"
      fi
      let "integer = $integer + 1"
       done
   md5info="MD5sum: $md5info"
   niz="$niz$md5info$nwl"

# конкатенираме променливата niz с информация за размера на файлът

   integer=1
   for sizevar in `ls -la $debfile`
       do
      if [ $integer -eq 5 ]
          then
         sizeinfo="$sizevar"
          fi
      let "integer = $integer + 1"
       done
   sizeinfo="Size: $sizeinfo"
   niz="$niz$sizeinfo"
   niz="$niz$nwl$nwl$nwl"
    done

# Премахваме директорията contdir където сме съхранили файловете
# от control.tar.gz архива след това проверяваме дали на командния
# ред има зададени по-вече от нула параметъра и ако е така взимаме
# първият параметър като считаме че това е директорията където
# потребителят иска да запише Packages файлът.

rm -fr contdir

if [ $# -ge 1 ]
    then
   outdir=$1
    fi

echo "$ORIG_PACK_FILE$niz" > $outdir/Packages


Искрено ваш thegold_u
Активен

shadowx

  • Участник
  • *****
  • Публикации: 99
  • Distribution: Slackware
  • Window Manager: Gnome
    • Профил
Re: Задачи кандидати
« Отговор #3 -: Дек 08, 2011, 11:33 »
Дали скоро няма да има пак някоя 'bash-майстора' задачка ? :)
Бяха интересно и забавно и разнообразяващо занимание ...
Активен

There he goes. One of God's own prototypes. A high-powered mutant of some kind never even considered for mass production. Too weird to live, and too rare to die.

Demayl

  • Участник
  • *****
  • Публикации: 98
  • Distribution: XUbuntu,FreeBSD
  • Window Manager: Xfce
    • Профил
    • WWW
Re: Задачи кандидати
« Отговор #4 -: Мар 21, 2013, 23:24 »
Май ще е интересно да се направи конкурс за най-малко използвани символи в програма за изпълнение на дадена задача. Така ще е интересно да си ги мериме с даден език :D
Активен

mafix

  • Участник
  • *****
  • Публикации: 1
    • Профил
Re: Задачи кандидати
« Отговор #5 -: Ное 10, 2017, 19:45 »
здравейте
това ми е първия пост във форума и не знам на правилното  имам една "задачка", ако може така да се каже
на компютър с lubunto е зададена една снимка на десктопа (тип шега), която   и да се махне при всеки рестарт или логване на юзъра отново тя е зададена за background. И да се изтрие снимката от директорията където е няма ефект.
Знам, че е създадено чрез терминала
задачата е да премахна изображението напълно и "трайно" :)
Активен

Acho

  • Участник
  • *****
  • Публикации: 2977
  • Distribution: Slackware, MikroTik - сървърно
  • Window Manager: console only
    • Профил
    • WWW
Re: Задачи кандидати
« Отговор #6 -: Ное 10, 2017, 19:49 »
Къде ги намирате тия дъртите теми ?
Активен

CPU - Intel Quad-Core Q8400, 2.66 GHz; Fan - Intel Box; MB - Intel G41M-T2; RAM - DDR2-800, Kingston HyperX, 2X2048 MB; VC - onboard, Intel G41 Express Chipset; HDD - SeaGate, 160 GB, SATAII; SB - Realtek HD Audio; DVD-RW - TSSTcorp DVD-RW; LAN - Realtek PCI-E GBE Controller; PSU - Fortron 350 Watt.

4096bits

  • Участник
  • *****
  • Публикации: 1956
    • Профил
Re: Задачи кандидати
« Отговор #7 -: Ное 11, 2017, 04:34 »
Темата не е лоша.
Активен

"As they say in Mexico 'dosvidaniya'. That makes two vidaniyas."