Bash-скрипты — объединение строк
В этой статье мы увидим конкатенацию строк в сценариях bash.
Объединение двух или более строк вместе называется конкатенацией строк . Bash не имеет встроенной функции для выполнения конкатенации строковых данных или переменных. Существуют различные методы, с помощью которых мы можем выполнять конкатенацию строк в bash, а именно:
Способ 1: записывайте переменные рядом
Это самый простой способ выполнить конкатенацию.
Пример: Возьмем две строки (т. е. «добро пожаловать» и «компьютерщикам»), и мы хотим вернуть новую строку, которая представляет собой комбинацию данных двух строк.
Код:
#!/bin/bash # Script to Concatenate Strings # Declaration of first String str1="Welcome" # Declaration of Second String str2=" to GeeksforGeeks." # Combining first and second string str3="$str1$str2" # print the concatenated string echo $str3
Выход:
Welcome to GeeksforGeeks.
Способ 2: использование двойных кавычек
Это также один из простых способов выполнения конкатенации. Этот метод использует переменные внутри строки, которая определяется двойными кавычками. Преимущество использования этого метода заключается в том, что мы можем конкатенировать строковую переменную в любой позиции строковых данных.
Пример: давайте соединим две строки (т. е. «кому» и «Добро пожаловать в Geeksforgeeks») таким образом, чтобы получить результат «Добро пожаловать в GeeksforGeeks».
Код:
#!/bin/bash # Concatenate Strings # Declaration of String Variable str="to" # Add the variable within the string echo "Welcome $str GeeksforGeeks."
Выход:
Welcome to GeeksforGeeks.
Способ 3: Использование функции printf
printf — это функция в bash, которая используется для печати и объединения строк.
Синтаксис:
printf -v new_str “$str string_to_concatenate.”
Эта команда объединит данные, заключенные в двойные кавычки, и сохранит новую строку в переменной new_str. В этом методе мы также можем конкатенировать строковую переменную в любой позиции.
Пример: давайте соединим две строки (т. е. «кому» и «Добро пожаловать в Geeksforgeeks») таким образом, чтобы получить результат «Добро пожаловать в GeeksforGeeks».
Код:
#!/bin/bash str="to" printf -v new_str "Welcome $str GeeksforGeeks." echo $new_str
Выход:
Welcome to GeeksforGeeks.
Способ 4: использование литеральной строки
В этом методе конкатенация выполняется с литеральной строкой с помощью фигурных скобок{}. Его следует использовать таким образом, чтобы переменная не смешивалась с литеральной строкой.
Давайте соединим две строки (т. е. «кому» и «Добро пожаловать в Geeksforgeeks») таким образом, чтобы в результате возвращалось «Добро пожаловать в GeeksforGeeks».
Код:
#!/bin/bash
str="to"
# concatenation of strings
new="Welcome ${str} GeeksforGeeks."
echo "$new"Выход:
Welcome to GeeksforGeeks.
Способ 5: Использование цикла
Этот метод используется, когда нам нужно объединить строки, присутствующие в списке.
Синтаксис:
newstr=" " for value in list; do # Combining the list values using append operator Newstr+="$value " done
Пример
Код:
lang="" # for loop for reading the list for value in "Welcome ""to ""GeeksforGeeks""!!"; do # Combining the list values using append operator lang+="$value " done # Printing the combined values echo "$lang"
Выход:
Welcome to GeeksforGeeks!!
Способ 6: Использование любого символа
Если мы хотим объединить строки, разделенные определенными символами, мы используем этот метод. Это похоже на запись переменных рядом.
В этом методе мы записываем переменные рядом с символом между ними.
Пример: давайте соединим строки («Яблоко», «Манго», «Гуава», «Апельсин»), разделенные запятой (,).
Код:
str1="Apple" str2="Mango" str3="Guava" str4="Orange" # concatenate string using "," echo "$str1,$str2,$str3,$str4"
Выход:
Apple,Mango,Guava,Orange