Bash-скрипты — объединение строк

Опубликовано: 30 Сентября, 2022

В этой статье мы увидим конкатенацию строк в сценариях 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