[Volgograd] mova

Dwarf dwarf на reg.avtlg.ru
Вт Апр 15 23:10:39 MSD 2003


On Tue, Apr 15, 2003 at 07:53:41PM +0400, Serge S. Fukanchik wrote:
> Dwarf wrote:
> >Как получить "чистый" текст, т.е. через что можно "профильтровать",
> >чтобы без этих ncurses разметок (_ и пр.)?
> >
> Походу mova думает что stdout у нее терминальное устройство а не pipe,
> попробуй поискать способ отключить расцветку в командной строке mova,
> и только потом используй grep или tr напрмер tr -d _символ_ удалит все
> вхождения _символ_а из stdinа

Ничего она не думает, это просто скрипт, можешь сам посмотреть

-- 
С уважением, искренне Ваш,
Dwarf (aka Maxim V. Kovrov)

    Искусство принадлежит мне. /Народ/
----------- следущая часть -----------
#!/bin/bash
case $# in
0) echo "\"mova\" is a bash script to search for a word, or a collocation, or the tandem of symbols in a dictionary.
ver. 4.0, (C) E.S.Cymbalyuk 1999. Under GNU GPL. No Warranty.
The latest version see on www.chat.ru/~mueller_dic or www.geocities.com/mueller_dic"
echo "mova (OPTION) word1 (word2) (word3) ... (-d DICTIONARI)"
echo "Possible OPTION is -w or -b or -s or -t or -W or -B or -S or -T"
echo "-w  search for a word1 from beginning of each entry of DICTIONARI. Default option."
echo "-b  search for the tandem of symbols from beginning of each entry of DICTIONARI"
echo "-s  search for the string of word1+word2+word3+... in DICTIONARI"
echo "-t  search for tandem of symbols in DICTIONARI"
echo "-W, -B, -S, -T - analogous options for using with GUI scripts."
echo "DICTIONARI - name of dictionary file. Without DICTIONARY it will be used default one from \".movarc\"."
exit;;
esac

#Default Directory for .movarc, if absent ~/.movarc
MD=/etc/mova/

XW () {
sed 's/$/\
/g; s/; \([A-Za-z(]\)/;\
       \1/g; s/; \([0-9][0-9]*[^)>.]\)/;\
       \1/g; s/: \([A-Za-z(]\)/:\
       \1/g; s/: \([0-9][0-9]*[^)>.]\)/:\
       \1/g; s/_[IVX][IVX]* /_\
  &/g; s/ [1-9]\. / _\
   &/g; s/[1-9][0-9]*>/_\
      &/g; s/[абвгдежзиклмнопрстуфчцчшхщъьэюя]>/\
        &/g; s/_[AISE][a-z]*:/_\
          &/g'|fmt -s -w 46;}

CON () {
sed 's/$/\
/g; s/; \([A-Za-z(]\)/;\
       \1/g; s/; \([0-9][0-9]*[^)>.]\)/;\
       \1/g; s/: \([A-Za-z(]\)/:\
       \1/g; s/: \([0-9][0-9]*[^)>.]\)/:\
       \1/g; s/_[IVX][IVX]* /_\
  &/g; s/ [1-9]\. / _\
   &/g; s/[1-9][0-9]*>/_\
      &/g; s/[абвгдежзиклмнопрстуфчцчшхщъьэюя]>/\
        &/g; s/_[AISE][a-z]*:/_\
          &/g; s/_[^ ][^ ]*[.:]/\\fI&\\fP/g; s/_//g; s/╚/э/g; s/█/O/g; s/\( \[[^]]*\)х/\1`/g; s/\( \[[^]]*\)г/\1,/g; s/\( \[[^]]*\)х/\1`/g; s/\( \[[^]]*\)г/\1,/g' | fmt -s -w 46 |groff -Tlatin1 | less;}

DEF () {
test -f ${MD}Movarc && DIRD=`cat ${MD}Movarc | sed -n '6,6p'`share/dict/ && DEFD=`cat ${MD}Movarc | sed -n '8,8p'`
test -f ~/.movarc && DIRD=`cat ~/.movarc | sed -n '6,6p'`share/dict/ && DEFD=`cat ~/.movarc | sed -n '8,8p'`
if [ "$DIC" = "-d" ]; then DIC=$DIRD$DEFD; else DIC=$DIRD$DIC; fi;}

for i
do
if ( [ "$i" = "-w" ] || [ "$i" = "-b" ] || [ "$i" = "-s" ]  ||
 [ "$i" = "-t" ] || [ "$i" = "-W" ] || [ "$i" = "-B" ]  ||
 [ "$i" = "-S" ] || [ "$i" = "-T" ] || [ "$i" = "-h" ]  ||
 [ "$i" = "--h" ] ); then OPTION=$i; continue; fi
if ( [ "$i" = "-d" ] || [ "$DIC" = "-d" ] ); then DIC=$i; continue; else ST=${ST-$i}; fi
if [ "$STR" = "" ]; then STR=$i; else STR=$STR\ $i; fi
done

DIC=${DIC-"-d"}
test -f $DIC || DEF

case $OPTION in
"-W")
grep -h -i -w -e "^$ST" "$DIC" | XW
;;
"-B")
grep -h -i -e "^$ST" "$DIC" | XW
;;
"-S")
grep -h -i -w -e "$STR" "$DIC" | XW
;;
"-T")
grep -h -i -e "$STR" "$DIC" | XW
;;
"-h")
exec mova
;;
"--help")
exec mova
;;
"-w")
grep -h -i -w -e "^$ST" "$DIC" | sed "s/$ST/\\\fB&\\\fP/g" | CON
;;
"-b")
grep -h -i -e "^$ST" "$DIC" | sed "s/$ST/\\\fB&\\\fP/g" | CON
;;
"-s")
grep -h -i -w -e "$STR" "$DIC" | sed "s/$STR/\\\fB&\\\fP/g" | CON
;;
"-t")
grep -h -i -e "$STR" "$DIC" | sed "s/$STR/\\\fB&\\\fP/g" | CON
;;
"")
grep -h -i -w -e "^$ST" "$DIC" | sed "s/$ST/\\\fB&\\\fP/g" | CON
esac


Подробная информация о списке рассылки Volgograd