将大字符串拆分为子字符串

我有一个巨大的字符串:

ABCDEFGHIJKLM…

我想以这种方式将它分成长度为5的子串:

>1
ABCDE
>2
BCDEF
>3
CDEFG

[…]

UPDATE

解:
好的,多亏你们,我能找到快速做到这一点的方法!这是我的解决方案,结合了这里的一些想法:

str=”ABCDEFGHIJKLMnop
splitfive(){ echo $1 | cut -c $2- |sed -r ‘s/(.{5})/\1\n/g’ ; }
for (( i=0 ; i <= 5 ; i++ )) ; do splitfive “$str” $i ; done | grep -v “^$”

${string:position:length}

从$position的$string中提取子字符串的$length字符.

stringZ=abcABC123ABCabc
#       0123456789.....
#       0-based indexing.

echo ${stringZ:0}                            # abcABC123ABCabc
echo ${stringZ:1}                            # bcABC123ABCabc
echo ${stringZ:7}                            # 23ABCabc

echo ${stringZ:0:5}                          # abcAB
                                             # Five characters of substring.

然后使用循环遍历并向该位置添加1以提取长度为5的每个子字符串.

for i in seq 0 ${#stringZ}; do
    echo ${stringZ:$i:5}
done

全部来自Bash string manipulation

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...