我在 bash 中有以下字符串
str="kallel"
我想str
从str2
. str2
包含重复,str
直到长度 = 20。所以结果应该是这样的:
str2="kallelkallelkallelka"
如何在 bash 中进行操作?
$ str="kallel"
$ str2=$(printf "$str%.0s" {1..20})
$ echo "$str2"
kallelkallelkallelkallelkallelkallelkallelkallelkallelkallelkallelkallelkallelkallelkallelkallelkallelkallelkallelkallel
$ str2=$(printf "$str%.0s" {1..3})
$ echo "$str2"
kallelkallelkallel
$ n=5
$ str2=$(printf "$str%.0s" $(seq "$n"))
$ echo "$str2"
kallelkallelkallelkallelkallel
这应该有效:
str="kallel"
str2="${str}"
while (( ${#str2} < 20 ))
do
str2="${str2}${str}"
done
str2="${str2:0:20}"
我会亲自去一段时间循环,然后在最后剪掉它。
当 的长度str2
小于 20 时,添加str
到str2
. 然后,为了更好地衡量,我们在最后削减到最多 20 个字符。
#!/bin/bash
str="kallel"
str2=""
while [ ${#str2} -le 20 ]
do
str2=$str2$str
done
str2=`echo $str2 | cut -c1-20`
我 100% 从Bash 窃取了这个答案:重复一个字符串变量 n 次,但我认为它很无聊(尽管是一个 6 岁的问题):
$ yes "kallel" | head -20 | xargs | sed 's/ //g' | cut -c1-20
kallelkallelkallelka