Поиск по сайту:
Другим прощай часто, себе — никогда (Пубилий).

Как найти длину строки в Bash [Совет]

27.08.2020
Bash Heredoc

Если вы имеете дело со строками в bash, вам может потребоваться знать длину строки.

К счастью, получить длину строки в bash очень просто. Допустим, у вас есть строка с именем my_string. Ее длину можно извлечь как:

${#my_string}

 

Вот пример, чтобы лучше объяснить:

destroyer@andreyex:~$ my_string="destroyer"
destroyer@andreyex:~$ echo "длина ${#my_string}"
длина 9

 

Это было легко, правда? Вы можете сохранить эту длину строки в другой переменной и использовать ее позже:

destroyer@andreyex:~$ my_string="destroyer"
destroyer@andreyex:~$ length=${#my_string}
destroyer@andreyex:~$ echo "Длина строки $length"
Длина строки 9

 

Как и большинство других вещей в Linux, это не единственный способ вычисления длины строк в Bash.

 

Получить длину строки в bash с помощью команды expr

Давайте посмотрим на некоторые другие команды, которые могут помочь вам проверить длину строки в bash.

Одна из этих команд – команда expr. У него есть несколько опций, которые полезны для строковых опций. Среди них length, вы получите длину строки.

destroyer@andreyex:~$ expr length "моя строка"
10

 

Поскольку команда expr выводит длину, вы должны сохранить ее в переменной, используя подстановку команд.

#!/bin/bash

str="моя строка"
length=$(expr length "$str")
echo "Длина моей строки $length"

 

Теперь, если вы запустите этот сценарий оболочки bash, он напечатает длину:

destroyer@andreyex:~$ bash string.sh 
Длина моей строки 10

 

Используйте awk, чтобы получить длину строки

AWK – универсальная команда для редактирования текста в командной строке Linux. Вы также можете использовать его для расчета длины строки.

Читать  Установка и настройка SSHFS

Вам нужно будет использовать команду echo, а затем использовать перенаправление канала, чтобы проанализировать ее с помощью команды awk:

destroyer@andreyex:~$ echo "моя строка" | awk '{print length}'
10

 

Как видите, запомнить синтаксис непросто , если вы не знакомы с основами работы с командами awk.

 

Использование команды wc для вычисления длины строки

Другой способ получить длину строки в Linux – использовать команду wc. Теперь команда wc используется для подсчета количества строк, символов в файле.

Вы можете повторить строку и передать ее команде wc. Опция -m дает количество символов.

destroyer@andreyex:~$ echo -n "моя строка" | wc -m
10

 

Обратите внимание на вариант -n с командой echo? Это важно, потому что echo автоматически добавляет новый символ строки \n в конец и увеличивает длину строки на единицу. С Опцией -n команда echo не добавляет новый строчный символ.

Вы можете использовать подстановку команд, чтобы сохранить длину строки в переменной, как вы видели в предыдущих примерах.

#!/bin/bash

str="моя строка"
length=$(echo -n "моя строка" | wc -m)
echo "Длина моей строки $length"

 

Лично мы предпочитаем $ {# string} для получения длины строки. Легче запомнить.

Как насчет вас? Какой метод вы предпочитаете?

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Выполнить последнюю команду !! !!   например, если мы ввели…

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: