场景:
#!/usr/bash/ksh
source_dir=/usr/idmp/bbp/
filename = "SURH00000321312"
insertText = `IDD`
我希望结果如SUIDDRH00000321312
。如何将insertText
变量添加到文件名中。
答案 0 :(得分:1)
这就是你所要求的:
$ new=${filename:0:2}$insertText${filename:2}
$ echo "$new"
SUIDDRH00000321312
这可以通过从偏移量开始选择变量filename
的子串并通过shell形式继续一段长度来实现:${parameter:offset:length}
子字符串展开works under ksh
,bash
和zsh
,但不是dash
或tcsh
。
答案 1 :(得分:1)
来自sed的替代方式:
new_name=$(echo SURH00000321312 |sed -r 's/(.)(.)/\1\2IDD/')
echo $new_name
SUIDDRH00000321312