Покажи Публикации - radoulov
* Виж публикациите на потр. | Виж темите на потр. | Виж прикачените файлове на потр
Страници: 1 ... 4 5 [6] 7 8
76  Linux секция за начинаещи / Настройка на програми / Re: Конвертиране на .pdf в .odt -: Aug 09, 2009, 13:29
Аз използвам xpdf за конвертиране на pdf в text.

Open source е и можеш да го свалиш от тук:

http://www.foolabs.com/xpdf/download.html
77  Програмиране / Общ форум / Re: date + ping > logfile.txt -: Jul 14, 2009, 17:47
Радулов, дишай, разбрахме колко си добър на пърл и баш :)
[...]

OK,
няма да се обаждам повече  ;D
78  Програмиране / Общ форум / Re: date + ping > logfile.txt -: Jul 14, 2009, 15:50
Ако съм разбрал правилно:

Код
GeSHi (Bash):
  1. ping ... |
  2.  while IFS= read -r; do
  3.    printf '%s %s\n' "$(date)" "$REPLY"
  4.  done

Ако искаш изхода във file:

Код
GeSHi (Bash):
  1. ping ... |
  2.  while IFS= read -r; do
  3.    printf '%s %s\n' "$(date)" "$REPLY"
  4.  done > outfile

Във file и STDOUT едновременно:

Код
GeSHi (Bash):
  1. ping ... |
  2.  while IFS= read -r; do
  3.    printf '%s %s\n' "$(date)" "$REPLY"
  4.  done |
  5.    tee outfile
79  Програмиране / Общ форум / Re: AWK събиране на няколко реда в един -: Jul 03, 2009, 14:17
Код
GeSHi ():
  1. awk 'END {
  2.  for (k in r) print k, r[k], c[k]  
  3.  }
  4. {
  5.  r[$1] = r[$1] ? r[$1] FS $2 : $2
  6.  c[$1]++
  7.  }
  8. ' infile


Код
GeSHi (Perl):
  1. perl -lane'
  2.  push @{$r{$F[0]}}, $F[1];
  3.  print map "$_ @{$r{$_}} ".~~@{$r{$_}}."\n", keys %r
  4.    if eof
  5. ' infile


Zsh:

Код
GeSHi (Bash):
  1. unset a c
  2. typeset -A a c
  3.  
  4. while read -r p i; do
  5.  [ $a[$p] ] && a[$p]="$a[$p] $i" || a[$p]=$i
  6.  ((++c[$p]))
  7. done<infile
  8.  
  9. for k (${(k)a[@]}) print -r -- $k $a[$k] $c[$k]
80  Програмиране / Общ форум / Re: Помощ за bash script -: May 12, 2009, 11:06
С awk:

Код:
awk -F': |\n' '{print>$2".txt"}' RS= big_file

За да избегнеш грешката too many open files при някои стари awk версии:

Код:
awk -F': |\n' '{
  f && close(f)
  print > (f = $2 ".txt")
  }' RS= big_file
81  Linux секция за начинаещи / Настройка на програми / Re: Малко помощ за bash -: Mar 25, 2009, 15:48
[...]
Код:
$touch "a`printf '\t'`b"

В този случай можеш дори да използваш ANSI strings, ако твоята shell ги поддържа:

Код
GeSHi (Bash):
  1. touch a$'\t'b
82  Linux секция за начинаещи / Настройка на програми / Re: Малко помощ за bash -: Mar 24, 2009, 16:13
Код:
find . -name '*.txt' -print0 | xargs -0 rm
Ей това е най-елегантното решение, таман мислех да го напиша. Другите са малко "за Перник през Бургас"  ;)

И защо трябва да използваш две програми (find и xargs), след като find (Solaris, BSD и GNU) поддържа/емулира вътрешно xargs с оператора +?
83  Linux секция за начинаещи / Настройка на програми / Re: Малко помощ за bash -: Mar 24, 2009, 12:43
Тъй като си мисля, че се пробвате да си мерите....знанията  [...]

Не си мерим знанията, ами се опитваме да дадем правилно решение ...
84  Linux секция за начинаещи / Настройка на програми / Re: Малко помощ за bash -: Mar 24, 2009, 12:14
Защо стреляме по зайци с галбица?

Код:
rm -R --interactive=none *.txt 

