NBash

Форк
0
79 строк · 3.8 Кб
1
### Характеристики строки
2

3
    ${#string} — Длина строки
4

5
### Извлечение подстроки
6

7
    ${string:position} — с position до конца
8
    ${string:position:length} - с position длиной length символов
9
    ${string: -length} - последние length символов
10

11
### Удаление части строки
12

13
    ${string#substring} — Удаление самой короткой, из найденых, подстроки $substring в строке $string. Поиск ведется сначала строки
14
    ${string##substring} — Удаление самой длинной, из найденых, подстроки $substring в строке $string. Поиск ведется сначала строки
15
    ${string%substring} — Удаление самой короткой, из найденых, подстроки $substring в строке $string. Поиск ведется с конца строки
16
    ${string%%substring} — Удаление самой длинной, из найденых, подстроки $substring в строке $string. Поиск ведется с конца строки
17

18
        stringZ=abcABC123ABCabc
19
        #       |----|
20
        #       |----------|
21
        echo ${stringZ#a*C}      
22
        # 123ABCabc
23
        # Удаление самой короткой подстроки.
24
        echo ${stringZ##a*C}     
25
        # abc
26
        # Удаление самой длинной подстроки.
27

28
        stringZ=abcABC123ABCabc
29
        #                    ||
30
        #        |------------|
31
        echo ${stringZ%b*c}      
32
        # abcABC123ABCa
33
        # Удаляется самое короткое совпадение. Поиск ведется с конца $stringZ
34

35
        echo ${stringZ%%b*c}     
36
        # a
37
        # Удаляется самое длинное совпадение. Поиск ведется с конца $stringZ
38

39

40

41

42
### Замена подстроки
43

44
    ${string/substring/replacement} — первое вхождение
45

46
        stringZ=abcABC123ABCabc
47
        echo ${stringZ/abc/xyz}           
48
        # xyzABC123ABCabc
49

50
    ${string//substring/replacement} — все вхождения
51

52
        stringZ=abcABC123ABCabc
53
        echo ${stringZ//abc/xyz}           
54
        # xyzABC123ABCxyz
55

56
    ${var/#Pattern/Replacement} — Если в переменной var найдено совпадение с Pattern, причем совпадающая подстрока расположена в начале строки (префикс), то оно заменяется на Replacement. Поиск ведется с начала строки
57

58
    ${var/%Pattern/Replacement} — Если в переменной var найдено совпадение с Pattern, причем совпадающая подстрока расположена в конце строки (суффикс), то оно заменяется на Replacement. Поиск ведется с конца строки
59

60

61
        stringZ=abcABC123ABCabc
62
        echo ${stringZ/#abc/XYZ}          
63
        # XYZABC123ABCabc                                 
64
        # Поиск ведется с начала строки
65

66
        echo ${stringZ/%abc/XYZ}          
67
        # abcABC123ABCXYZ                                  
68
        # Поиск ведется с конца строки
69

70
### Значение по умолчанию
71

72
    ${parameter:-defaul} defaul if parameter not defined or empty (parameter= )
73
    ${parameter-defaul} defaul if parameter not defined
74

75
        DEFAULT_FILENAME=generic.data
76
        filename=${1:-$DEFAULT_FILENAME}
77
        #  Если имя файла не задано явно, то последующие операторы будут работать
78
        #+ с файлом "generic.data".
79
        #

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.