The UNIX and Linux Forums  

Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
Google unix.com



Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Граф число вхождений слова shikhakaul UNIX для чайников Вопросы И Ответы 8 06-25-2009 12:10 PM
PERL: Простой обл Expr проверить 6 цифр номера BufferExploder Shell программирование и сценарии 2 09-10-2008 12:15 PM
Сосчитайте число случаев perticular слова из файла rinku Shell программирование и сценарии 40 08-10-2007 08:33 PM
Слово неправильно рассчитывать указанием количества строк tselvanin UNIX для чайников Вопросы И Ответы 3 01-06-2004 11:33 PM
ограничить количество цифр в PID mlefebvr UNIX перспективных И опытных пользователей 1 05-27-2002 10:33 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценка: Thread Rating: 1 votes, 4.00 average. Режимы дисплея
Old 01-05-2009
./hari.sh's Avatar
. / hari.sh ./hari.sh is offline
Зарегистрированный пользователь
  
 

Регистрация: Jul 2007
Место проведения: Индия
Сообщений: 44
Граф числа цифр в слово

Привет всем

Может ли кто-нибудь предложить мне, как добраться количество цифр в слово

Я старался


Код:
WORD=abcd1234
echo $WORD | grep -oE [[:digit:]] | wc -l
4

Она работает в командной строке Bash, но не в сценарии
Old 01-05-2009
Цурко tsurko is offline
Зарегистрированный пользователь
  
 

Регистрация: Июнь 2007
Местоположение: София, Болгария
Сообщений: 35
Не могли бы вы показать нам, как использовать этот код в ваш сценарий? Если вы хотите сохранить ее в переменной попробовать нечто вроде этого:

Код:
COUNT=`echo $WORD | grep -oE [[:digit:]] | wc -l`

Old 01-05-2009
./hari.sh's Avatar
. / hari.sh ./hari.sh is offline
Зарегистрированный пользователь
  
 

Регистрация: Jul 2007
Место проведения: Индия
Сообщений: 44
есть ряд других проблем ...

Позвольте мне сказать вам, что именно я хочу

У меня есть слово с 8 chrs, что-то вроде abc12345 или ab123456

Теперь, если последние пять цифр chrs является то я хотел бы сделать некоторые другие операции

Я использовал код

Код:
if [ `echo $WORD | cut -c 4-8  | grep -oE [[:digit:]] | wc -l` -eq 5 ]
then
do this...

Баш командной строки, она дает выход, но в сценарий дает "0" всегда "
Old 01-05-2009
SFNYC SFNYC is offline
Зарегистрированный пользователь
  
 

Регистрация: Jun 2008
Расположение: Нью-Йорк
Сообщений: 95

Код:
$ cat ./testgrep.ksh
#!/bin/ksh

WORD=abc12345

echo $WORD|grep -qE "[[:digit:]]{5}$"
if [ $? -eq 0 ]; then
     echo "Do this with $WORD"
else
     echo "Else do this with $WORD"
fi

WORD2=ab123456

echo $WORD2|grep -qE "[[:digit:]]{5}$"
if [ $? -eq 0 ]; then
     echo "Do this with $WORD2"
else
     echo "Else do this with $WORD2"
fi

WORD3=abc1234

echo $WORD3|grep -qE "[[:digit:]]{5}$"
if [ $? -eq 0 ]; then
     echo "Do this with $WORD3"
else
     echo "Else do this with $WORD3"
fi

exit 0

$ ./testgrep.ksh
Do this with abc12345
Do this with ab123456
Else do this with abc1234

Old 01-05-2009
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
наркоман
  
 

Регистрация: Январь 2007
Местоположение: Варна, България / Милан, Италия
Сообщения: 2926
Цитата:
Первоначально Послано . / hari.sh View Post
Привет всем

Может ли кто-нибудь предложить мне, как добраться количество цифр в слово

Я старался


Код:
WORD=abcd1234
echo $WORD | grep -oE [[:digit:]] | wc -l
4

Она работает в командной строке Bash, но не в сценарии
Кажется, вы на GNU системы, поэтому вам, вероятно, Баш > \u003d 3, и вы могли бы попробовать нечто вроде этого:

Код:
$ WORD=abcd1234
$ [[ $WORD  =~ [0-9]{5}$ ]] && echo OK || echo KO
KO
$ WORD=abcd12345
$ [[ $WORD  =~ [0-9]{5}$ ]] && echo OK || echo KO
OK

Old 01-05-2009
vgersh99's Avatar
vgersh99 vgersh99 is offline Forum Staff  
Модератор
  
 

Регистрация: Февраль 2005
Место: Boston, MA
Сообщения: 5131

Код:
#!/bin/ksh

WORD=abcd1234

[[ $(echo "${WORD}" | awk '{print gsub("[0-9]", "")}')  -eq 5 ]] && echo OK || echo KO

Old 01-05-2009
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
наркоман
  
 

Регистрация: Январь 2007
Местоположение: Варна, България / Милан, Италия
Сообщения: 2926
Или:

Код:
% perl -le'print shift=~/\d{5}$/?"OK":"KO"' abcd1234
KO
% perl -le'print shift=~/\d{5}$/?"OK":"KO"' abcd12345
OK

Closed Thread

Закладки

Теги
Perl, Perl сдвиг, перемещение, переход на Perl

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 03:56 AM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0