从bash中的字符串位置剪切字符

时间:2018-12-04 22:03:00

标签: linux string bash cut

我有以下字符串,该字符串始终为35个字符:

S202SCTRXBAVCWPJAC001181204120000.N

在这种情况下,我想剪切3个字符(位置17-19), JAC ,仅保留

S202SCTRXBAVCWP001181204120000.N

有没有办法在bash中实现这一目标?

2 个答案:

答案 0 :(得分:3)

strIn=S202SCTRXBAVCWPJAC001181204120000.N
strOut=${strIn:0:15}${strIn:18}
echo "$strOut"

...仅使用bash内置功能来发出:

S202SCTRXBAVCWP001181204120000.N

...因为它发出从位置0开始的前15个字符,然后是位置18之后的所有字符。

答案 1 :(得分:0)

同意查尔斯·达菲(Charles Duffy)的回答。如果您知道要特定的“ JAC”而不是要删除的索引,则可以执行以下操作:

str="S202SCTRXBAVCWPJAC001181204120000.N"
echo "${str/JAC/}"