Bash: Длина Строки — Как Узнать

Если часто пишете Bash скрипты, то рано или поздно сталкиваетесь с ситуацией, когда необходимо узнать длину строки либо узнать длину переменной в которой хранится строка.

В этой небольшой заметке показано как подсчитать количество символов в строке из командной строки в Linux и как узнать длину каждой строки в файле.

Также вы узнаете как вычислить длину переменной в Bash и затем назначить подсчитанное количество символов другой переменной.

Не работает с кириллицей: Приведенные в статье команды не работают с кириллицей, так как определяют длину строк количеством байт а не символов. В свою очередь кириллические символы в UTF-8, как известно, занимают по два байта.

Дельный Совет: Необходимо передать аргументы Bash скрипту? Сделайте так, чтобы он выводил подсказку и прерывался если они не переданы! Придерживайтесь лучшей практики! Читать далее →

Длина Строки в Bash

Узнать длину строки из консоли в Linux, с помощью команды expr:

$ expr length "Find out the length of this string from Linux Bash shell."
57

Получить длину строки в Bash, с помощью команды wc:

$ echo -n "Get the length of this line in Bash" | wc -c
35

Узнать длину строки в Bash, с помощью команды awk:

$ echo "--- What about this line? ---" | awk '{print length}'
29

Длина Каждой Строки в Файле

Дельный Совет: Сделайте Bash скрипт интерактивным! Научите его спрашивать «Да/Нет» для подтверждения. Читать далее →

Допустим у нас есть файл со следующим содержимым:

$ cat file
This is the first line
This is the second line
This is the third line
This is the fourth line
This is the fifth line
And so on

Узнать длину каждой строки в файле:

$ awk '{ print $0 " = " length($0) }' file
This is the first line = 22
This is the second line = 23
This is the third line = 22
This is the fourth line = 23
This is the fifth line = 22
And so on = 9

Печать только количества символов:

$ awk '{ print length($0) }' file
22
23
22
23
22
9

Длина Переменной в Bash

Не возможно себе представить Bash скрипты, без широкого использования различных переменных.

Вполне распространенной является ситуация, когда вы храните какую-то строку в переменной и вам необходимо узнать ее длину, чтобы затем пропустить это значение через, например, конструкцию if...then...else.

Узнайте как подсчитать длину переменной в Bash и как, при необходимости, назначить это значение другой переменной.

Дельный Совет: Не будьте занудой! Сделайте ваш Bash скрипты ЦВЕТНЫМ! Пусть он выглядит ВЕЛИКОЛЕПНО! Читать далее →

Узнать длину строки хранящейся в переменной:

$ VAR="This string is stored in a variable VAR"
$ echo ${#VAR}
39

Подсчитать количество символов в одной переменной и сохранить его в другой переменной:

$ VAR="This string is stored in a variable VAR"
$ VAR_LENGTH=${#VAR}
$ echo $VAR_LENGTH
39