从 bash 中字符串的位置剪切字符
Cut characters from position from string in bash
我有以下字符串,它的长度始终为 35 个字符:
S202SCTRXBAVCWPJAC001181204120000.N
我想剪掉3个字符(位置17-19),JAC在这种情况下,只保留
S202SCTRXBAVCWP001181204120000.N
有没有办法在 bash 中实现这一点?
strIn=S202SCTRXBAVCWPJAC001181204120000.N
strOut=${strIn:0:15}${strIn:18}
echo "$strOut"
...仅使用 bash-内置功能来发出:
S202SCTRXBAVCWP001181204120000.N
...因为它发出从位置 0 开始的前 15 个字符,然后是位置 18 之后的所有字符。
同意 Charles Duffy 的回答。如果你知道你特别想要 "JAC" 而不是你想要删除的索引,你可以这样做:
str="S202SCTRXBAVCWPJAC001181204120000.N"
echo "${str/JAC/}"
我有以下字符串,它的长度始终为 35 个字符:
S202SCTRXBAVCWPJAC001181204120000.N
我想剪掉3个字符(位置17-19),JAC在这种情况下,只保留
S202SCTRXBAVCWP001181204120000.N
有没有办法在 bash 中实现这一点?
strIn=S202SCTRXBAVCWPJAC001181204120000.N
strOut=${strIn:0:15}${strIn:18}
echo "$strOut"
...仅使用 bash-内置功能来发出:
S202SCTRXBAVCWP001181204120000.N
...因为它发出从位置 0 开始的前 15 个字符,然后是位置 18 之后的所有字符。
同意 Charles Duffy 的回答。如果你知道你特别想要 "JAC" 而不是你想要删除的索引,你可以这样做:
str="S202SCTRXBAVCWPJAC001181204120000.N"
echo "${str/JAC/}"