Показ дописів із міткою bash. Показати всі дописи
Показ дописів із міткою bash. Показати всі дописи

2014-08-29

чорновик скрипта для порівняння двох книжок

нехай поки тут полежить
#!/bin/bash
tmpfs="/tmp/"
book1="${tmpfs}book1_`basename "$1"`"
book2="${tmpfs}book2_`basename "$2"`"

function listwords {
  cat "${1}" |\
  tr '\n' ' ' |\
  sed 's/\t\| / /g' |\
  sed 's/–\|—\|‑/-/g' |\
  sed 's/«\|»\|„\|“/\"/g' |\
  sed 's/…/.../g' |\
  sed 's/\s/\n/g' |\
  sed '/^\s$/d' |\
  sed '/^$/d' \
  > "${2}"
}

unoconv -f txt --stdout "$1" > "${book1}.txt" || exit $?
unoconv -f txt --stdout "$2" > "${book2}.txt" || exit $?
ls "${book1}.txt" "${book2}.txt" || exit $?

listwords "${book1}.txt" "${book1}_.txt"
listwords "${book2}.txt" "${book2}_.txt"

meld "${book1}_.txt" "${book2}_.txt"
#diff -y --suppress-common-lines "${book1}_.txt" "${book2}_.txt" | less
rm "${book1}_.txt" "${book2}_.txt" "${book1}.txt" "${book2}.txt"

2014-04-24

bash epub cleaner

Подивився літературу, яка була на книжці. Там все у epub і розмір безпосередньо тексту навіть з урахуванням того, що він ще й html, у найкращому випадку у розпакованому вигляді не дотягує навіть до половини вмісту. На ілюстрації текст зелений, один з найгірших випадків. Більше половини - шрифти і cover.jpg



Тож дописав цей скрипт для себе http://odoepner.wordpress.com/2011/10/08/bash-script-to-remove-css-from-epub/

#!/bin/bash
tmpfs_dir="/tmp/"

file=$1

if [[ $file != *.epub ]]
then
  echo "Usage: $(basename $0) something.epub"
  exit 0
fi

filebasename="$(basename "$file" .epub)"
location="$(dirname "`readlink -f "$file"`")/"
echo $location$filebasename
mkdir "$tmpfs_dir$filebasename"
unzip -d "$tmpfs_dir$filebasename" "$file" > /dev/null # < /dev/zero

find "$tmpfs_dir$filebasename" -iname *.css -exec rm {} \;
find "$tmpfs_dir$filebasename" -iname *.otf -exec rm {} \;
find "$tmpfs_dir$filebasename" -iname *.ttf -exec rm {} \;
find "$tmpfs_dir$filebasename" -iname cover.jpg -exec rm {} \;

cd "$tmpfs_dir$filebasename"
zip -r "$location${filebasename}_clean.epub" .
cd "$location"
rm -rf "$tmpfs_dir$filebasename"
Один запуск
 $ find . -iname *.epub -exec bash ~/bin/optimize/epub_cleaner.sh "{}" \;
зменшив розмір каталогу з 300 до 80 МіБ.

2013-10-23

Time to live exceeded

$ !ping
ping 8.8.8.8 -c10
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
From x.x.x.x icmp_seq=1 Time to live exceeded
From x.x.x.x icmp_seq=2 Time to live exceeded
From x.x.x.x icmp_seq=3 Time to live exceeded
From x.x.x.x icmp_seq=4 Time to live exceeded
From x.x.x.x icmp_seq=5 Time to live exceeded
From x.x.x.x icmp_seq=6 Time to live exceeded
From x.x.x.x icmp_seq=7 Time to live exceeded
From x.x.x.x icmp_seq=8 Time to live exceeded
From x.x.x.x icmp_seq=9 Time to live exceeded
From x.x.x.x icmp_seq=10 Time to live exceeded

-— 8.8.8.8 ping statistics —-
10 packets transmitted, 0 received, +10 errors, 100% packet loss, time 9010ms

2012-05-23

автоматичні сповіщення про завершення виконання команди у терміналі

якщо підходяще налаштувати сповіщення системи, то можна дуже зручно дізнаватись коли закінчилось виконання скрипта, додавши у його кінець
echo -e "\a"
Оновлення:
Можна ще додати
PROMPT_COMMAND="echo -e '\a'"
у ~/.bashrc

2011-11-29

fileorphan

опублікував fileorphan: пошук 'осиротілих' _файлів_ для Ubuntu, Debian, Arch, Gentoo, rpm-based, *BSD. Прошу допомогти з тестуванням:
https://code.launchpad.net/~xintx-ua/+junk/fileorphan
Наразі без жодної оптимізації. Поки перевірив тільки з dpkg.

2011-10-24

доповнення command-not-found

Додав собі автоматичне встановлення до command-not-found. Може комусь ще згодиться.

2011-07-28

RAID0 на EEE PC 901 + результат тесту Phoronix Apache

Не без проблем, але вдалось поставити, зробивши RAID0 на 4+4Гб + 12Гб для /home на другому SSD:
https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/817507
Попередня спроба з btrfs:
http://int-ua.blogspot.com/2011/06/btrfs-ubuntu-1104-eee-pc-901-ssd.html

Оновлення:

Порівняння швидкодії:
http://openbenchmarking.org/result/1106195-GR-FIRSTAPAC99,1107296-GR-EEEPC901R99

2011-07-06

Швидке створення пустого файлу певного розміру (sh) (рішення знайдено, і навіть два)

dcstar:
$ fallocate -l 8g swap
Михайло Даниленко (раджу прочитати весь запис за посиланням):
#include 
#include 
#include 

int main (int argc, char **argv)
{
     int fd = open (argv[1], O_CREAT|O_WRONLY);
     posix_fallocate (fd, 0, 10000000000);
     close (fd);
     return 0;
}

2011-01-14

як перерахувати роз’єми для накопичувачів

і чим вони зайняті (виключаючи USB). Добре, коли сервер поряд.

2011-01-12

list all file extensions in bash (*sh)

find . -type f | grep -o "\.[^[:punct:]]*$" | sort | uniq