EN
Bash - repeat a character N times
3 points
This article will show you how to repeat a character N times in Bash.
To repeat character it is necessary to write some loop.
Quick solution (+
repeated 10
times):
xxxxxxxxxx
1
2
3
for i in {1..10}; do echo -n "+"; done
or:
xxxxxxxxxx
1
2
3
for (( i = 0; i < 10; ++i )); do echo -n "+"; done
Note: the
-n
attribute prevents every character from being displayed on a newline.
In this case, we use a predefined function that repeats character.
xxxxxxxxxx
1
2
3
function repeat_character()
4
{
5
local count="$1"
6
local character="$2"
7
8
for (( i = 0; i < "$count"; ++i ))
9
do
10
echo -n "$character"
11
done
12
}
13
14
15
# Usage example:
16
17
repeat_character 10 "+"
18
repeat_character 10 "^"
Output:
xxxxxxxxxx
1
++++++++++
2
^^^^^^^^^^
In this section, we use a text variable that collects repeated characters.
xxxxxxxxxx
1
2
3
character="+"
4
5
text=""
6
for i in {1..10}
7
do
8
text="${text}${character}"
9
done
10
11
echo "$text"
Output:
xxxxxxxxxx
1
++++++++++
xxxxxxxxxx
1
2
3
count=10
4
character="+"
5
6
text=""
7
for (( i = 0; i < "$count"; ++i ))
8
do
9
text="${text}${character}"
10
done
11
12
echo "$text"
Output:
xxxxxxxxxx
1
++++++++++