-R за рекурсивност, а другото да не те пита на всеки файл

[...]

От man rm | less -p'^ *-r':
Цитат
       -r, -R, --recursive
              remove directories and their contents recursively

... т.е., не е това, което toti84 иска.

Това е с bash4, иначе трябва да използваш find:

Код
GeSHi (Bash):
  1. $ printf '%s\n' **/*.txt
  2. 1.txt
  3. dir1/2.txt
  4. dir1/.3.txt
  5. dir1/dir2/4.txt
  6. $ rm -R *.txt
  7. $ printf '%s\n' **/*.txt
  8. dir1/2.txt
  9. dir1/.3.txt
  10. dir1/dir2/4.txt
  11. $ rm -- **/*.txt
  12. $ printf '%s\n' **/*.txt
  13.  
  14. $
85  Linux секция за начинаещи / Настройка на програми / Re: Малко помощ за bash -: Mar 24, 2009, 12:04
С bash4:

Код
GeSHi (Bash):
  1. shopt -s globstar nullglob
  2. rm -- **/*.txt

Ако искаш да включиш и dotfiles прибави dotglob.

С която и да е shell и find, който поддържа опцията +:

Код
GeSHi (Bash):
  1. find -name '*.txt' -exec rm {} +

Ако искаш да не включваш dotfiles:

Код
GeSHi (Bash):
  1. find ! -name '.?*' -name '*.txt' ...

86  Програмиране / Общ форум / Re: Bash script -: Mar 04, 2009, 20:40
Мой пропуск :)
Сега е ОК.

Код
GeSHi (Bash):
  1. _dir="{}"
87  Програмиране / Общ форум / Re: Bash script -: Mar 04, 2009, 12:15
Код
GeSHi (Bash):
  1. #! /bin/sh
  2.  
  3. source_filename='guitar.ogg' target_filename='song.ogg' source_dir='<your_source_dir>'
  4. export source_filename target_filename
  5.  
  6.  
  7. find "${source_dir:=.}" -type d -exec sh -c '
  8.  _dir="{}"
  9.  [ -f "$_dir/$target_filename" ] || {
  10.    printf "copying %s in %s ... " "$target_filename" "$_dir"
  11.    [ -r "$_dir/$source_filename" ] || {
  12.      printf "%s missing or not accessible, skipping ...\n" "$_dir/$source_filename"
  13.      exit 1
  14.      }
  15.    cp "$_dir/$source_filename" "$_dir/$target_filename" || {
  16.      printf "error copying %s to %s in %s\n" "$source_filename" "$target_filename" "$_dir"
  17.      exit 1
  18.      }
  19.    printf "done\n"
  20. }'  inline \;
88  Хумор, сатира и забава / Живота, вселената и някакви други глупости / Re: Какво работите -: Feb 06, 2009, 13:20
ИТ - Системна администрация

Работя като database administrator в компания, която предлага outsourcing services в Милано, Италия.
89  Програмиране / Общ форум / Re: Bash script -: Jan 19, 2009, 14:31
Още един:

Код
GeSHi (Bash):
  1. #! /bin/bash
  2.  
  3. export dest="$HOME/mp3s" # adjust to taste
  4.  
  5. [ -d "$dest" ] || mkdir "$dest" # see above
  6.  
  7. find -name '*.mp3' -type f -exec bash -c '
  8.  f="$1" a="${f##*/}" d="$dest/${a% -*}"
  9.  [ -d "$d" ] || mkdir "$d" && mv -v "$f" "$d"
  10.  ' - {} \;
90  Програмиране / Общ форум / Re: Помощ за един лесничък скрипт -: Dec 28, 2008, 20:22
Или с GNU sed(заради -r) и bash:

Код:
$ ./s x is 5 plus 6 plus 7 plus 8
x is 26
$ cat s
#!/bin/bash

eval $(sed -r 's/plus/+/g;s/([^0-9]*)([0-9].*)/echo \1 $((\2))/'<<<$@)

С Perl:

Код:
$ perl -le'
 ($_ = shift) =~ s/plus/+/g;
 /(\D*)(.*)/ and print $1, eval $2
  ' 'x is 5 plus 6 plus 7 plus 8'
x is 26

Страници: 1 ... 4 5 [6] 7 8