The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

Как в sh определить число символов в строке
В FreeBSD sh и bash:
test="string"
len=${#test} ##Длина строки test
char1='t' ##Первый символ для поиска
pos1='echo $test | awk -vs=${char1} '{print index($0,s);}''  ##pos1=2 - найден
 
28.06.2002 , Автор: Soldier
Раздел:    Корень / Программисту и web-разработчику / Shell / Готовые скрипты

Обсуждение [ RSS ]
 
  • 1, merzod, 18:08, 04/04/2007 [ответить] [смотреть все]
  • +/
    А вот давайте посмотрим так: запустим тогда выше описанный скриптик в SH, а не BASH!

    #!/bin/sh
    test="string"
    len=${#test}

    и что же он там ответит? Кто угадает - поставлю пятерочку... правильно, ответит он нам:

    ./1.sh: bad substitution

    поэтому, Уважаемый надо либо темочку подправить на BASH или дописать сюда следущее:

    len='echo $test | wc -m'

    но будте бдительны!!! от $len надо еше единичку отнять.

    real_len=$[len-1]

     
  • 2, merzod, 18:30, 04/04/2007 [ответить] [смотреть все]
  • +/
    Круче:

    real_len='expr $len - 1'

     
  • 3, nameless, 12:45, 18/02/2010 [ответить] [смотреть все]
  • +/
    printf $test | wc -m
     
  • 4, Николай, 14:30, 13/07/2011 [ответить] [смотреть все]
  • +/
    echo text | wc -m
    Обманывает - выводит на один символ больше

    Вот вывод моего bash:
    ~$ echo text | wc -m
    5

     
  • 5, mmihail, 18:39, 16/12/2011 [ответить] [смотреть все]
  • +/
    не надо ничего отнимать
    echo надо знать команду как следует

    echo -n text | wc -m

     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:

     Добавить заметку
     Версия для печати
     
     Поиск заметки:
     

    Последние заметки
    - 12.05 Организация шифрованного бэкапа с помощью rdiff-backup, encfs и Dropbox
    - 11.05 Настройка беспроводного соединения в Debian GNU/Linux
    - 07.05 Использование Google Drive в Linux
    - 18.04 Использование нескольких сетевых стеков в Linux
    - 15.04 Восстановление стандартного KDE меню после его удаления (например, wine)
    - 11.04 Настройка gmirror при использовании GPT во FreeBSD 9
    - 09.04 Маршрутизатор на базе FreeBSD с приоритизация трафика средствами PF и ALTQ
    - 02.04 Частичное восстановление данных MySQL из бэкапа, созданного с использованием LVM
    - 21.03 Настройка DNSSEC в BIND 9.9
    - 17.03 Набор номера на Cisco IP Phone 7960/7940 из скрипта
    RSS | Следующие 15 записей >>


    ПОДПИШИСЬ НА ЖУРНАЛ Linux Format 2012!

    Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

    Каждый, кто оформит подписку, получает бонусы и подарки- объёмные наклейки на системный блок, диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

    Оформить подписку на год


      Закладки на сайте
      Проследить за страницей
    Created 1996-2012 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    RUNNet TopList